1dee9bc800
# Introduction Following https://github.com/twentyhq/twenty/pull/13264 > After this PR merge will create a new one removing the type and replacing it to FieldMetadataEntity. This is it !
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
import { FieldMetadataType } from 'twenty-shared/types';
|
|
|
|
import { FieldStandardOverridesDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-standard-overrides.dto';
|
|
import { UpdateFieldInput } from 'src/engine/metadata-modules/field-metadata/dtos/update-field.input';
|
|
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
|
|
|
export const buildUpdatableStandardFieldInput = (
|
|
fieldMetadataInput: UpdateFieldInput,
|
|
existingFieldMetadata: Pick<
|
|
FieldMetadataEntity,
|
|
'type' | 'isNullable' | 'defaultValue' | 'options'
|
|
>,
|
|
) => {
|
|
const updatableStandardFieldInput: UpdateFieldInput & {
|
|
standardOverrides?: FieldStandardOverridesDTO;
|
|
} = {
|
|
id: fieldMetadataInput.id,
|
|
isActive: fieldMetadataInput.isActive,
|
|
workspaceId: fieldMetadataInput.workspaceId,
|
|
defaultValue: fieldMetadataInput.defaultValue,
|
|
settings: fieldMetadataInput.settings,
|
|
isLabelSyncedWithName: fieldMetadataInput.isLabelSyncedWithName,
|
|
};
|
|
|
|
if ('standardOverrides' in fieldMetadataInput) {
|
|
updatableStandardFieldInput.standardOverrides =
|
|
fieldMetadataInput.standardOverrides as FieldStandardOverridesDTO;
|
|
}
|
|
|
|
if (
|
|
existingFieldMetadata.type === FieldMetadataType.SELECT ||
|
|
existingFieldMetadata.type === FieldMetadataType.MULTI_SELECT
|
|
) {
|
|
return {
|
|
...updatableStandardFieldInput,
|
|
options: fieldMetadataInput.options,
|
|
};
|
|
}
|
|
|
|
return updatableStandardFieldInput;
|
|
};
|