## Context
The recent addition of object renaming introduced issues with enum
names. Enum names should follow the pattern
`${schemaName}.${tableName}_${columnName}_enum`. To address this, and to
allow users to customize the API name (which is included in the enum
name, columnName), this PR implements behavior similar to object
renaming by introducing a `isLabelSyncedWithName` boolean.
<img width="624" alt="Screenshot 2024-12-02 at 11 58 49"
src="https://github.com/user-attachments/assets/690fb71c-83f0-4922-80c0-946c92dacc30">
<img width="596" alt="Screenshot 2024-12-02 at 11 58 39"
src="https://github.com/user-attachments/assets/af9a0037-7cf5-40c3-9ed5-d51b340c8087">
30 lines
679 B
TypeScript
30 lines
679 B
TypeScript
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
|
|
|
|
export const formatFieldMetadataItemInput = (
|
|
input: Partial<
|
|
Pick<
|
|
FieldMetadataItem,
|
|
| 'name'
|
|
| 'label'
|
|
| 'icon'
|
|
| 'description'
|
|
| 'defaultValue'
|
|
| 'type'
|
|
| 'options'
|
|
| 'settings'
|
|
| 'isLabelSyncedWithName'
|
|
>
|
|
>,
|
|
) => {
|
|
return {
|
|
defaultValue: input.defaultValue,
|
|
description: input.description?.trim() ?? null,
|
|
icon: input.icon,
|
|
label: input.label?.trim(),
|
|
name: input.name?.trim(),
|
|
options: input.options,
|
|
settings: input.settings,
|
|
isLabelSyncedWithName: input.isLabelSyncedWithName,
|
|
};
|
|
};
|