Files
twenty/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/prepare-custom-field-metadata-for-options.util.ts
2025-07-08 12:23:28 +02:00

24 lines
835 B
TypeScript

import { v4 } from 'uuid';
import {
FieldMetadataComplexOption,
FieldMetadataDefaultOption,
} from 'src/engine/metadata-modules/field-metadata/dtos/options.input';
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { trimAndRemoveDuplicatedWhitespacesFromObjectStringProperties } from 'src/utils/trim-and-remove-duplicated-whitespaces-from-object-string-properties';
export const prepareCustomFieldMetadataOptions = (
options: FieldMetadataDefaultOption[] | FieldMetadataComplexOption[],
): undefined | Pick<FieldMetadataEntity, 'options'> => {
return {
options: options.map((option) => ({
id: v4(),
...trimAndRemoveDuplicatedWhitespacesFromObjectStringProperties(option, [
'label',
'value',
'id',
]),
})),
};
};