[fix] Support non latin characters in schema names (#5063)

Fixes #4943

## How was it tested?
Local (front + /metadata)
Unit tests for utils

---------

Co-authored-by: Weiko <corentin@twenty.com>
This commit is contained in:
Marie
2024-04-23 13:37:29 +02:00
committed by GitHub
parent 824786ff04
commit ff39ba5a15
16 changed files with 236 additions and 13 deletions

View File

@ -24,6 +24,8 @@ import {
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util';
import { generateMigrationName } from 'src/engine/metadata-modules/workspace-migration/utils/generate-migration-name.util';
import { InvalidStringException } from 'src/engine/metadata-modules/errors/InvalidStringException';
import { validateMetadataName } from 'src/engine/metadata-modules/utils/validate-metadata-name.utils';
import {
RelationMetadataEntity,
@ -51,6 +53,20 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
relationMetadataInput,
);
try {
validateMetadataName(relationMetadataInput.fromName);
validateMetadataName(relationMetadataInput.toName);
} catch (error) {
if (error instanceof InvalidStringException) {
console.error(error.message);
throw new BadRequestException(
`Characters used in name "${relationMetadataInput.fromName}" or "${relationMetadataInput.toName}" are not supported`,
);
} else {
throw error;
}
}
await this.validateCreateRelationMetadataInput(
relationMetadataInput,
objectMetadataMap,