feat: create custom object and update edited object names (#2220)

Closes #2155, Closes #2153
This commit is contained in:
Thaïs
2023-10-26 11:04:16 +02:00
committed by GitHub
parent 0b33880cc9
commit 2b1945a3e1
22 changed files with 214 additions and 73 deletions

View File

@ -0,0 +1,18 @@
import toCamelCase from 'lodash.camelcase';
import upperFirst from 'lodash.upperfirst';
import { MetadataObject } from '../types/MetadataObject';
export const formatMetadataObjectInput = (
input: Pick<
MetadataObject,
'labelPlural' | 'labelSingular' | 'icon' | 'description'
>,
) => ({
description: input.description?.trim() ?? null,
icon: input.icon,
labelPlural: input.labelPlural.trim(),
labelSingular: input.labelSingular.trim(),
namePlural: upperFirst(toCamelCase(input.labelPlural.trim())),
nameSingular: upperFirst(toCamelCase(input.labelSingular.trim())),
});

View File

@ -0,0 +1,7 @@
import toKebabCase from 'lodash.kebabcase';
import { MetadataObject } from '../types/MetadataObject';
export const getObjectSlug = (
metadataObject: Pick<MetadataObject, 'labelPlural'>,
) => toKebabCase(metadataObject.labelPlural);

View File

@ -0,0 +1,4 @@
const metadataObjectLabelValidationPattern = /^[a-zA-Z][a-zA-Z0-9 ]*$/;
export const validateMetadataObjectLabel = (value: string) =>
!!value.match(metadataObjectLabelValidationPattern);