## Context Fixes #5403 Transliteration is now integrated to form validation through the schema. While it does not impede inputting an invalid value, it impedes submitting a form that will fail as the transliteration is not possible. Until then we were only performing the transliteration at save time in the front-end, but it's best to provide the information as soon as possible. Later we will add helpers to guide the user (eg "This name is not valid": https://github.com/twentyhq/twenty/issues/5428). --------- Co-authored-by: Charles Bochet <charles@twenty.com>
25 lines
901 B
TypeScript
25 lines
901 B
TypeScript
import { objectMetadataItemSchema } from '@/object-metadata/validation-schemas/objectMetadataItemSchema';
|
|
import { UpdateObjectPayload } from '~/generated-metadata/graphql';
|
|
import { computeMetadataNameFromLabelOrThrow } from '~/pages/settings/data-model/utils/compute-metadata-name-from-label.utils';
|
|
|
|
export const settingsUpdateObjectInputSchema = objectMetadataItemSchema
|
|
.pick({
|
|
description: true,
|
|
icon: true,
|
|
imageIdentifierFieldMetadataId: true,
|
|
isActive: true,
|
|
labelIdentifierFieldMetadataId: true,
|
|
labelPlural: true,
|
|
labelSingular: true,
|
|
})
|
|
.partial()
|
|
.transform<UpdateObjectPayload>((value) => ({
|
|
...value,
|
|
nameSingular: value.labelSingular
|
|
? computeMetadataNameFromLabelOrThrow(value.labelSingular)
|
|
: undefined,
|
|
namePlural: value.labelPlural
|
|
? computeMetadataNameFromLabelOrThrow(value.labelPlural)
|
|
: undefined,
|
|
}));
|