feat: add targetFieldMetadataId and migration script for relations (#9793)

Fix https://github.com/twentyhq/core-team-issues/issues/238 and
https://github.com/twentyhq/core-team-issues/issues/239
This commit is contained in:
Jérémy M
2025-01-22 17:01:54 +01:00
committed by GitHub
parent 984dc4dec0
commit b662609948
9 changed files with 260 additions and 0 deletions

View File

@ -1,5 +1,8 @@
import { FieldMetadataType } from 'twenty-shared';
import { RelationOnDeleteAction } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-on-delete-action.interface';
import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface';
export enum NumberDataType {
FLOAT = 'float',
INT = 'int',
@ -30,11 +33,17 @@ export type FieldMetadataDateTimeSettings = {
displayAsRelativeDate?: boolean;
};
export type FieldMetadataRelationSettings = {
relationType: RelationType;
onDelete?: RelationOnDeleteAction;
};
type FieldMetadataSettingsMapping = {
[FieldMetadataType.NUMBER]: FieldMetadataNumberSettings;
[FieldMetadataType.DATE]: FieldMetadataDateSettings;
[FieldMetadataType.DATE_TIME]: FieldMetadataDateTimeSettings;
[FieldMetadataType.TEXT]: FieldMetadataTextSettings;
[FieldMetadataType.RELATION]: FieldMetadataRelationSettings;
};
type SettingsByFieldMetadata<T extends FieldMetadataType | 'default'> =

View File

@ -0,0 +1,6 @@
export enum RelationOnDeleteAction {
CASCADE = 'CASCADE',
RESTRICT = 'RESTRICT',
SET_NULL = 'SET_NULL',
NO_ACTION = 'NO_ACTION',
}

View File

@ -0,0 +1,5 @@
export enum RelationType {
ONE_TO_ONE = 'ONE_TO_ONE',
ONE_TO_MANY = 'ONE_TO_MANY',
MANY_TO_ONE = 'MANY_TO_ONE',
}