chore: update codegen config for enum naming convention (#9751)

Co-authored-by: etiennejouan <jouan.etienne@gmail.com>
This commit is contained in:
Etienne
2025-01-21 11:34:33 +01:00
committed by GitHub
parent d4b038f24a
commit e1731bb31e
222 changed files with 1245 additions and 1235 deletions

View File

@ -60,9 +60,9 @@ export const getRecordNodeFromRecord = <T extends ObjectRecord>({
}
if (
field.type === FieldMetadataType.Relation &&
field.type === FieldMetadataType.RELATION &&
field.relationDefinition?.direction ===
RelationDefinitionType.OneToMany
RelationDefinitionType.ONE_TO_MANY
) {
const oneToManyObjectMetadataItem = objectMetadataItems.find(
(item) =>
@ -93,7 +93,7 @@ export const getRecordNodeFromRecord = <T extends ObjectRecord>({
}
switch (field.type) {
case FieldMetadataType.Relation: {
case FieldMetadataType.RELATION: {
if (
isUndefined(
field.relationDefinition?.targetObjectMetadata.nameSingular,
@ -131,10 +131,10 @@ export const getRecordNodeFromRecord = <T extends ObjectRecord>({
},
];
}
case FieldMetadataType.Links:
case FieldMetadataType.Address:
case FieldMetadataType.FullName:
case FieldMetadataType.Currency: {
case FieldMetadataType.LINKS:
case FieldMetadataType.ADDRESS:
case FieldMetadataType.FULL_NAME:
case FieldMetadataType.CURRENCY: {
return [
fieldName,
{

View File

@ -1,7 +1,7 @@
import { FieldMetadataType } from '~/generated-metadata/graphql';
export const FIELD_NOT_OVERWRITTEN_AT_DRAFT = [
FieldMetadataType.Address,
FieldMetadataType.Phones,
FieldMetadataType.Links,
FieldMetadataType.ADDRESS,
FieldMetadataType.PHONES,
FieldMetadataType.LINKS,
];

View File

@ -25,7 +25,7 @@ const mockObjectMetadataItem: ObjectMetadataItem = {
id: 'field-1',
name: 'amount',
label: 'Amount',
type: FieldMetadataType.Number,
type: FieldMetadataType.NUMBER,
isCustom: false,
isActive: true,
createdAt: new Date().toISOString(),
@ -35,7 +35,7 @@ const mockObjectMetadataItem: ObjectMetadataItem = {
id: 'field-2',
name: 'name',
label: 'Name',
type: FieldMetadataType.Text,
type: FieldMetadataType.TEXT,
isCustom: false,
isActive: true,
createdAt: new Date().toISOString(),

View File

@ -41,7 +41,7 @@ export const ObjectFilterDropdownDateInput = () => {
);
const isDateTimeInput =
filterDefinitionUsedInDropdown?.type === FieldMetadataType.DateTime;
filterDefinitionUsedInDropdown?.type === FieldMetadataType.DATE_TIME;
const handleAbsoluteDateChange = (newDate: Date | null) => {
setInternalDate(newDate);

View File

@ -48,7 +48,7 @@ const meta: Meta<typeof MultipleFiltersDropdownButton> = {
fieldMetadataId: '1',
iconName: 'IconUser',
label: 'Text',
type: FieldMetadataType.Text,
type: FieldMetadataType.TEXT,
isVisible: true,
metadata: {
fieldName: 'text',
@ -58,7 +58,7 @@ const meta: Meta<typeof MultipleFiltersDropdownButton> = {
fieldMetadataId: '3',
iconName: 'IconNumber',
label: 'Number',
type: FieldMetadataType.Number,
type: FieldMetadataType.NUMBER,
isVisible: true,
metadata: {
fieldName: 'number',
@ -68,7 +68,7 @@ const meta: Meta<typeof MultipleFiltersDropdownButton> = {
fieldMetadataId: '4',
iconName: 'IconCalendar',
label: 'Date',
type: FieldMetadataType.DateTime,
type: FieldMetadataType.DATE_TIME,
isVisible: true,
metadata: {
fieldName: 'date',
@ -81,19 +81,19 @@ const meta: Meta<typeof MultipleFiltersDropdownButton> = {
fieldMetadataId: '1',
iconName: 'IconUser',
label: 'Text',
type: FieldMetadataType.Text,
type: FieldMetadataType.TEXT,
},
{
fieldMetadataId: '3',
iconName: 'IconNumber',
label: 'Number',
type: FieldMetadataType.Number,
type: FieldMetadataType.NUMBER,
},
{
fieldMetadataId: '3',
iconName: 'IconCalendar',
label: 'Date',
type: FieldMetadataType.DateTime,
type: FieldMetadataType.DATE_TIME,
},
]);
return (

View File

@ -74,7 +74,7 @@ export const ObjectOptionsDropdownRecordGroupFieldsContent = () => {
objectNamePlural,
},
{
fieldType: FieldMetadataType.Select,
fieldType: FieldMetadataType.SELECT,
},
);

View File

@ -7,8 +7,8 @@ jest.mock('@/object-metadata/hooks/useObjectMetadataItem', () => ({
useObjectMetadataItem: jest.fn(() => ({
objectMetadataItem: {
fields: [
{ type: FieldMetadataType.Currency, name: 'price' },
{ type: FieldMetadataType.Text, name: 'name' },
{ type: FieldMetadataType.CURRENCY, name: 'price' },
{ type: FieldMetadataType.TEXT, name: 'name' },
],
},
})),

View File

@ -26,9 +26,9 @@ describe('useSearchRecordGroupField', () => {
const mockContextValue = {
objectMetadataItem: {
fields: [
{ type: FieldMetadataType.Select, label: 'First' },
{ type: FieldMetadataType.Select, label: 'Second' },
{ type: FieldMetadataType.Text, label: 'Third' },
{ type: FieldMetadataType.SELECT, label: 'First' },
{ type: FieldMetadataType.SELECT, label: 'Second' },
{ type: FieldMetadataType.TEXT, label: 'Third' },
],
},
};
@ -40,7 +40,7 @@ describe('useSearchRecordGroupField', () => {
});
expect(result.current.filteredRecordGroupFieldMetadataItems).toEqual([
{ type: FieldMetadataType.Select, label: 'First' },
{ type: FieldMetadataType.SELECT, label: 'First' },
]);
});
@ -48,9 +48,9 @@ describe('useSearchRecordGroupField', () => {
const mockContextValue = {
objectMetadataItem: {
fields: [
{ type: FieldMetadataType.Select, label: 'First' },
{ type: FieldMetadataType.Select, label: 'Second' },
{ type: FieldMetadataType.Text, label: 'Third' },
{ type: FieldMetadataType.SELECT, label: 'First' },
{ type: FieldMetadataType.SELECT, label: 'Second' },
{ type: FieldMetadataType.TEXT, label: 'Third' },
],
},
};
@ -58,8 +58,8 @@ describe('useSearchRecordGroupField', () => {
const { result } = renderWithContext(mockContextValue);
expect(result.current.filteredRecordGroupFieldMetadataItems).toEqual([
{ type: FieldMetadataType.Select, label: 'First' },
{ type: FieldMetadataType.Select, label: 'Second' },
{ type: FieldMetadataType.SELECT, label: 'First' },
{ type: FieldMetadataType.SELECT, label: 'Second' },
]);
});
});

View File

@ -19,7 +19,7 @@ export const useExportProcessRecordsForCSV = (objectNameSingular: string) => {
}
switch (field.type) {
case FieldMetadataType.Currency:
case FieldMetadataType.CURRENCY:
return {
...processedRecord,
[field.name]: {
@ -29,7 +29,7 @@ export const useExportProcessRecordsForCSV = (objectNameSingular: string) => {
currencyCode: record[field.name].currencyCode,
} satisfies FieldCurrencyValue,
};
case FieldMetadataType.RawJson:
case FieldMetadataType.RAW_JSON:
return {
...processedRecord,
[field.name]: JSON.stringify(record[field.name]),

View File

@ -16,7 +16,7 @@ export const useSearchRecordGroupField = () => {
return objectMetadataItem.fields.filter(
(field) =>
field.type === FieldMetadataType.Select &&
field.type === FieldMetadataType.SELECT &&
field.label.toLocaleLowerCase().includes(searchInputLowerCase),
);
}, [objectMetadataItem.fields, recordGroupFieldSearchInput]);

View File

@ -93,7 +93,7 @@ export const useAddNewCard = () => {
throw new Error('Label identifier field not found');
}
if (labelIdentifierField.type === FieldMetadataType.FullName) {
if (labelIdentifierField.type === FieldMetadataType.FULL_NAME) {
computedLabelIdentifierValue = {
firstName: labelValue,
lastName: '',

View File

@ -26,17 +26,17 @@ describe('buildRecordGqlFieldsAggregateForView', () => {
{
id: MOCK_FIELD_ID,
name: 'amount',
type: FieldMetadataType.Number,
type: FieldMetadataType.NUMBER,
} as FieldMetadataItem,
{
id: '06b33746-5293-4d07-9f7f-ebf5ad396064',
name: 'name',
type: FieldMetadataType.Text,
type: FieldMetadataType.TEXT,
} as FieldMetadataItem,
{
id: 'e46b9ba4-144b-4d10-a092-03a7521c8aa0',
name: 'createdAt',
type: FieldMetadataType.DateTime,
type: FieldMetadataType.DATE_TIME,
} as FieldMetadataItem,
],
indexMetadatas: [],

View File

@ -19,7 +19,7 @@ describe('computeAggregateValueAndLabel', () => {
id: MOCK_FIELD_ID,
name: 'amount',
label: 'amount',
type: FieldMetadataType.Currency,
type: FieldMetadataType.CURRENCY,
} as FieldMetadataItem,
],
} as ObjectMetadataItem;
@ -74,7 +74,7 @@ describe('computeAggregateValueAndLabel', () => {
id: MOCK_FIELD_ID,
name: 'percentage',
label: 'percentage',
type: FieldMetadataType.Number,
type: FieldMetadataType.NUMBER,
settings: {
type: 'percentage',
},
@ -112,7 +112,7 @@ describe('computeAggregateValueAndLabel', () => {
id: MOCK_FIELD_ID,
name: 'decimals',
label: 'decimals',
type: FieldMetadataType.Number,
type: FieldMetadataType.NUMBER,
settings: {
decimals: 2,
},
@ -150,7 +150,7 @@ describe('computeAggregateValueAndLabel', () => {
id: MOCK_FIELD_ID,
name: 'createdAt',
label: 'Created At',
type: FieldMetadataType.DateTime,
type: FieldMetadataType.DATE_TIME,
} as FieldMetadataItem,
],
} as ObjectMetadataItem;
@ -185,7 +185,7 @@ describe('computeAggregateValueAndLabel', () => {
id: MOCK_FIELD_ID,
name: 'updatedAt',
label: 'Updated At',
type: FieldMetadataType.DateTime,
type: FieldMetadataType.DATE_TIME,
} as FieldMetadataItem,
],
} as ObjectMetadataItem;

View File

@ -79,13 +79,13 @@ export const computeAggregateValueAndLabel = ({
value = `${formatNumber(Number(aggregateValue) * 100)}%`;
} else {
switch (field.type) {
case FieldMetadataType.Currency: {
case FieldMetadataType.CURRENCY: {
value = Number(aggregateValue);
value = formatAmount(value / 1_000_000);
break;
}
case FieldMetadataType.Number: {
case FieldMetadataType.NUMBER: {
value = Number(aggregateValue);
const { decimals, type } = field.settings ?? {};
value =
@ -95,7 +95,7 @@ export const computeAggregateValueAndLabel = ({
break;
}
case FieldMetadataType.DateTime: {
case FieldMetadataType.DATE_TIME: {
value = aggregateValue as string;
value = formatDateTimeString({
value,
@ -107,7 +107,7 @@ export const computeAggregateValueAndLabel = ({
break;
}
case FieldMetadataType.Date: {
case FieldMetadataType.DATE: {
value = aggregateValue as string;
value = formatDateString({
value,

View File

@ -1,11 +1,11 @@
import { formatFieldMetadataItemAsFieldDefinition } from '@/object-metadata/utils/formatFieldMetadataItemAsFieldDefinition';
import { FieldDefinition } from '@/object-record/record-field/types/FieldDefinition';
import {
FieldActorMetadata,
FieldFullNameMetadata,
FieldRatingMetadata,
FieldSelectMetadata,
FieldTextMetadata,
FieldActorMetadata,
FieldFullNameMetadata,
FieldRatingMetadata,
FieldSelectMetadata,
FieldTextMetadata,
} from '@/object-record/record-field/types/FieldMetadata';
import { FieldMetadataType } from '~/generated-metadata/graphql';
import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems';
@ -17,7 +17,7 @@ export const textfieldDefinition: FieldDefinition<FieldTextMetadata> = {
label: 'User Name',
iconName: 'User',
defaultValue: '',
type: FieldMetadataType.Text,
type: FieldMetadataType.TEXT,
metadata: { placeHolder: 'John Doe', fieldName: 'userName' },
};
@ -44,7 +44,7 @@ export const selectFieldDefinition: FieldDefinition<FieldSelectMetadata> = {
fieldMetadataId,
label: 'Account Owner',
iconName: 'iconName',
type: FieldMetadataType.Select,
type: FieldMetadataType.SELECT,
defaultValue: null,
metadata: {
fieldName: 'accountOwner',
@ -57,7 +57,7 @@ export const fullNameFieldDefinition: FieldDefinition<FieldFullNameMetadata> = {
fieldMetadataId,
label: 'Display Name',
iconName: 'profile',
type: FieldMetadataType.FullName,
type: FieldMetadataType.FULL_NAME,
defaultValue: { firstName: '', lastName: '' },
metadata: {
fieldName: 'displayName',
@ -77,7 +77,7 @@ export const ratingFieldDefinition: FieldDefinition<FieldRatingMetadata> = {
fieldMetadataId,
label: 'Rating',
iconName: 'iconName',
type: FieldMetadataType.Rating,
type: FieldMetadataType.RATING,
defaultValue: null,
metadata: {
fieldName: 'rating',
@ -104,7 +104,7 @@ export const actorFieldDefinition: FieldDefinition<FieldActorMetadata> = {
fieldMetadataId,
label: 'Created By',
iconName: 'restart',
type: FieldMetadataType.Actor,
type: FieldMetadataType.ACTOR,
defaultValue: { source: 'MANUAL', name: '' },
metadata: {
fieldName: 'actor',

View File

@ -211,7 +211,7 @@ export const relationFromManyFieldDisplayMock = {
objectMetadataNameSingular: 'person',
options: null,
},
type: FieldMetadataType.Relation,
type: FieldMetadataType.RELATION,
iconName: 'IconUsers',
defaultValue: null,
editButtonIcon: {

View File

@ -16,7 +16,7 @@ export const useAddressField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(
FieldMetadataType.Address,
FieldMetadataType.ADDRESS,
isFieldAddress,
fieldDefinition,
);

View File

@ -12,7 +12,7 @@ import { FieldMetadataType } from '~/generated-metadata/graphql';
export const useArrayField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Array, isFieldArray, fieldDefinition);
assertFieldMetadata(FieldMetadataType.ARRAY, isFieldArray, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -12,7 +12,7 @@ export const useBooleanField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(
FieldMetadataType.Boolean,
FieldMetadataType.BOOLEAN,
isFieldBoolean,
fieldDefinition,
);

View File

@ -17,7 +17,7 @@ export const useCurrencyField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(
FieldMetadataType.Currency,
FieldMetadataType.CURRENCY,
isFieldCurrency,
fieldDefinition,
);

View File

@ -14,7 +14,7 @@ export const useDateField = () => {
const { recordId, fieldDefinition, hotkeyScope, clearable } =
useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Date, isFieldDate, fieldDefinition);
assertFieldMetadata(FieldMetadataType.DATE, isFieldDate, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -15,7 +15,7 @@ export const useDateTimeField = () => {
useContext(FieldContext);
assertFieldMetadata(
FieldMetadataType.DateTime,
FieldMetadataType.DATE_TIME,
isFieldDateTime,
fieldDefinition,
);

View File

@ -15,7 +15,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata';
export const useEmailsField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Emails, isFieldEmails, fieldDefinition);
assertFieldMetadata(FieldMetadataType.EMAILS, isFieldEmails, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -16,7 +16,7 @@ export const useFullNameField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(
FieldMetadataType.FullName,
FieldMetadataType.FULL_NAME,
isFieldFullName,
fieldDefinition,
);

View File

@ -16,7 +16,7 @@ export const useJsonField = () => {
useContext(FieldContext);
assertFieldMetadata(
FieldMetadataType.RawJson,
FieldMetadataType.RAW_JSON,
isFieldRawJson,
fieldDefinition,
);

View File

@ -15,7 +15,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata';
export const useLinksField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Links, isFieldLinks, fieldDefinition);
assertFieldMetadata(FieldMetadataType.LINKS, isFieldLinks, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -15,7 +15,7 @@ export const useMultiSelectField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(
FieldMetadataType.MultiSelect,
FieldMetadataType.MULTI_SELECT,
isFieldMultiSelect,
fieldDefinition,
);

View File

@ -20,7 +20,7 @@ import { isFieldNumber } from '../../types/guards/isFieldNumber';
export const useNumberField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Number, isFieldNumber, fieldDefinition);
assertFieldMetadata(FieldMetadataType.NUMBER, isFieldNumber, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -10,7 +10,7 @@ import { isFieldNumber } from '../../types/guards/isFieldNumber';
export const useNumberFieldDisplay = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Number, isFieldNumber, fieldDefinition);
assertFieldMetadata(FieldMetadataType.NUMBER, isFieldNumber, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;
const fieldValue = useRecordFieldValue<number | null>(recordId, fieldName);

View File

@ -15,7 +15,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata';
export const usePhonesField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Phones, isFieldPhones, fieldDefinition);
assertFieldMetadata(FieldMetadataType.PHONES, isFieldPhones, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -12,7 +12,7 @@ import { isFieldRating } from '../../types/guards/isFieldRating';
export const useRatingField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Rating, isFieldRating, fieldDefinition);
assertFieldMetadata(FieldMetadataType.RATING, isFieldRating, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -19,7 +19,7 @@ export const useRelationField = <
const button = useGetButtonIcon();
assertFieldMetadata(
FieldMetadataType.Relation,
FieldMetadataType.RELATION,
isFieldRelation,
fieldDefinition,
);

View File

@ -25,7 +25,7 @@ export const useRelationFromManyFieldDisplay = () => {
}
assertFieldMetadata(
FieldMetadataType.Relation,
FieldMetadataType.RELATION,
isFieldRelation,
fieldDefinition,
);

View File

@ -25,7 +25,7 @@ export const useRelationToOneFieldDisplay = () => {
}
assertFieldMetadata(
FieldMetadataType.Relation,
FieldMetadataType.RELATION,
isFieldRelation,
fieldDefinition,
);

View File

@ -19,7 +19,7 @@ export const useRichTextField = () => {
useContext(FieldContext);
assertFieldMetadata(
FieldMetadataType.RichText,
FieldMetadataType.RICH_TEXT,
isFieldRichText,
fieldDefinition,
);

View File

@ -14,7 +14,7 @@ export const useRichTextFieldDisplay = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(
FieldMetadataType.RichText,
FieldMetadataType.RICH_TEXT,
isFieldRichText,
fieldDefinition,
);

View File

@ -15,7 +15,7 @@ import { isFieldSelectValue } from '../../types/guards/isFieldSelectValue';
export const useSelectField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Select, isFieldSelect, fieldDefinition);
assertFieldMetadata(FieldMetadataType.SELECT, isFieldSelect, fieldDefinition);
const { fieldName } = fieldDefinition.metadata;

View File

@ -15,7 +15,7 @@ export const useTextField = () => {
const { recordId, fieldDefinition, hotkeyScope, maxWidth } =
useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Text, isFieldText, fieldDefinition);
assertFieldMetadata(FieldMetadataType.TEXT, isFieldText, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -13,7 +13,7 @@ import { isFieldTextValue } from '../../types/guards/isFieldTextValue';
export const useUuidField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Uuid, isFieldUuid, fieldDefinition);
assertFieldMetadata(FieldMetadataType.UUID, isFieldUuid, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -29,7 +29,7 @@ export const ArrayFieldInput = ({
onCancel={onCancel}
onClickOutside={onClickOutside}
placeholder="Enter value"
fieldMetadataType={FieldMetadataType.Array}
fieldMetadataType={FieldMetadataType.ARRAY}
renderItem={({ value, index, handleEdit, handleDelete }) => (
<ArrayFieldMenuItem
key={index}

View File

@ -51,7 +51,7 @@ export const EmailsFieldInput = ({
onCancel={onCancel}
onClickOutside={onClickOutside}
placeholder="Email"
fieldMetadataType={FieldMetadataType.Emails}
fieldMetadataType={FieldMetadataType.EMAILS}
validateInput={validateInput}
renderItem={({
value: email,

View File

@ -55,7 +55,7 @@ export const LinksFieldInput = ({
onCancel={onCancel}
onClickOutside={onClickOutside}
placeholder="URL"
fieldMetadataType={FieldMetadataType.Links}
fieldMetadataType={FieldMetadataType.LINKS}
validateInput={(input) => ({
isValid: absoluteUrlSchema.safeParse(input).success,
errorMessage: '',

View File

@ -95,19 +95,19 @@ export const MultiItemFieldInput = <T,>({
const handleEditButtonClick = (index: number) => {
let item;
switch (fieldMetadataType) {
case FieldMetadataType.Links:
case FieldMetadataType.LINKS:
item = items[index] as { label: string; url: string };
setInputValue(item.url || '');
break;
case FieldMetadataType.Phones:
case FieldMetadataType.PHONES:
item = items[index] as PhoneRecord;
setInputValue(item.callingCode + item.number);
break;
case FieldMetadataType.Emails:
case FieldMetadataType.EMAILS:
item = items[index] as string;
setInputValue(item);
break;
case FieldMetadataType.Array:
case FieldMetadataType.ARRAY:
item = items[index] as string;
setInputValue(item);
break;

View File

@ -102,7 +102,7 @@ export const PhonesFieldInput = ({
onClickOutside={onClickOutside}
onCancel={onCancel}
placeholder="Phone"
fieldMetadataType={FieldMetadataType.Phones}
fieldMetadataType={FieldMetadataType.PHONES}
formatInput={(input) => {
const phone = parsePhoneNumber(input);
if (phone !== undefined) {

View File

@ -53,7 +53,7 @@ const AddressInputWithContext = ({
fieldDefinition={{
fieldMetadataId: 'text',
label: 'Address',
type: FieldMetadataType.Address,
type: FieldMetadataType.ADDRESS,
iconName: 'IconTag',
metadata: {
fieldName: 'Address',

View File

@ -45,7 +45,7 @@ const BooleanFieldInputWithContext = ({
fieldMetadataId: 'boolean',
label: 'Boolean',
iconName: 'Icon123',
type: FieldMetadataType.Boolean,
type: FieldMetadataType.BOOLEAN,
metadata: {
fieldName: 'Boolean',
objectMetadataNameSingular: 'person',

View File

@ -72,7 +72,7 @@ const DateFieldInputWithContext = ({
fieldMetadataId: 'date',
defaultValue: null,
label: 'Date',
type: FieldMetadataType.DateTime,
type: FieldMetadataType.DATE_TIME,
iconName: 'IconCalendarEvent',
metadata: {
fieldName: 'Date',

View File

@ -48,7 +48,7 @@ const NumberFieldInputWithContext = ({
fieldMetadataId: 'number',
label: 'Number',
iconName: 'Icon123',
type: FieldMetadataType.Number,
type: FieldMetadataType.NUMBER,
metadata: {
fieldName: 'number',
placeHolder: 'Enter number',

View File

@ -46,7 +46,7 @@ const RatingFieldInputWithContext = ({
fieldDefinition={{
fieldMetadataId: 'rating',
label: 'Rating',
type: FieldMetadataType.Rating,
type: FieldMetadataType.RATING,
iconName: 'Icon123',
metadata: {
fieldName: 'Rating',

View File

@ -46,7 +46,7 @@ const RelationManyFieldInputWithContext = () => {
fieldDefinition={{
fieldMetadataId: 'relation',
label: 'People',
type: FieldMetadataType.Relation,
type: FieldMetadataType.RELATION,
iconName: 'IconLink',
metadata: {
fieldName: 'people',

View File

@ -61,7 +61,7 @@ const RelationToOneFieldInputWithContext = ({
fieldDefinition={{
fieldMetadataId: 'relation',
label: 'Relation',
type: FieldMetadataType.Relation,
type: FieldMetadataType.RELATION,
iconName: 'IconLink',
metadata: {
fieldName: 'Relation',

View File

@ -47,7 +47,7 @@ const TextFieldInputWithContext = ({
fieldDefinition={{
fieldMetadataId: 'text',
label: 'Text',
type: FieldMetadataType.Text,
type: FieldMetadataType.TEXT,
iconName: 'IconTag',
metadata: {
fieldName: 'Text',

View File

@ -17,7 +17,7 @@ export const useUpdateRelationFromManyFieldInput = ({
const { recordId, fieldDefinition } = useContext(FieldContext);
assertFieldMetadata(
FieldMetadataType.Relation,
FieldMetadataType.RELATION,
isFieldRelation,
fieldDefinition,
);

View File

@ -6,4 +6,4 @@ import { FieldActorMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldActor = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldActorMetadata> =>
field.type === FieldMetadataType.Actor;
field.type === FieldMetadataType.ACTOR;

View File

@ -6,4 +6,4 @@ import { FieldAddressMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldAddress = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldAddressMetadata> =>
field.type === FieldMetadataType.Address;
field.type === FieldMetadataType.ADDRESS;

View File

@ -6,4 +6,4 @@ import { FieldArrayMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldArray = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldArrayMetadata> =>
field.type === FieldMetadataType.Array;
field.type === FieldMetadataType.ARRAY;

View File

@ -6,4 +6,4 @@ import { FieldBooleanMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldBoolean = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldBooleanMetadata> =>
field.type === FieldMetadataType.Boolean;
field.type === FieldMetadataType.BOOLEAN;

View File

@ -6,4 +6,4 @@ import { FieldCurrencyMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldCurrency = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldCurrencyMetadata> =>
field.type === FieldMetadataType.Currency;
field.type === FieldMetadataType.CURRENCY;

View File

@ -6,4 +6,4 @@ import { FieldDateTimeMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldDateTime = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldDateTimeMetadata> =>
field.type === FieldMetadataType.DateTime;
field.type === FieldMetadataType.DATE_TIME;

View File

@ -10,5 +10,5 @@ export const isFieldDisplayedAsPhone = (
field: Pick<FieldDefinition<FieldMetadata>, 'type' | 'metadata'>,
): field is FieldDefinition<FieldTextMetadata> =>
field.metadata.objectMetadataNameSingular === CoreObjectNameSingular.Person &&
field.type === FieldMetadataType.Text &&
field.type === FieldMetadataType.TEXT &&
field.metadata.fieldName === 'phone';

View File

@ -6,4 +6,4 @@ import { FieldEmailsMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldEmails = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldEmailsMetadata> =>
field.type === FieldMetadataType.Emails;
field.type === FieldMetadataType.EMAILS;

View File

@ -6,4 +6,4 @@ import { FieldFullNameMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldFullName = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldFullNameMetadata> =>
field.type === FieldMetadataType.FullName;
field.type === FieldMetadataType.FULL_NAME;

View File

@ -6,4 +6,4 @@ import { FieldLinksMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldLinks = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldLinksMetadata> =>
field.type === FieldMetadataType.Links;
field.type === FieldMetadataType.LINKS;

View File

@ -8,4 +8,4 @@ import { FieldMetadataType } from '~/generated-metadata/graphql';
export const isFieldMultiSelect = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldMultiSelectMetadata> =>
field.type === FieldMetadataType.MultiSelect;
field.type === FieldMetadataType.MULTI_SELECT;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldNumberMetadata } from '../FieldMetadata';
export const isFieldNumber = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldNumberMetadata> =>
field.type === FieldMetadataType.Number;
field.type === FieldMetadataType.NUMBER;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldPhonesMetadata } from '../FieldMetadata';
export const isFieldPhones = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldPhonesMetadata> =>
field.type === FieldMetadataType.Phones;
field.type === FieldMetadataType.PHONES;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldPositionMetadata } from '../FieldMetadata';
export const isFieldPosition = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldPositionMetadata> =>
field.type === FieldMetadataType.Position;
field.type === FieldMetadataType.POSITION;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldRatingMetadata } from '../FieldMetadata';
export const isFieldRating = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldRatingMetadata> =>
field.type === FieldMetadataType.Rating;
field.type === FieldMetadataType.RATING;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldRawJsonMetadata } from '../FieldMetadata';
export const isFieldRawJson = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldRawJsonMetadata> =>
field.type === FieldMetadataType.RawJson;
field.type === FieldMetadataType.RAW_JSON;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldRelationMetadata } from '../FieldMetadata';
export const isFieldRelation = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldRelationMetadata> =>
field.type === FieldMetadataType.Relation;
field.type === FieldMetadataType.RELATION;

View File

@ -8,4 +8,4 @@ export const isFieldRelationFromManyObjects = (
field: Pick<FieldDefinition<FieldMetadata>, 'type' | 'metadata'>,
): field is FieldDefinition<FieldMetadata> =>
isFieldRelation(field) &&
field.metadata.relationType === RelationDefinitionType.OneToMany;
field.metadata.relationType === RelationDefinitionType.ONE_TO_MANY;

View File

@ -8,4 +8,4 @@ export const isFieldRelationToOneObject = (
field: Pick<FieldDefinition<FieldMetadata>, 'type' | 'metadata'>,
): field is FieldDefinition<FieldMetadata> =>
isFieldRelation(field) &&
field.metadata.relationType === RelationDefinitionType.ManyToOne;
field.metadata.relationType === RelationDefinitionType.MANY_TO_ONE;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldRichTextMetadata } from '../FieldMetadata';
export const isFieldRichText = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldRichTextMetadata> =>
field.type === FieldMetadataType.RichText;
field.type === FieldMetadataType.RICH_TEXT;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldSelectMetadata } from '../FieldMetadata';
export const isFieldSelect = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldSelectMetadata> =>
field.type === FieldMetadataType.Select;
field.type === FieldMetadataType.SELECT;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldTextMetadata } from '../FieldMetadata';
export const isFieldText = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldTextMetadata> =>
field.type === FieldMetadataType.Text;
field.type === FieldMetadataType.TEXT;

View File

@ -7,4 +7,4 @@ import { FieldMetadataType } from '~/generated-metadata/graphql';
export const isFieldTsVector = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldTsVectorMetadata> =>
field.type === FieldMetadataType.TsVector;
field.type === FieldMetadataType.TS_VECTOR;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldUuidMetadata } from '../FieldMetadata';
export const isFieldUuid = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldUuidMetadata> =>
field.type === FieldMetadataType.Uuid;
field.type === FieldMetadataType.UUID;

View File

@ -76,7 +76,7 @@ describe('isFieldValueEmpty', () => {
fieldMetadataId,
label: 'Annual Income',
iconName: 'cashCow',
type: FieldMetadataType.Currency,
type: FieldMetadataType.CURRENCY,
metadata: {
fieldName: 'annualIncome',
placeHolder: '100000',

View File

@ -81,25 +81,25 @@ describe('isFieldValueReadOnly', () => {
expect(result).toBe(true);
});
it('should return true if fieldType is FieldMetadataType.Actor', () => {
it('should return true if fieldType is FieldMetadataType.ACTOR', () => {
const result = isFieldValueReadOnly({
fieldType: FieldMetadataType.Actor,
fieldType: FieldMetadataType.ACTOR,
});
expect(result).toBe(true);
});
it('should return true if fieldType is FieldMetadataType.RichText', () => {
it('should return true if fieldType is FieldMetadataType.RICH_TEXT', () => {
const result = isFieldValueReadOnly({
fieldType: FieldMetadataType.RichText,
fieldType: FieldMetadataType.RICH_TEXT,
});
expect(result).toBe(true);
});
it('should return false if fieldType is not FieldMetadataType.Actor or FieldMetadataType.RichText', () => {
it('should return false if fieldType is not FieldMetadataType.ACTOR or FieldMetadataType.RICH_TEXT', () => {
const result = isFieldValueReadOnly({
fieldType: FieldMetadataType.Text,
fieldType: FieldMetadataType.TEXT,
});
expect(result).toBe(false);

View File

@ -166,18 +166,18 @@ export const isRecordMatchingFilter = ({
}
switch (objectMetadataField.type) {
case FieldMetadataType.Rating:
case FieldMetadataType.RATING:
return isMatchingRatingFilter({
ratingFilter: filterValue as RatingFilter,
value: record[filterKey],
});
case FieldMetadataType.Text: {
case FieldMetadataType.TEXT: {
return isMatchingStringFilter({
stringFilter: filterValue as StringFilter,
value: record[filterKey],
});
}
case FieldMetadataType.RichText: {
case FieldMetadataType.RICH_TEXT: {
// TODO: Implement a better rich text filter once it becomes a composite field
// See this issue for more context: https://github.com/twentyhq/twenty/issues/7613#issuecomment-2408944585
// This should be tackled in Q4'24
@ -186,29 +186,29 @@ export const isRecordMatchingFilter = ({
value: record[filterKey],
});
}
case FieldMetadataType.Select:
case FieldMetadataType.SELECT:
return isMatchingSelectFilter({
selectFilter: filterValue as SelectFilter,
value: record[filterKey],
});
case FieldMetadataType.MultiSelect:
case FieldMetadataType.MULTI_SELECT:
return isMatchingMultiSelectFilter({
multiSelectFilter: filterValue as MultiSelectFilter,
value: record[filterKey],
});
case FieldMetadataType.Array: {
case FieldMetadataType.ARRAY: {
return isMatchingArrayFilter({
arrayFilter: filterValue as ArrayFilter,
value: record[filterKey],
});
}
case FieldMetadataType.RawJson: {
case FieldMetadataType.RAW_JSON: {
return isMatchingRawJsonFilter({
rawJsonFilter: filterValue as RawJsonFilter,
value: record[filterKey],
});
}
case FieldMetadataType.FullName: {
case FieldMetadataType.FULL_NAME: {
const fullNameFilter = filterValue as FullNameFilter;
return (
@ -224,7 +224,7 @@ export const isRecordMatchingFilter = ({
}))
);
}
case FieldMetadataType.Address: {
case FieldMetadataType.ADDRESS: {
const addressFilter = filterValue as AddressFilter;
const keys = [
@ -248,7 +248,7 @@ export const isRecordMatchingFilter = ({
});
});
}
case FieldMetadataType.Links: {
case FieldMetadataType.LINKS: {
const linksFilter = filterValue as LinksFilter;
const keys = ['primaryLinkLabel', 'primaryLinkUrl'] as const;
@ -265,39 +265,39 @@ export const isRecordMatchingFilter = ({
});
});
}
case FieldMetadataType.Date:
case FieldMetadataType.DateTime: {
case FieldMetadataType.DATE:
case FieldMetadataType.DATE_TIME: {
return isMatchingDateFilter({
dateFilter: filterValue as DateFilter,
value: record[filterKey],
});
}
case FieldMetadataType.Number:
case FieldMetadataType.Numeric: {
case FieldMetadataType.NUMBER:
case FieldMetadataType.NUMERIC: {
return isMatchingFloatFilter({
floatFilter: filterValue as FloatFilter,
value: record[filterKey],
});
}
case FieldMetadataType.Uuid: {
case FieldMetadataType.UUID: {
return isMatchingUUIDFilter({
uuidFilter: filterValue as UUIDFilter,
value: record[filterKey],
});
}
case FieldMetadataType.Boolean: {
case FieldMetadataType.BOOLEAN: {
return isMatchingBooleanFilter({
booleanFilter: filterValue as BooleanFilter,
value: record[filterKey],
});
}
case FieldMetadataType.Currency: {
case FieldMetadataType.CURRENCY: {
return isMatchingCurrencyFilter({
currencyFilter: filterValue as CurrencyFilter,
value: record[filterKey].amountMicros,
});
}
case FieldMetadataType.Actor: {
case FieldMetadataType.ACTOR: {
const actorFilter = filterValue as ActorFilter;
return (
@ -308,7 +308,7 @@ export const isRecordMatchingFilter = ({
})
);
}
case FieldMetadataType.Emails: {
case FieldMetadataType.EMAILS: {
const emailsFilter = filterValue as EmailsFilter;
if (emailsFilter.primaryEmail === undefined) {
@ -320,7 +320,7 @@ export const isRecordMatchingFilter = ({
value: record[filterKey].primaryEmail,
});
}
case FieldMetadataType.Phones: {
case FieldMetadataType.PHONES: {
const phonesFilter = filterValue as PhonesFilter;
const keys: (keyof PhonesFilter)[] = ['primaryPhoneNumber'];
@ -337,7 +337,7 @@ export const isRecordMatchingFilter = ({
});
});
}
case FieldMetadataType.Relation: {
case FieldMetadataType.RELATION: {
throw new Error(
`Not implemented yet, use UUID filter instead on the corredponding "${filterKey}Id" field`,
);

View File

@ -16,7 +16,7 @@ describe('generateCsv', () => {
label: 'Relation',
metadata: {
fieldName: 'relation',
relationType: RelationDefinitionType.ManyToOne,
relationType: RelationDefinitionType.MANY_TO_ONE,
},
},
] as ColumnDefinition<FieldMetadata>[];

View File

@ -13,7 +13,7 @@ export const useExportProcessRecordsForCSV = (objectNameSingular: string) => {
const processRecordsForCSVExport = (records: ObjectRecord[]) => {
return records.map((record) => {
const currencyFields = objectMetadataItem.fields.filter(
(field) => field.type === FieldMetadataType.Currency,
(field) => field.type === FieldMetadataType.CURRENCY,
);
const processedRecord = {

View File

@ -36,12 +36,12 @@ export const generateCsv: GenerateExport = ({
const columnsToExport = columns.filter(
(col) =>
!('relationType' in col.metadata && col.metadata.relationType) ||
col.metadata.relationType === RelationDefinitionType.ManyToOne,
col.metadata.relationType === RelationDefinitionType.MANY_TO_ONE,
);
const objectIdColumn: ColumnDefinition<FieldMetadata> = {
fieldMetadataId: '',
type: FieldMetadataType.Uuid,
type: FieldMetadataType.UUID,
iconName: '',
label: `Id`,
metadata: {

View File

@ -86,7 +86,7 @@ export const RecordInlineCellContainer = () => {
const { recordId, fieldDefinition } = useContext(FieldContext);
if (isFieldText(fieldDefinition)) {
assertFieldMetadata(FieldMetadataType.Text, isFieldText, fieldDefinition);
assertFieldMetadata(FieldMetadataType.TEXT, isFieldText, fieldDefinition);
}
const { setIsFocused } = useFieldFocus();

View File

@ -62,7 +62,7 @@ export const FieldsCard = ({
fieldMetadataItem.name !== 'deletedAt',
),
(fieldMetadataItem) =>
fieldMetadataItem.type === FieldMetadataType.Relation
fieldMetadataItem.type === FieldMetadataType.RELATION
? 'relationFieldMetadataItems'
: 'inlineFieldMetadataItems',
);

View File

@ -77,7 +77,7 @@ export const SummaryCard = ({
fieldDefinition: {
type:
labelIdentifierFieldMetadataItem?.type ||
FieldMetadataType.Text,
FieldMetadataType.TEXT,
iconName: '',
fieldMetadataId: labelIdentifierFieldMetadataItem?.id ?? '',
label: labelIdentifierFieldMetadataItem?.label || '',

View File

@ -269,7 +269,7 @@ export const useRecordShowContainerTabs = (
!hide.ifRelationsMissing.every((rel) =>
objectMetadataItem.fields.some(
(field) =>
field.type === FieldMetadataType.Relation &&
field.type === FieldMetadataType.RELATION &&
field.name === rel &&
field.isActive,
),

View File

@ -81,7 +81,7 @@ export const useRecordShowPage = (
const labelIdentifierFieldValue =
record?.[labelIdentifierFieldMetadataItem?.name ?? ''];
const pageName =
labelIdentifierFieldMetadataItem?.type === FieldMetadataType.FullName
labelIdentifierFieldMetadataItem?.type === FieldMetadataType.FULL_NAME
? [
labelIdentifierFieldValue?.firstName,
labelIdentifierFieldValue?.lastName,

View File

@ -106,7 +106,7 @@ export const RecordDetailRelationRecordsListItem = ({
relationType,
} = fieldDefinition.metadata as FieldRelationMetadata;
const isToOneObject = relationType === RelationDefinitionType.ManyToOne;
const isToOneObject = relationType === RelationDefinitionType.MANY_TO_ONE;
const { objectMetadataItem: relationObjectMetadataItem } =
useObjectMetadataItem({
objectNameSingular: relationObjectMetadataNameSingular,

View File

@ -69,8 +69,8 @@ export const RecordDetailRelationSection = ({
>(recordStoreFamilySelector({ recordId, fieldName }));
// TODO: use new relation type
const isToOneObject = relationType === RelationDefinitionType.ManyToOne;
const isToManyObjects = relationType === RelationDefinitionType.OneToMany;
const isToOneObject = relationType === RelationDefinitionType.MANY_TO_ONE;
const isToManyObjects = relationType === RelationDefinitionType.ONE_TO_MANY;
const relationRecords: ObjectRecord[] =
fieldValue && isToOneObject

View File

@ -723,7 +723,7 @@ export const mockPerformance = {
options: null,
},
iconName: 'IconBuildingSkyscraper',
type: FieldMetadataType.Relation,
type: FieldMetadataType.RELATION,
position: 2,
size: 150,
isLabelIdentifier: false,

View File

@ -4,27 +4,27 @@ import { FieldMetadataType } from '~/generated-metadata/graphql';
export const FIELD_TYPES_AVAILABLE_FOR_NON_STANDARD_AGGREGATE_OPERATION = {
[AGGREGATE_OPERATIONS.min]: [
FieldMetadataType.Number,
FieldMetadataType.Currency,
FieldMetadataType.NUMBER,
FieldMetadataType.CURRENCY,
],
[AGGREGATE_OPERATIONS.max]: [
FieldMetadataType.Number,
FieldMetadataType.Currency,
FieldMetadataType.NUMBER,
FieldMetadataType.CURRENCY,
],
[AGGREGATE_OPERATIONS.avg]: [
FieldMetadataType.Number,
FieldMetadataType.Currency,
FieldMetadataType.NUMBER,
FieldMetadataType.CURRENCY,
],
[AGGREGATE_OPERATIONS.sum]: [
FieldMetadataType.Number,
FieldMetadataType.Currency,
FieldMetadataType.NUMBER,
FieldMetadataType.CURRENCY,
],
[DATE_AGGREGATE_OPERATIONS.earliest]: [
FieldMetadataType.DateTime,
FieldMetadataType.Date,
FieldMetadataType.DATE_TIME,
FieldMetadataType.DATE,
],
[DATE_AGGREGATE_OPERATIONS.latest]: [
FieldMetadataType.DateTime,
FieldMetadataType.Date,
FieldMetadataType.DATE_TIME,
FieldMetadataType.DATE,
],
};

View File

@ -26,7 +26,7 @@ export const recordTableCellContextValue: RecordTableCellContextValue = {
fieldMetadataId: 'fieldMetadataId',
label: 'label',
iconName: 'iconName',
type: FieldMetadataType.Text,
type: FieldMetadataType.TEXT,
metadata: {
placeHolder: 'placeHolder',
fieldName: 'fieldName',

View File

@ -54,7 +54,7 @@ export const RecordTableColumnAggregateFooterMenuContent = () => {
const fieldIsRelation =
objectMetadataItem.fields.find((field) => field.id === fieldMetadataId)
?.type === FieldMetadataType.Relation;
?.type === FieldMetadataType.RELATION;
const {
updateViewFieldAggregateOperation,

View File

@ -11,7 +11,7 @@ export const getAvailableAggregateOperationsForFieldMetadataType = ({
}: {
fieldMetadataType?: FieldMetadataType;
}) => {
if (fieldMetadataType === FieldMetadataType.Relation) {
if (fieldMetadataType === FieldMetadataType.RELATION) {
return [AGGREGATE_OPERATIONS.count];
}

View File

@ -70,7 +70,7 @@ export const useAddNewRecordAndOpenRightDrawer = ({
| { firstName: string | undefined; lastName: string | undefined };
[key: string]: any;
} =
labelIdentifierType === FieldMetadataType.FullName
labelIdentifierType === FieldMetadataType.FULL_NAME
? {
id: newRecordId,
name:
@ -85,7 +85,7 @@ export const useAddNewRecordAndOpenRightDrawer = ({
if (
relationFieldMetadataItem?.relationDefinition?.direction ===
RelationDefinitionType.ManyToOne
RelationDefinitionType.MANY_TO_ONE
) {
createRecordPayload[
`${relationFieldMetadataItem?.relationDefinition?.sourceFieldMetadata.name}Id`
@ -96,7 +96,7 @@ export const useAddNewRecordAndOpenRightDrawer = ({
if (
relationFieldMetadataItem?.relationDefinition?.direction ===
RelationDefinitionType.OneToMany
RelationDefinitionType.ONE_TO_MANY
) {
await updateOneRecord({
idToUpdate: recordId,

View File

@ -10,15 +10,15 @@ import { CompositeFieldLabels } from '@/object-record/spreadsheet-import/types/C
import { FieldMetadataType } from '~/generated-metadata/graphql';
export const COMPOSITE_FIELD_IMPORT_LABELS = {
[FieldMetadataType.FullName]: {
[FieldMetadataType.FULL_NAME]: {
firstNameLabel: 'First Name',
lastNameLabel: 'Last Name',
} satisfies CompositeFieldLabels<FieldFullNameValue>,
[FieldMetadataType.Currency]: {
[FieldMetadataType.CURRENCY]: {
currencyCodeLabel: 'Currency Code',
amountMicrosLabel: 'Amount',
} satisfies CompositeFieldLabels<FieldCurrencyValue>,
[FieldMetadataType.Address]: {
[FieldMetadataType.ADDRESS]: {
addressStreet1Label: 'Address 1',
addressStreet2Label: 'Address 2',
addressCityLabel: 'City',
@ -28,18 +28,18 @@ export const COMPOSITE_FIELD_IMPORT_LABELS = {
addressLatLabel: 'Latitude',
addressLngLabel: 'Longitude',
} satisfies CompositeFieldLabels<FieldAddressValue>,
[FieldMetadataType.Links]: {
[FieldMetadataType.LINKS]: {
primaryLinkUrlLabel: 'Link URL',
primaryLinkLabelLabel: 'Link Label',
} satisfies Partial<CompositeFieldLabels<FieldLinksValue>>,
[FieldMetadataType.Emails]: {
[FieldMetadataType.EMAILS]: {
primaryEmailLabel: 'Email',
} satisfies Partial<CompositeFieldLabels<FieldEmailsValue>>,
[FieldMetadataType.Phones]: {
[FieldMetadataType.PHONES]: {
primaryPhoneCountryCodeLabel: 'Phone country code',
primaryPhoneNumberLabel: 'Phone number',
} satisfies Partial<CompositeFieldLabels<FieldPhonesValue>>,
[FieldMetadataType.Actor]: {
[FieldMetadataType.ACTOR]: {
sourceLabel: 'Source',
},
};

View File

@ -17,9 +17,9 @@ export const useBuildAvailableFieldsForImport = () => {
// Todo: refactor this to avoid this else if syntax with duplicated code
for (const fieldMetadataItem of fieldMetadataItems) {
if (fieldMetadataItem.type === FieldMetadataType.FullName) {
if (fieldMetadataItem.type === FieldMetadataType.FULL_NAME) {
const { firstNameLabel, lastNameLabel } =
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.FullName];
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.FULL_NAME];
availableFieldsForImport.push({
icon: getIcon(fieldMetadataItem.icon),
@ -46,7 +46,7 @@ export const useBuildAvailableFieldsForImport = () => {
`${lastNameLabel} (${fieldMetadataItem.label})`,
),
});
} else if (fieldMetadataItem.type === FieldMetadataType.Relation) {
} else if (fieldMetadataItem.type === FieldMetadataType.RELATION) {
availableFieldsForImport.push({
icon: getIcon(fieldMetadataItem.icon),
label: fieldMetadataItem.label + ' (ID)',
@ -59,9 +59,9 @@ export const useBuildAvailableFieldsForImport = () => {
fieldMetadataItem.label + ' (ID)',
),
});
} else if (fieldMetadataItem.type === FieldMetadataType.Currency) {
} else if (fieldMetadataItem.type === FieldMetadataType.CURRENCY) {
const { currencyCodeLabel, amountMicrosLabel } =
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.Currency];
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.CURRENCY];
availableFieldsForImport.push({
icon: getIcon(fieldMetadataItem.icon),
@ -84,13 +84,13 @@ export const useBuildAvailableFieldsForImport = () => {
type: 'input',
},
fieldValidationDefinitions: getSpreadSheetFieldValidationDefinitions(
FieldMetadataType.Number,
FieldMetadataType.NUMBER,
`${amountMicrosLabel} (${fieldMetadataItem.label})`,
),
});
} else if (fieldMetadataItem.type === FieldMetadataType.Address) {
} else if (fieldMetadataItem.type === FieldMetadataType.ADDRESS) {
Object.entries(
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.Address],
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.ADDRESS],
).forEach(([_, fieldLabel]) => {
availableFieldsForImport.push({
icon: getIcon(fieldMetadataItem.icon),
@ -106,9 +106,9 @@ export const useBuildAvailableFieldsForImport = () => {
),
});
});
} else if (fieldMetadataItem.type === FieldMetadataType.Links) {
} else if (fieldMetadataItem.type === FieldMetadataType.LINKS) {
Object.entries(
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.Links],
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.LINKS],
).forEach(([_, fieldLabel]) => {
availableFieldsForImport.push({
icon: getIcon(fieldMetadataItem.icon),
@ -124,7 +124,7 @@ export const useBuildAvailableFieldsForImport = () => {
),
});
});
} else if (fieldMetadataItem.type === FieldMetadataType.Select) {
} else if (fieldMetadataItem.type === FieldMetadataType.SELECT) {
availableFieldsForImport.push({
icon: getIcon(fieldMetadataItem.icon),
label: fieldMetadataItem.label,
@ -143,7 +143,7 @@ export const useBuildAvailableFieldsForImport = () => {
fieldMetadataItem.label + ' (ID)',
),
});
} else if (fieldMetadataItem.type === FieldMetadataType.MultiSelect) {
} else if (fieldMetadataItem.type === FieldMetadataType.MULTI_SELECT) {
availableFieldsForImport.push({
icon: getIcon(fieldMetadataItem.icon),
label: fieldMetadataItem.label,
@ -162,7 +162,7 @@ export const useBuildAvailableFieldsForImport = () => {
fieldMetadataItem.label + ' (ID)',
),
});
} else if (fieldMetadataItem.type === FieldMetadataType.Boolean) {
} else if (fieldMetadataItem.type === FieldMetadataType.BOOLEAN) {
availableFieldsForImport.push({
icon: getIcon(fieldMetadataItem.icon),
label: fieldMetadataItem.label,
@ -175,9 +175,9 @@ export const useBuildAvailableFieldsForImport = () => {
fieldMetadataItem.label,
),
});
} else if (fieldMetadataItem.type === FieldMetadataType.Emails) {
} else if (fieldMetadataItem.type === FieldMetadataType.EMAILS) {
Object.entries(
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.Emails],
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.EMAILS],
).forEach(([_, fieldLabel]) => {
availableFieldsForImport.push({
icon: getIcon(fieldMetadataItem.icon),
@ -193,9 +193,9 @@ export const useBuildAvailableFieldsForImport = () => {
),
});
});
} else if (fieldMetadataItem.type === FieldMetadataType.Phones) {
} else if (fieldMetadataItem.type === FieldMetadataType.PHONES) {
Object.entries(
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.Phones],
COMPOSITE_FIELD_IMPORT_LABELS[FieldMetadataType.PHONES],
).forEach(([_, fieldLabel]) => {
availableFieldsForImport.push({
icon: getIcon(fieldMetadataItem.icon),

View File

@ -39,9 +39,9 @@ export const useOpenObjectRecordsSpreadsheetImportDialog = (
fieldMetadataItem.isActive &&
(!fieldMetadataItem.isSystem || fieldMetadataItem.name === 'id') &&
fieldMetadataItem.name !== 'createdAt' &&
(fieldMetadataItem.type !== FieldMetadataType.Relation ||
(fieldMetadataItem.type !== FieldMetadataType.RELATION ||
fieldMetadataItem.relationDefinition?.direction ===
RelationDefinitionType.ManyToOne),
RelationDefinitionType.MANY_TO_ONE),
)
.sort((fieldMetadataItemA, fieldMetadataItemB) =>
fieldMetadataItemA.name.localeCompare(fieldMetadataItemB.name),

View File

@ -42,15 +42,15 @@ export const buildRecordFromImportedStructuredRow = (
const importedFieldValue = importedStructuredRow[field.name];
switch (field.type) {
case FieldMetadataType.Boolean:
case FieldMetadataType.BOOLEAN:
recordToBuild[field.name] =
importedFieldValue === 'true' || importedFieldValue === true;
break;
case FieldMetadataType.Number:
case FieldMetadataType.Numeric:
case FieldMetadataType.NUMBER:
case FieldMetadataType.NUMERIC:
recordToBuild[field.name] = Number(importedFieldValue);
break;
case FieldMetadataType.Currency:
case FieldMetadataType.CURRENCY:
if (
isDefined(
importedStructuredRow[`${amountMicrosLabel} (${field.name})`],
@ -71,7 +71,7 @@ export const buildRecordFromImportedStructuredRow = (
};
}
break;
case FieldMetadataType.Address: {
case FieldMetadataType.ADDRESS: {
if (
isDefined(
importedStructuredRow[`${addressStreet1Label} (${field.name})`] ||
@ -115,7 +115,7 @@ export const buildRecordFromImportedStructuredRow = (
}
break;
}
case FieldMetadataType.Links: {
case FieldMetadataType.LINKS: {
if (
isDefined(
importedStructuredRow[`${primaryLinkUrlLabel} (${field.name})`] ||
@ -134,7 +134,7 @@ export const buildRecordFromImportedStructuredRow = (
}
break;
}
case FieldMetadataType.Phones: {
case FieldMetadataType.PHONES: {
if (
isDefined(
importedStructuredRow[
@ -161,7 +161,7 @@ export const buildRecordFromImportedStructuredRow = (
}
break;
}
case FieldMetadataType.Emails: {
case FieldMetadataType.EMAILS: {
if (
isDefined(
importedStructuredRow[`${primaryEmailLabel} (${field.name})`],
@ -176,7 +176,7 @@ export const buildRecordFromImportedStructuredRow = (
}
break;
}
case FieldMetadataType.Relation:
case FieldMetadataType.RELATION:
if (
isDefined(importedFieldValue) &&
(isNonEmptyString(importedFieldValue) || importedFieldValue !== false)
@ -184,7 +184,7 @@ export const buildRecordFromImportedStructuredRow = (
recordToBuild[field.name + 'Id'] = importedFieldValue;
}
break;
case FieldMetadataType.FullName:
case FieldMetadataType.FULL_NAME:
if (
isDefined(
importedStructuredRow[`${firstNameLabel} (${field.name})`] ??
@ -199,13 +199,13 @@ export const buildRecordFromImportedStructuredRow = (
};
}
break;
case FieldMetadataType.Actor:
case FieldMetadataType.ACTOR:
recordToBuild[field.name] = {
source: 'IMPORT',
};
break;
case FieldMetadataType.Array:
case FieldMetadataType.MultiSelect: {
case FieldMetadataType.ARRAY:
case FieldMetadataType.MULTI_SELECT: {
const stringArrayJSONSchema = z
.preprocess((value) => {
try {
@ -223,7 +223,7 @@ export const buildRecordFromImportedStructuredRow = (
stringArrayJSONSchema.parse(importedFieldValue);
break;
}
case FieldMetadataType.RawJson: {
case FieldMetadataType.RAW_JSON: {
if (typeof importedFieldValue === 'string') {
try {
recordToBuild[field.name] = JSON.parse(importedFieldValue);

Some files were not shown because too many files have changed in this diff Show More