Files
twenty/packages/twenty-server/src/engine/metadata-modules/utils/get-object-metadata-entity-from-object-metadata-item-with-fields-map.util.ts
T
Etienne 7ce96049b8 Unique field - add unique property creation/deletion on field (#13539)
Done : 
- add isUnique prop availability on gql update/create fieldMetadata
resolvers
- add unique index creation logic at update & creation
- add unique index deletion logic at update
- update unique index if field name updated
- edge cases : can't have default value and unique fields / standard
default value excluded from index (where clause) / can't have composite
unique fields / can't create unique fields on MORPH


closes https://github.com/twentyhq/core-team-issues/issues/1222
2025-08-08 17:42:50 +02:00

18 lines
628 B
TypeScript

import omit from 'lodash.omit';
import { type ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
import { type ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps';
export const getObjectMetadataEntityFromObjectMetadataItemWithFieldsMap = (
objectMetadataItem: ObjectMetadataItemWithFieldMaps,
): ObjectMetadataEntity => {
return {
...omit(objectMetadataItem, [
'fieldsById',
'fieldIdByName',
'fieldIdByJoinColumnName',
]),
fields: Object.values(objectMetadataItem.fieldsById),
};
};