Refacto default value (#6507)

A quick followup of #6506 to add clarity and differentiate emptyValue
from defaultValue
This commit is contained in:
Félix Malfait
2024-08-03 16:43:53 +02:00
committed by GitHub
parent 6432ad39b9
commit 5f88caf409
6 changed files with 52 additions and 42 deletions

View File

@ -0,0 +1,27 @@
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
import { isFieldValueEmpty } from '@/object-record/record-field/utils/isFieldValueEmpty';
import { generateEmptyFieldValue } from '@/object-record/utils/generateEmptyFieldValue';
import { v4 } from 'uuid';
export const generateDefaultFieldValue = (
fieldMetadataItem: Pick<
FieldMetadataItem,
'defaultValue' | 'type' | 'fromRelationMetadata'
>,
) => {
const defaultValue = isFieldValueEmpty({
fieldValue: fieldMetadataItem.defaultValue,
fieldDefinition: fieldMetadataItem,
})
? generateEmptyFieldValue(fieldMetadataItem)
: fieldMetadataItem.defaultValue;
switch (defaultValue) {
case 'uuid':
return v4();
case 'now':
return new Date().toISOString();
default:
return defaultValue;
}
};

View File

@ -4,7 +4,7 @@ import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
import { FieldMetadataType } from '~/generated-metadata/graphql';
export const generateEmptyFieldValue = (
fieldMetadataItem: FieldMetadataItem,
fieldMetadataItem: Pick<FieldMetadataItem, 'type' | 'fromRelationMetadata'>,
) => {
switch (fieldMetadataItem.type) {
case FieldMetadataType.Email:

View File

@ -2,7 +2,7 @@ import { isUndefined } from '@sniptt/guards';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
import { generateEmptyFieldValue } from '@/object-record/utils/generateEmptyFieldValue';
import { generateDefaultFieldValue } from '@/object-record/utils/generateDefaultFieldValue';
import { isDefined } from '~/utils/isDefined';
export const prefillRecord = <T extends ObjectRecord>({
@ -20,7 +20,7 @@ export const prefillRecord = <T extends ObjectRecord>({
return [
fieldMetadataItem.name,
isUndefined(inputValue)
? generateEmptyFieldValue(fieldMetadataItem)
? generateDefaultFieldValue(fieldMetadataItem)
: inputValue,
];
})