diff --git a/front/src/generated-metadata/graphql.ts b/front/src/generated-metadata/graphql.ts index 8b25c5a11..2d2fadd68 100644 --- a/front/src/generated-metadata/graphql.ts +++ b/front/src/generated-metadata/graphql.ts @@ -196,6 +196,21 @@ export type CreateOneObjectInput = { object: CreateObjectInput; }; +export type CreateOneRelationInput = { + /** The record to create */ + relation: CreateRelationInput; +}; + +export type CreateRelationInput = { + description?: InputMaybe; + fromObjectMetadataId: Scalars['String']['input']; + icon?: InputMaybe; + label: Scalars['String']['input']; + name: Scalars['String']['input']; + relationType: Scalars['String']['input']; + toObjectMetadataId: Scalars['String']['input']; +}; + export enum Currency { Aed = 'AED', Afn = 'AFN', @@ -437,6 +452,7 @@ export enum FieldMetadataType { Money = 'MONEY', Number = 'NUMBER', Phone = 'PHONE', + Relation = 'RELATION', Text = 'TEXT', Url = 'URL', Uuid = 'UUID' @@ -446,6 +462,7 @@ export type Mutation = { __typename?: 'Mutation'; createOneField: Field; createOneObject: Object; + createOneRelation: Relation; deleteOneField: FieldDeleteResponse; deleteOneObject: ObjectDeleteResponse; updateOneField: Field; @@ -463,6 +480,11 @@ export type MutationCreateOneObjectArgs = { }; +export type MutationCreateOneRelationArgs = { + input: CreateOneRelationInput; +}; + + export type MutationDeleteOneFieldArgs = { input: DeleteOneFieldInput; }; @@ -611,6 +633,7 @@ export type Query = { fields: FieldConnection; object: Object; objects: ObjectConnection; + relation: Relation; }; @@ -633,6 +656,11 @@ export type QueryObjectsArgs = { paging?: CursorPaging; }; + +export type QueryRelationArgs = { + id: Scalars['ID']['input']; +}; + export type Support = { __typename?: 'Support'; supportDriver: Scalars['String']['output']; @@ -769,6 +797,7 @@ export type Field = { __typename?: 'field'; createdAt: Scalars['DateTime']['output']; description?: Maybe; + fromRelationMetadata?: Maybe; icon?: Maybe; id: Scalars['ID']['output']; isActive: Scalars['Boolean']['output']; @@ -778,6 +807,7 @@ export type Field = { name: Scalars['String']['output']; /** @deprecated Use label name instead */ placeholder?: Maybe; + toRelationMetadata?: Maybe; type: FieldMetadataType; updatedAt: Scalars['DateTime']['output']; }; @@ -820,6 +850,28 @@ export type ObjectEdge = { node: Object; }; +export type Relation = { + __typename?: 'relation'; + createdAt: Scalars['DateTime']['output']; + fromFieldMetadataId: Scalars['String']['output']; + fromObjectMetadata: Object; + fromObjectMetadataId: Scalars['String']['output']; + id: Scalars['ID']['output']; + relationType: Scalars['String']['output']; + toFieldMetadataId: Scalars['String']['output']; + toObjectMetadata: Object; + toObjectMetadataId: Scalars['String']['output']; + updatedAt: Scalars['DateTime']['output']; +}; + +export type RelationEdge = { + __typename?: 'relationEdge'; + /** Cursor for this node. */ + cursor: Scalars['ConnectionCursor']['output']; + /** The node containing the relation */ + node: Relation; +}; + export type CreateOneObjectMetadataItemMutationVariables = Exact<{ input: CreateOneObjectInput; }>; diff --git a/front/src/generated/graphql.tsx b/front/src/generated/graphql.tsx index 54e61db1e..f8e6652dd 100644 --- a/front/src/generated/graphql.tsx +++ b/front/src/generated/graphql.tsx @@ -1322,6 +1322,7 @@ export enum FieldMetadataType { Money = 'MONEY', Number = 'NUMBER', Phone = 'PHONE', + Relation = 'RELATION', Text = 'TEXT', Url = 'URL', Uuid = 'UUID' @@ -1391,6 +1392,7 @@ export type Mutation = { createOneApiKey: ApiKeyToken; createOneComment: Comment; createOneCompany: Company; + createOneField: Field; createOneObject: Object; createOnePerson: Person; createOnePipelineProgress: PipelineProgress; @@ -1402,6 +1404,7 @@ export type Mutation = { deleteManyCompany: AffectedRows; deleteManyPerson: AffectedRows; deleteManyPipelineProgress: AffectedRows; + deleteOneField: FieldDeleteResponse; deleteOneObject: ObjectDeleteResponse; deleteOnePipelineStage: PipelineStage; deleteOneWebHook: WebHook; @@ -1414,6 +1417,7 @@ export type Mutation = { updateOneActivity: Activity; updateOneCompany?: Maybe; updateOneFavorites: Favorite; + updateOneField: Field; updateOneObject: Object; updateOnePerson?: Maybe; updateOnePipelineProgress?: Maybe; @@ -2404,6 +2408,8 @@ export type Query = { clientConfig: ClientConfig; currentUser: User; currentWorkspace: Workspace; + field: Field; + fields: FieldConnection; findFavorites: Array; findManyActivities: Array; findManyApiKey: Array; @@ -2593,6 +2599,15 @@ export type Support = { supportFrontChatId?: Maybe; }; +export type TUser = { + __typename?: 'TUser'; + email: Scalars['String']; + emailVerified: Scalars['Boolean']; + firstName?: Maybe; + id: Scalars['ID']; + lastName?: Maybe; +}; + export type Telemetry = { __typename?: 'Telemetry'; anonymizationEnabled: Scalars['Boolean']; @@ -3093,6 +3108,7 @@ export type Field = { __typename?: 'field'; createdAt: Scalars['DateTime']; description?: Maybe; + fromRelationMetadata?: Maybe; icon?: Maybe; id: Scalars['ID']; isActive: Scalars['Boolean']; @@ -3102,6 +3118,7 @@ export type Field = { name: Scalars['String']; /** @deprecated Use label name instead */ placeholder?: Maybe; + toRelationMetadata?: Maybe; type: FieldMetadataType; updatedAt: Scalars['DateTime']; }; @@ -3144,6 +3161,28 @@ export type ObjectEdge = { node: Object; }; +export type Relation = { + __typename?: 'relation'; + createdAt: Scalars['DateTime']; + fromFieldMetadataId: Scalars['String']; + fromObjectMetadata: Object; + fromObjectMetadataId: Scalars['String']; + id: Scalars['ID']; + relationType: Scalars['String']; + toFieldMetadataId: Scalars['String']; + toObjectMetadata: Object; + toObjectMetadataId: Scalars['String']; + updatedAt: Scalars['DateTime']; +}; + +export type RelationEdge = { + __typename?: 'relationEdge'; + /** Cursor for this node. */ + cursor: Scalars['ConnectionCursor']; + /** The node containing the relation */ + node: Relation; +}; + export type ActivityWithTargetsFragment = { __typename?: 'Activity', id: string, createdAt: string, updatedAt: string, activityTargets?: Array<{ __typename?: 'ActivityTarget', id: string, createdAt: string, updatedAt: string, companyId?: string | null, personId?: string | null }> | null }; export type ActivityQueryFragmentFragment = { __typename?: 'Activity', id: string, createdAt: string, title?: string | null, body?: string | null, type: ActivityType, completedAt?: string | null, dueAt?: string | null, assignee?: { __typename?: 'User', id: string, firstName?: string | null, lastName?: string | null, displayName: string, avatarUrl?: string | null } | null, author: { __typename?: 'User', id: string, firstName?: string | null, lastName?: string | null, displayName: string }, comments?: Array<{ __typename?: 'Comment', id: string, body: string, createdAt: string, updatedAt: string, author: { __typename?: 'User', id: string, displayName: string, firstName?: string | null, lastName?: string | null, avatarUrl?: string | null } }> | null, activityTargets?: Array<{ __typename?: 'ActivityTarget', id: string, companyId?: string | null, personId?: string | null, company?: { __typename?: 'Company', id: string, name: string, domainName: string } | null, person?: { __typename?: 'Person', id: string, displayName: string, avatarUrl?: string | null } | null }> | null }; diff --git a/front/src/modules/activities/editable-fields/components/ActivityAssigneeEditableField.tsx b/front/src/modules/activities/editable-fields/components/ActivityAssigneeEditableField.tsx index f97b93eb9..1c8cc55b1 100644 --- a/front/src/modules/activities/editable-fields/components/ActivityAssigneeEditableField.tsx +++ b/front/src/modules/activities/editable-fields/components/ActivityAssigneeEditableField.tsx @@ -23,7 +23,7 @@ export const ActivityAssigneeEditableField = ({ entityId: activity.id, recoilScopeId: 'assignee', fieldDefinition: { - fieldId: 'assignee', + fieldMetadataId: 'assignee', label: 'Assignee', Icon: IconUserCircle, type: 'RELATION', diff --git a/front/src/modules/activities/editable-fields/components/ActivityEditorDateField.tsx b/front/src/modules/activities/editable-fields/components/ActivityEditorDateField.tsx index d7e4680f3..e4daac942 100644 --- a/front/src/modules/activities/editable-fields/components/ActivityEditorDateField.tsx +++ b/front/src/modules/activities/editable-fields/components/ActivityEditorDateField.tsx @@ -21,7 +21,7 @@ export const ActivityEditorDateField = ({ entityId: activityId, recoilScopeId: 'activityDueAt', fieldDefinition: { - fieldId: 'activityDueAt', + fieldMetadataId: 'activityDueAt', label: 'Due date', Icon: IconCalendar, type: 'DATE', diff --git a/front/src/modules/activities/tasks/hooks/useCurrentUserDueTaskCount.ts b/front/src/modules/activities/tasks/hooks/useCurrentUserDueTaskCount.ts index c31af5e60..a6281c1e5 100644 --- a/front/src/modules/activities/tasks/hooks/useCurrentUserDueTaskCount.ts +++ b/front/src/modules/activities/tasks/hooks/useCurrentUserDueTaskCount.ts @@ -17,7 +17,7 @@ export const useCurrentUserTaskCount = () => { completedAt: { equals: null }, ...(currentUser ? turnFilterIntoWhereClause({ - fieldId: 'assigneeId', + fieldMetadataId: 'assigneeId', value: currentUser.id, operand: ViewFilterOperand.Is, displayValue: currentUser.displayName, diff --git a/front/src/modules/companies/components/CompanyBoardCard.tsx b/front/src/modules/companies/components/CompanyBoardCard.tsx index 85652feb2..10e9cc2e0 100644 --- a/front/src/modules/companies/components/CompanyBoardCard.tsx +++ b/front/src/modules/companies/components/CompanyBoardCard.tsx @@ -222,13 +222,13 @@ export const CompanyBoardCard = () => { {visibleBoardCardFields.map((viewField) => ( - + { setAvailableSortDefinitions, setAvailableFieldDefinitions, setEntityCountInCurrentView, - setViewObjectId, + setViewObjectMetadataId, setViewType, } = useView(); @@ -83,9 +83,9 @@ export const HooksCompanyBoardEffect = () => { ]); useEffect(() => { - setViewObjectId?.('company'); + setViewObjectMetadataId?.('company'); setViewType?.(ViewType.Kanban); - }, [setViewObjectId, setViewType]); + }, [setViewObjectMetadataId, setViewType]); const pipelineStageIds = pipeline?.pipelineStages ?.map((pipelineStage) => pipelineStage.id) diff --git a/front/src/modules/companies/constants/companiesAvailableFieldDefinitions.tsx b/front/src/modules/companies/constants/companiesAvailableFieldDefinitions.tsx index 24d1bac75..656269f8b 100644 --- a/front/src/modules/companies/constants/companiesAvailableFieldDefinitions.tsx +++ b/front/src/modules/companies/constants/companiesAvailableFieldDefinitions.tsx @@ -28,7 +28,7 @@ import { User } from '~/generated/graphql'; export const companiesAvailableFieldDefinitions: ColumnDefinition[] = [ { - fieldId: 'name', + fieldMetadataId: 'name', label: 'Name', Icon: IconBuildingSkyscraper, size: 180, @@ -45,7 +45,7 @@ export const companiesAvailableFieldDefinitions: ColumnDefinition basePathToShowPage: '/companies/', } satisfies ColumnDefinition, { - fieldId: 'domainName', + fieldMetadataId: 'domainName', label: 'URL', Icon: IconLink, size: 100, @@ -60,7 +60,7 @@ export const companiesAvailableFieldDefinitions: ColumnDefinition 'The company website URL. We use this url to fetch the company icon.', } satisfies ColumnDefinition, { - fieldId: 'accountOwner', + fieldMetadataId: 'accountOwner', label: 'Account Owner', Icon: IconUserCircle, size: 150, @@ -82,7 +82,7 @@ export const companiesAvailableFieldDefinitions: ColumnDefinition }, } satisfies ColumnDefinition, { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', label: 'Creation', Icon: IconCalendarEvent, size: 150, @@ -95,7 +95,7 @@ export const companiesAvailableFieldDefinitions: ColumnDefinition infoTooltipContent: "Date when the company's record was created.", } satisfies ColumnDefinition, { - fieldId: 'employees', + fieldMetadataId: 'employees', label: 'Employees', Icon: IconUsers, size: 150, @@ -110,7 +110,7 @@ export const companiesAvailableFieldDefinitions: ColumnDefinition infoTooltipContent: 'Number of employees in the company.', } satisfies ColumnDefinition, { - fieldId: 'linkedin', + fieldMetadataId: 'linkedin', label: 'LinkedIn', Icon: IconBrandLinkedin, size: 170, @@ -124,7 +124,7 @@ export const companiesAvailableFieldDefinitions: ColumnDefinition infoTooltipContent: 'The company Linkedin account.', } satisfies ColumnDefinition, { - fieldId: 'address', + fieldMetadataId: 'address', label: 'Address', Icon: IconMap, size: 170, @@ -138,7 +138,7 @@ export const companiesAvailableFieldDefinitions: ColumnDefinition infoTooltipContent: 'The company address.', } satisfies ColumnDefinition, { - fieldId: 'idealCustomerProfile', + fieldMetadataId: 'idealCustomerProfile', label: 'ICP', Icon: IconTarget, size: 150, @@ -152,7 +152,7 @@ export const companiesAvailableFieldDefinitions: ColumnDefinition 'Ideal Customer Profile: Indicates whether the company is the most suitable and valuable customer for you.', } satisfies ColumnDefinition, { - fieldId: 'annualRecurringRevenue', + fieldMetadataId: 'annualRecurringRevenue', label: 'ARR', Icon: IconMoneybag, size: 150, @@ -166,7 +166,7 @@ export const companiesAvailableFieldDefinitions: ColumnDefinition 'Annual Recurring Revenue: The actual or estimated annual revenue of the company.', } satisfies ColumnDefinition, { - fieldId: 'xUrl', + fieldMetadataId: 'xUrl', label: 'Twitter', Icon: IconBrandX, size: 150, @@ -184,7 +184,7 @@ export const companiesAvailableFieldDefinitions: ColumnDefinition export const suppliersAvailableColumnDefinitions: ColumnDefinition[] = [ { - fieldId: 'name', + fieldMetadataId: 'name', label: 'Name', Icon: IconBuildingSkyscraper, size: 180, @@ -199,7 +199,7 @@ export const suppliersAvailableColumnDefinitions: ColumnDefinition, { - fieldId: 'city', + fieldMetadataId: 'city', label: 'City', Icon: IconBuildingSkyscraper, size: 180, diff --git a/front/src/modules/companies/table/components/CompanyTableEffect.tsx b/front/src/modules/companies/table/components/CompanyTableEffect.tsx index e04033421..b512100f2 100644 --- a/front/src/modules/companies/table/components/CompanyTableEffect.tsx +++ b/front/src/modules/companies/table/components/CompanyTableEffect.tsx @@ -13,7 +13,7 @@ const CompanyTableEffect = () => { setAvailableFilterDefinitions, setAvailableFieldDefinitions, setViewType, - setViewObjectId, + setViewObjectMetadataId, } = useView(); const { setAvailableTableColumns } = useRecordTable(); @@ -22,7 +22,7 @@ const CompanyTableEffect = () => { setAvailableSortDefinitions?.(companyTableSortDefinitions); setAvailableFilterDefinitions?.(companyTableFilterDefinitions); setAvailableFieldDefinitions?.(companiesAvailableFieldDefinitions); - setViewObjectId?.('company'); + setViewObjectMetadataId?.('company'); setViewType?.(ViewType.Table); setAvailableTableColumns(companiesAvailableFieldDefinitions); @@ -31,7 +31,7 @@ const CompanyTableEffect = () => { setAvailableFilterDefinitions, setAvailableSortDefinitions, setAvailableTableColumns, - setViewObjectId, + setViewObjectMetadataId, setViewType, ]); diff --git a/front/src/modules/metadata/components/RecordShowPage.tsx b/front/src/modules/metadata/components/RecordShowPage.tsx index 4c73d3881..54ce627f1 100644 --- a/front/src/modules/metadata/components/RecordShowPage.tsx +++ b/front/src/modules/metadata/components/RecordShowPage.tsx @@ -29,9 +29,9 @@ import { useUpdateOneObject } from '../hooks/useUpdateOneObject'; import { formatMetadataFieldAsColumnDefinition } from '../utils/formatMetadataFieldAsColumnDefinition'; export const RecordShowPage = () => { - const { objectNameSingular, objectId } = useParams<{ + const { objectNameSingular, objectMetadataId } = useParams<{ objectNameSingular: string; - objectId: string; + objectMetadataId: string; }>(); const { icons } = useLazyLoadIcons(); @@ -41,11 +41,11 @@ export const RecordShowPage = () => { }); const [, setEntityFields] = useRecoilState( - entityFieldsFamilyState(objectId ?? ''), + entityFieldsFamilyState(objectMetadataId ?? ''), ); const { object } = useFindOneObject({ - objectId: objectId, + objectMetadataId: objectMetadataId, objectNameSingular, onCompleted: (data) => { setEntityFields(data); diff --git a/front/src/modules/metadata/components/RecordTableEffect.tsx b/front/src/modules/metadata/components/RecordTableEffect.tsx index 5465f63bf..cdc532964 100644 --- a/front/src/modules/metadata/components/RecordTableEffect.tsx +++ b/front/src/modules/metadata/components/RecordTableEffect.tsx @@ -25,7 +25,7 @@ export const RecordTableEffect = () => { setAvailableFilterDefinitions, setAvailableFieldDefinitions, setViewType, - setViewObjectId, + setViewObjectMetadataId, } = useView(); useTableObjects(); @@ -34,7 +34,7 @@ export const RecordTableEffect = () => { if (!foundObjectMetadataItem) { return; } - setViewObjectId?.(foundObjectMetadataItem.id); + setViewObjectMetadataId?.(foundObjectMetadataItem.id); setViewType?.(ViewType.Table); setAvailableSortDefinitions?.(sortDefinitions); @@ -43,7 +43,7 @@ export const RecordTableEffect = () => { setAvailableTableColumns(columnDefinitions); }, [ - setViewObjectId, + setViewObjectMetadataId, setViewType, columnDefinitions, setAvailableSortDefinitions, diff --git a/front/src/modules/metadata/hooks/useCreateOneObject.ts b/front/src/modules/metadata/hooks/useCreateOneObject.ts index e17ca153e..764fa1e12 100644 --- a/front/src/modules/metadata/hooks/useCreateOneObject.ts +++ b/front/src/modules/metadata/hooks/useCreateOneObject.ts @@ -15,6 +15,7 @@ const defaultFieldValues: Record = { [FieldMetadataType.Email]: '', [FieldMetadataType.Enum]: null, [FieldMetadataType.Number]: null, + [FieldMetadataType.Relation]: null, [FieldMetadataType.Phone]: '', [FieldMetadataType.Text]: '', [FieldMetadataType.Url]: { link: '', text: '' }, diff --git a/front/src/modules/metadata/hooks/useFindOneObject.ts b/front/src/modules/metadata/hooks/useFindOneObject.ts index 6bf4baf42..454d96566 100644 --- a/front/src/modules/metadata/hooks/useFindOneObject.ts +++ b/front/src/modules/metadata/hooks/useFindOneObject.ts @@ -8,10 +8,10 @@ export const useFindOneObject = < ObjectType extends { id: string } & Record, >({ objectNameSingular, - objectId, + objectMetadataId, onCompleted, }: Pick & { - objectId: string | undefined; + objectMetadataId: string | undefined; onCompleted?: (data: ObjectType) => void; }) => { const { foundObjectMetadataItem, objectNotFoundInMetadata, findOneQuery } = @@ -21,11 +21,11 @@ export const useFindOneObject = < const { data, loading, error } = useQuery< { [nameSingular: string]: ObjectType }, - { objectId: string } + { objectMetadataId: string } >(findOneQuery, { - skip: !foundObjectMetadataItem || !objectId, + skip: !foundObjectMetadataItem || !objectMetadataId, variables: { - objectId: objectId ?? '', + objectMetadataId: objectMetadataId ?? '', }, onCompleted: (data) => { if (onCompleted && objectNameSingular) { diff --git a/front/src/modules/metadata/hooks/useMetadataField.ts b/front/src/modules/metadata/hooks/useMetadataField.ts index bb898d3e9..938fafdab 100644 --- a/front/src/modules/metadata/hooks/useMetadataField.ts +++ b/front/src/modules/metadata/hooks/useMetadataField.ts @@ -14,13 +14,13 @@ export const useMetadataField = () => { const createMetadataField = ( input: Pick & { - objectId: string; + objectMetadataId: string; type: MetadataFieldDataType; }, ) => createOneMetadataField({ ...formatMetadataFieldInput(input), - objectId: input.objectId, + objectId: input.objectMetadataId, type: input.type, }); @@ -28,19 +28,19 @@ export const useMetadataField = () => { input: Pick, ) => updateOneMetadataField({ - fieldIdToUpdate: input.id, + fieldMetadataIdToUpdate: input.id, updatePayload: formatMetadataFieldInput(input), }); const activateMetadataField = (metadataField: Field) => updateOneMetadataField({ - fieldIdToUpdate: metadataField.id, + fieldMetadataIdToUpdate: metadataField.id, updatePayload: { isActive: true }, }); const disableMetadataField = (metadataField: Field) => updateOneMetadataField({ - fieldIdToUpdate: metadataField.id, + fieldMetadataIdToUpdate: metadataField.id, updatePayload: { isActive: false }, }); diff --git a/front/src/modules/metadata/hooks/useUpdateOneMetadataField.ts b/front/src/modules/metadata/hooks/useUpdateOneMetadataField.ts index 43506b9ba..8df8fbdbb 100644 --- a/front/src/modules/metadata/hooks/useUpdateOneMetadataField.ts +++ b/front/src/modules/metadata/hooks/useUpdateOneMetadataField.ts @@ -22,10 +22,10 @@ export const useUpdateOneMetadataField = () => { }); const updateOneMetadataField = async ({ - fieldIdToUpdate, + fieldMetadataIdToUpdate, updatePayload, }: { - fieldIdToUpdate: UpdateOneMetadataFieldMutationVariables['idToUpdate']; + fieldMetadataIdToUpdate: UpdateOneMetadataFieldMutationVariables['idToUpdate']; updatePayload: Pick< UpdateOneMetadataFieldMutationVariables['updatePayload'], 'description' | 'icon' | 'isActive' | 'label' | 'name' @@ -33,7 +33,7 @@ export const useUpdateOneMetadataField = () => { }) => { return await mutate({ variables: { - idToUpdate: fieldIdToUpdate, + idToUpdate: fieldMetadataIdToUpdate, updatePayload: { ...updatePayload, label: updatePayload.label ?? undefined, diff --git a/front/src/modules/metadata/utils/formatMetadataFieldAsColumnDefinition.ts b/front/src/modules/metadata/utils/formatMetadataFieldAsColumnDefinition.ts index c2c2d53aa..f744d64b0 100644 --- a/front/src/modules/metadata/utils/formatMetadataFieldAsColumnDefinition.ts +++ b/front/src/modules/metadata/utils/formatMetadataFieldAsColumnDefinition.ts @@ -19,7 +19,7 @@ export const formatMetadataFieldAsColumnDefinition = ({ icons: Record; }): ColumnDefinition => ({ position, - fieldId: field.id, + fieldMetadataId: field.id, label: field.label, size: 100, type: parseFieldType(field.type), diff --git a/front/src/modules/metadata/utils/formatMetadataFieldAsFilterDefinition.ts b/front/src/modules/metadata/utils/formatMetadataFieldAsFilterDefinition.ts index 016fb1016..56bc5b837 100644 --- a/front/src/modules/metadata/utils/formatMetadataFieldAsFilterDefinition.ts +++ b/front/src/modules/metadata/utils/formatMetadataFieldAsFilterDefinition.ts @@ -9,7 +9,7 @@ export const formatMetadataFieldAsFilterDefinition = ({ field: ObjectMetadataItem['fields'][0]; icons: Record; }): FilterDefinition => ({ - fieldId: field.id, + fieldMetadataId: field.id, label: field.label, Icon: icons[field.icon ?? 'Icon123'], type: 'TEXT', diff --git a/front/src/modules/metadata/utils/formatMetadataFieldAsSortDefinition.ts b/front/src/modules/metadata/utils/formatMetadataFieldAsSortDefinition.ts index 2b5fd8d26..899d5c4d7 100644 --- a/front/src/modules/metadata/utils/formatMetadataFieldAsSortDefinition.ts +++ b/front/src/modules/metadata/utils/formatMetadataFieldAsSortDefinition.ts @@ -9,7 +9,7 @@ export const formatMetadataFieldAsSortDefinition = ({ field: ObjectMetadataItem['fields'][0]; icons: Record; }): SortDefinition => ({ - fieldId: field.id, + fieldMetadataId: field.id, label: field.label, Icon: icons[field.icon ?? 'Icon123'], }); diff --git a/front/src/modules/metadata/utils/generateFindOneCustomObjectQuery.ts b/front/src/modules/metadata/utils/generateFindOneCustomObjectQuery.ts index 4a996e4e7..c585b11d2 100644 --- a/front/src/modules/metadata/utils/generateFindOneCustomObjectQuery.ts +++ b/front/src/modules/metadata/utils/generateFindOneCustomObjectQuery.ts @@ -10,10 +10,10 @@ export const generateFindOneCustomObjectQuery = ({ objectMetadataItem: ObjectMetadataItem; }) => { return gql` - query FindOne${objectMetadataItem.nameSingular}($objectId: UUID!) { + query FindOne${objectMetadataItem.nameSingular}($objectMetadataId: UUID!) { ${objectMetadataItem.nameSingular}(filter: { id: { - eq: $objectId + eq: $objectMetadataId } }){ id diff --git a/front/src/modules/people/constants/peopleAvailableFieldDefinitions.tsx b/front/src/modules/people/constants/peopleAvailableFieldDefinitions.tsx index ad82e7914..9365386a0 100644 --- a/front/src/modules/people/constants/peopleAvailableFieldDefinitions.tsx +++ b/front/src/modules/people/constants/peopleAvailableFieldDefinitions.tsx @@ -27,7 +27,7 @@ import { getLogoUrlFromDomainName } from '~/utils'; export const peopleAvailableFieldDefinitions: ColumnDefinition[] = [ { - fieldId: 'displayName', + fieldMetadataId: 'displayName', label: 'People', Icon: IconUser, size: 210, @@ -45,7 +45,7 @@ export const peopleAvailableFieldDefinitions: ColumnDefinition[] basePathToShowPage: '/person/', } satisfies ColumnDefinition, { - fieldId: 'email', + fieldMetadataId: 'email', label: 'Email', Icon: IconMail, size: 150, @@ -58,7 +58,7 @@ export const peopleAvailableFieldDefinitions: ColumnDefinition[] infoTooltipContent: 'Contact’s Email.', } satisfies ColumnDefinition, { - fieldId: 'company', + fieldMetadataId: 'company', label: 'Company', Icon: IconBuildingSkyscraper, size: 150, @@ -78,7 +78,7 @@ export const peopleAvailableFieldDefinitions: ColumnDefinition[] }, } satisfies ColumnDefinition, { - fieldId: 'phone', + fieldMetadataId: 'phone', label: 'Phone', Icon: IconPhone, size: 150, @@ -91,7 +91,7 @@ export const peopleAvailableFieldDefinitions: ColumnDefinition[] infoTooltipContent: 'Contact’s phone number.', } satisfies ColumnDefinition, { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', label: 'Creation', Icon: IconCalendarEvent, size: 150, @@ -103,7 +103,7 @@ export const peopleAvailableFieldDefinitions: ColumnDefinition[] infoTooltipContent: 'Date when the contact was added.', } satisfies ColumnDefinition, { - fieldId: 'city', + fieldMetadataId: 'city', label: 'City', Icon: IconMap, size: 150, @@ -116,7 +116,7 @@ export const peopleAvailableFieldDefinitions: ColumnDefinition[] infoTooltipContent: 'Contact’s city.', } satisfies ColumnDefinition, { - fieldId: 'jobTitle', + fieldMetadataId: 'jobTitle', label: 'Job title', Icon: IconBriefcase, size: 150, @@ -129,7 +129,7 @@ export const peopleAvailableFieldDefinitions: ColumnDefinition[] infoTooltipContent: 'Contact’s job title.', } satisfies ColumnDefinition, { - fieldId: 'linkedin', + fieldMetadataId: 'linkedin', label: 'LinkedIn', Icon: IconBrandLinkedin, size: 150, @@ -142,7 +142,7 @@ export const peopleAvailableFieldDefinitions: ColumnDefinition[] infoTooltipContent: 'Contact’s Linkedin account.', } satisfies ColumnDefinition, { - fieldId: 'x', + fieldMetadataId: 'x', label: 'Twitter', Icon: IconBrandX, size: 150, diff --git a/front/src/modules/people/table/components/PersonTableEffect.tsx b/front/src/modules/people/table/components/PersonTableEffect.tsx index 8b4d37901..bab875091 100644 --- a/front/src/modules/people/table/components/PersonTableEffect.tsx +++ b/front/src/modules/people/table/components/PersonTableEffect.tsx @@ -13,7 +13,7 @@ const PeopleTableEffect = () => { setAvailableFilterDefinitions, setAvailableFieldDefinitions, setViewType, - setViewObjectId, + setViewObjectMetadataId, } = useView(); const { setAvailableTableColumns, setTableColumns } = useRecordTable(); @@ -22,7 +22,7 @@ const PeopleTableEffect = () => { setAvailableSortDefinitions?.(personTableSortDefinitions); setAvailableFilterDefinitions?.(personTableFilterDefinitions); setAvailableFieldDefinitions?.(peopleAvailableFieldDefinitions); - setViewObjectId?.('person'); + setViewObjectMetadataId?.('person'); setViewType?.(ViewType.Table); setAvailableTableColumns(peopleAvailableFieldDefinitions); @@ -32,7 +32,7 @@ const PeopleTableEffect = () => { setAvailableSortDefinitions, setAvailableTableColumns, setTableColumns, - setViewObjectId, + setViewObjectMetadataId, setViewType, ]); diff --git a/front/src/modules/pipeline/constants/pipelineAvailableFieldDefinitions.tsx b/front/src/modules/pipeline/constants/pipelineAvailableFieldDefinitions.tsx index c29caff32..49834d68c 100644 --- a/front/src/modules/pipeline/constants/pipelineAvailableFieldDefinitions.tsx +++ b/front/src/modules/pipeline/constants/pipelineAvailableFieldDefinitions.tsx @@ -18,7 +18,7 @@ import { Person } from '~/generated/graphql'; export const pipelineAvailableFieldDefinitions: ColumnDefinition[] = [ { - fieldId: 'closeDate', + fieldMetadataId: 'closeDate', label: 'Close Date', Icon: IconCalendarEvent, position: 0, @@ -32,7 +32,7 @@ export const pipelineAvailableFieldDefinitions: ColumnDefinition[ 'Specified date by which an opportunity must be completed.', } satisfies ColumnDefinition, { - fieldId: 'amount', + fieldMetadataId: 'amount', label: 'Amount', Icon: IconCurrencyDollar, position: 1, @@ -46,7 +46,7 @@ export const pipelineAvailableFieldDefinitions: ColumnDefinition[ infoTooltipContent: 'Potential monetary value of a business opportunity.', } satisfies ColumnDefinition, { - fieldId: 'probability', + fieldMetadataId: 'probability', label: 'Probability', Icon: IconProgressCheck, position: 2, @@ -60,7 +60,7 @@ export const pipelineAvailableFieldDefinitions: ColumnDefinition[ "Level of certainty in the lead's potential to convert into a success.", } satisfies ColumnDefinition, { - fieldId: 'pointOfContact', + fieldMetadataId: 'pointOfContact', label: 'Point of Contact', Icon: IconUser, position: 3, diff --git a/front/src/modules/settings/data-model/components/SettingsObjectFieldPreview.tsx b/front/src/modules/settings/data-model/components/SettingsObjectFieldPreview.tsx index ae8ab2b84..b53bc1b50 100644 --- a/front/src/modules/settings/data-model/components/SettingsObjectFieldPreview.tsx +++ b/front/src/modules/settings/data-model/components/SettingsObjectFieldPreview.tsx @@ -141,7 +141,7 @@ export const SettingsObjectFieldPreview = ({ fieldDefinition: { type: parseFieldType(fieldType as FieldMetadataType), Icon: FieldIcon, - fieldId: '', + fieldMetadataId: '', label: fieldLabel, metadata: { fieldName: fieldName || 'new-field' }, }, diff --git a/front/src/modules/types/AppPath.ts b/front/src/modules/types/AppPath.ts index 629c2ccb9..11f501e21 100644 --- a/front/src/modules/types/AppPath.ts +++ b/front/src/modules/types/AppPath.ts @@ -19,7 +19,7 @@ export enum AppPath { OpportunitiesPage = '/opportunities', RecordTablePage = '/objects/:objectNamePlural', - RecordShowPage = '/object/:objectNameSingular/:objectId', + RecordShowPage = '/object/:objectNameSingular/:objectMetadataId', SettingsCatchAll = `/settings/*`, DevelopersCatchAll = `/developers/*`, diff --git a/front/src/modules/ui/layout/board/hooks/useBoardCardFields.ts b/front/src/modules/ui/layout/board/hooks/useBoardCardFields.ts index 71818f362..35cc98415 100644 --- a/front/src/modules/ui/layout/board/hooks/useBoardCardFields.ts +++ b/front/src/modules/ui/layout/board/hooks/useBoardCardFields.ts @@ -19,7 +19,7 @@ export const useBoardCardFields = () => { ) => { setBoardCardFields((previousFields) => previousFields.map((previousField) => - previousField.fieldId === field.fieldId + previousField.fieldMetadataId === field.fieldMetadataId ? { ...previousField, isVisible: !field.isVisible } : previousField, ), diff --git a/front/src/modules/ui/layout/board/states/selectors/boardCardFieldsByKeyScopedSelector.ts b/front/src/modules/ui/layout/board/states/selectors/boardCardFieldsByKeyScopedSelector.ts index ef741eaf5..cebd20e36 100644 --- a/front/src/modules/ui/layout/board/states/selectors/boardCardFieldsByKeyScopedSelector.ts +++ b/front/src/modules/ui/layout/board/states/selectors/boardCardFieldsByKeyScopedSelector.ts @@ -12,5 +12,5 @@ export const boardCardFieldsByKeyScopedSelector = selectorFamily({ ({ get }) => get(boardCardFieldsScopedState(scopeId)).reduce< Record> - >((result, field) => ({ ...result, [field.fieldId]: field }), {}), + >((result, field) => ({ ...result, [field.fieldMetadataId]: field }), {}), }); diff --git a/front/src/modules/ui/layout/board/states/selectors/hiddenBoardCardFieldsScopedSelector.ts b/front/src/modules/ui/layout/board/states/selectors/hiddenBoardCardFieldsScopedSelector.ts index 2376296f1..29c56cc4c 100644 --- a/front/src/modules/ui/layout/board/states/selectors/hiddenBoardCardFieldsScopedSelector.ts +++ b/front/src/modules/ui/layout/board/states/selectors/hiddenBoardCardFieldsScopedSelector.ts @@ -9,10 +9,10 @@ export const hiddenBoardCardFieldsScopedSelector = selectorFamily({ (scopeId: string) => ({ get }) => { const fields = get(boardCardFieldsScopedState(scopeId)); - const fieldKeys = fields.map(({ fieldId }) => fieldId); + const fieldKeys = fields.map(({ fieldMetadataId }) => fieldMetadataId); const otherAvailableKeys = get( availableBoardCardFieldsScopedState(scopeId), - ).filter(({ fieldId }) => !fieldKeys.includes(fieldId)); + ).filter(({ fieldMetadataId }) => !fieldKeys.includes(fieldMetadataId)); return [ ...fields.filter((field) => !field.isVisible), diff --git a/front/src/modules/ui/layout/board/states/selectors/savedBoardCardFieldsByKeyFamilySelector.ts b/front/src/modules/ui/layout/board/states/selectors/savedBoardCardFieldsByKeyFamilySelector.ts index af64c0fb2..891ed831f 100644 --- a/front/src/modules/ui/layout/board/states/selectors/savedBoardCardFieldsByKeyFamilySelector.ts +++ b/front/src/modules/ui/layout/board/states/selectors/savedBoardCardFieldsByKeyFamilySelector.ts @@ -12,5 +12,5 @@ export const savedBoardCardFieldsByKeyFamilySelector = selectorFamily({ ({ get }) => get(savedBoardCardFieldsFamilyState(viewId)).reduce< Record> - >((result, field) => ({ ...result, [field.fieldId]: field }), {}), + >((result, field) => ({ ...result, [field.fieldMetadataId]: field }), {}), }); diff --git a/front/src/modules/ui/object/field/hooks/useFieldInitialValue.ts b/front/src/modules/ui/object/field/hooks/useFieldInitialValue.ts index b228b1b98..a99563a40 100644 --- a/front/src/modules/ui/object/field/hooks/useFieldInitialValue.ts +++ b/front/src/modules/ui/object/field/hooks/useFieldInitialValue.ts @@ -9,7 +9,7 @@ export const useFieldInitialValue = () => { const fieldInitialValue = useRecoilValue( entityFieldInitialValueFamilyState({ - fieldId: fieldDefinition.fieldId, + fieldMetadataId: fieldDefinition.fieldMetadataId, entityId, }), ); diff --git a/front/src/modules/ui/object/field/hooks/useIsFieldEmpty.ts b/front/src/modules/ui/object/field/hooks/useIsFieldEmpty.ts index cbb75fefc..b7af6865a 100644 --- a/front/src/modules/ui/object/field/hooks/useIsFieldEmpty.ts +++ b/front/src/modules/ui/object/field/hooks/useIsFieldEmpty.ts @@ -10,7 +10,7 @@ export const useIsFieldEmpty = () => { const isFieldEmpty = useRecoilValue( isEntityFieldEmptyFamilySelector({ fieldDefinition: { - fieldId: fieldDefinition.fieldId, + fieldMetadataId: fieldDefinition.fieldMetadataId, label: fieldDefinition.label, type: fieldDefinition.type, metadata: fieldDefinition.metadata, diff --git a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/DateFieldDisplay.stories.tsx b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/DateFieldDisplay.stories.tsx index 97b473694..cf05e8a53 100644 --- a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/DateFieldDisplay.stories.tsx +++ b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/DateFieldDisplay.stories.tsx @@ -27,7 +27,7 @@ const meta: Meta = { value={{ entityId: '', fieldDefinition: { - fieldId: 'date', + fieldMetadataId: 'date', label: 'Date', type: 'DATE', metadata: { diff --git a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/DoubleTextFieldDisplay.stories.tsx b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/DoubleTextFieldDisplay.stories.tsx index 0385c176f..dd9ab566b 100644 --- a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/DoubleTextFieldDisplay.stories.tsx +++ b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/DoubleTextFieldDisplay.stories.tsx @@ -32,7 +32,7 @@ const meta: Meta = { value={{ entityId: '', fieldDefinition: { - fieldId: 'double-text', + fieldMetadataId: 'double-text', label: 'Double-Text', type: 'DOUBLE_TEXT', metadata: { diff --git a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/EmailFieldDisplay.stories.tsx b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/EmailFieldDisplay.stories.tsx index e0d7b612d..76fa24092 100644 --- a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/EmailFieldDisplay.stories.tsx +++ b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/EmailFieldDisplay.stories.tsx @@ -26,7 +26,7 @@ const meta: Meta = { value={{ entityId: '', fieldDefinition: { - fieldId: 'email', + fieldMetadataId: 'email', label: 'Email', type: 'EMAIL', metadata: { diff --git a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/MoneyFieldDisplay.stories.tsx b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/MoneyFieldDisplay.stories.tsx index 157f27b73..2028056a6 100644 --- a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/MoneyFieldDisplay.stories.tsx +++ b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/MoneyFieldDisplay.stories.tsx @@ -25,7 +25,7 @@ const meta: Meta = { value={{ entityId: '', fieldDefinition: { - fieldId: 'money', + fieldMetadataId: 'money', label: 'Money', type: 'MONEY_AMOUNT', metadata: { diff --git a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/NumberFieldDisplay.stories.tsx b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/NumberFieldDisplay.stories.tsx index 02bdffdef..456096f63 100644 --- a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/NumberFieldDisplay.stories.tsx +++ b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/NumberFieldDisplay.stories.tsx @@ -25,7 +25,7 @@ const meta: Meta = { value={{ entityId: '', fieldDefinition: { - fieldId: 'number', + fieldMetadataId: 'number', label: 'Number', type: 'NUMBER', metadata: { diff --git a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/PhoneFieldDisplay.stories.tsx b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/PhoneFieldDisplay.stories.tsx index 1d8265d52..dfd48f2b9 100644 --- a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/PhoneFieldDisplay.stories.tsx +++ b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/PhoneFieldDisplay.stories.tsx @@ -26,7 +26,7 @@ const meta: Meta = { value={{ entityId: '', fieldDefinition: { - fieldId: 'phone', + fieldMetadataId: 'phone', label: 'Phone', type: 'PHONE', metadata: { diff --git a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/TextFieldDisplay.stories.tsx b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/TextFieldDisplay.stories.tsx index d405fafe7..9434539af 100644 --- a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/TextFieldDisplay.stories.tsx +++ b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/TextFieldDisplay.stories.tsx @@ -25,7 +25,7 @@ const meta: Meta = { value={{ entityId: '', fieldDefinition: { - fieldId: 'text', + fieldMetadataId: 'text', label: 'Text', type: 'TEXT', metadata: { diff --git a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/URLFieldDisplay.stories.tsx b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/URLFieldDisplay.stories.tsx index f377fa945..aaee99662 100644 --- a/front/src/modules/ui/object/field/meta-types/display/components/__stories__/URLFieldDisplay.stories.tsx +++ b/front/src/modules/ui/object/field/meta-types/display/components/__stories__/URLFieldDisplay.stories.tsx @@ -26,7 +26,7 @@ const meta: Meta = { value={{ entityId: '', fieldDefinition: { - fieldId: 'URL', + fieldMetadataId: 'URL', label: 'URL', type: 'URL', metadata: { diff --git a/front/src/modules/ui/object/field/meta-types/input/components/__stories__/BooleanFieldInput.stories.tsx b/front/src/modules/ui/object/field/meta-types/input/components/__stories__/BooleanFieldInput.stories.tsx index 9b9df6376..0a5c1c1b5 100644 --- a/front/src/modules/ui/object/field/meta-types/input/components/__stories__/BooleanFieldInput.stories.tsx +++ b/front/src/modules/ui/object/field/meta-types/input/components/__stories__/BooleanFieldInput.stories.tsx @@ -34,7 +34,7 @@ const BooleanFieldInputWithContext = ({ return ( ({ key: 'entityFieldInitialValueFamilyState', default: undefined, diff --git a/front/src/modules/ui/object/field/states/selectors/isEntityFieldEmptyFamilySelector.ts b/front/src/modules/ui/object/field/states/selectors/isEntityFieldEmptyFamilySelector.ts index df376d025..8b1f479ea 100644 --- a/front/src/modules/ui/object/field/states/selectors/isEntityFieldEmptyFamilySelector.ts +++ b/front/src/modules/ui/object/field/states/selectors/isEntityFieldEmptyFamilySelector.ts @@ -33,7 +33,7 @@ export const isEntityFieldEmptyFamilySelector = selectorFamily({ }: { fieldDefinition: Pick< FieldDefinition, - 'type' | 'metadata' | 'fieldId' | 'label' + 'type' | 'metadata' | 'fieldMetadataId' | 'label' >; entityId: string; }) => { diff --git a/front/src/modules/ui/object/field/types/FieldDefinition.ts b/front/src/modules/ui/object/field/types/FieldDefinition.ts index 92113e5d6..37b6a618d 100644 --- a/front/src/modules/ui/object/field/types/FieldDefinition.ts +++ b/front/src/modules/ui/object/field/types/FieldDefinition.ts @@ -5,7 +5,7 @@ import { FieldMetadata } from './FieldMetadata'; import { FieldType } from './FieldType'; export type FieldDefinition = { - fieldId: string; + fieldMetadataId: string; label: string; Icon?: IconComponent; type: FieldType; diff --git a/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownDateSearchInput.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownDateSearchInput.tsx index 333d968d3..bcad9464e 100644 --- a/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownDateSearchInput.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownDateSearchInput.tsx @@ -14,7 +14,7 @@ export const ObjectFilterDropdownDateSearchInput = () => { if (!filterDefinitionUsedInDropdown || !selectedOperandInDropdown) return; selectFilter?.({ - fieldId: filterDefinitionUsedInDropdown.fieldId, + fieldMetadataId: filterDefinitionUsedInDropdown.fieldMetadataId, value: date.toISOString(), operand: selectedOperandInDropdown, displayValue: date.toLocaleDateString(), diff --git a/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchSelect.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchSelect.tsx index f697b541c..9e1b2b627 100644 --- a/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchSelect.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchSelect.tsx @@ -42,7 +42,7 @@ export const ObjectFilterDropdownEntitySearchSelect = ({ selectFilter?.({ displayValue: selectedEntity.name, - fieldId: filterDefinitionUsedInDropdown.fieldId, + fieldMetadataId: filterDefinitionUsedInDropdown.fieldMetadataId, operand: selectedOperandInDropdown, value: selectedEntity.id, displayAvatarUrl: selectedEntity.avatarUrl, @@ -72,7 +72,7 @@ export const ObjectFilterDropdownEntitySearchSelect = ({ selectFilter?.({ displayValue: filterDefinitionUsedInDropdown.selectAllLabel, - fieldId: filterDefinitionUsedInDropdown.fieldId, + fieldMetadataId: filterDefinitionUsedInDropdown.fieldMetadataId, operand: ViewFilterOperand.IsNotNull, value: '', definition: filterDefinitionUsedInDropdown, diff --git a/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownNumberSearchInput.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownNumberSearchInput.tsx index a7130feb0..e4c58a1ad 100644 --- a/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownNumberSearchInput.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownNumberSearchInput.tsx @@ -20,7 +20,7 @@ export const ObjectFilterDropdownNumberSearchInput = () => { placeholder={filterDefinitionUsedInDropdown.label} onChange={(event: ChangeEvent) => { selectFilter?.({ - fieldId: filterDefinitionUsedInDropdown.fieldId, + fieldMetadataId: filterDefinitionUsedInDropdown.fieldMetadataId, value: event.target.value, operand: selectedOperandInDropdown, displayValue: event.target.value, diff --git a/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx index 82ca978d2..596efe79c 100644 --- a/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx @@ -26,7 +26,7 @@ export const ObjectFilterDropdownOperandSelect = () => { if (filterDefinitionUsedInDropdown && selectedFilter) { selectFilter?.({ - fieldId: selectedFilter.fieldId, + fieldMetadataId: selectedFilter.fieldMetadataId, displayValue: selectedFilter.displayValue, operand: newOperand, value: selectedFilter.value, diff --git a/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownTextSearchInput.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownTextSearchInput.tsx index 66811672b..f33106cd2 100644 --- a/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownTextSearchInput.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownTextSearchInput.tsx @@ -26,7 +26,7 @@ export const ObjectFilterDropdownTextSearchInput = () => { setObjectFilterDropdownSearchInput(event.target.value); selectFilter?.({ - fieldId: filterDefinitionUsedInDropdown.fieldId, + fieldMetadataId: filterDefinitionUsedInDropdown.fieldMetadataId, value: event.target.value, operand: selectedOperandInDropdown, displayValue: event.target.value, diff --git a/front/src/modules/ui/object/object-filter-dropdown/types/Filter.ts b/front/src/modules/ui/object/object-filter-dropdown/types/Filter.ts index a41fdfdb4..bb72dfd46 100644 --- a/front/src/modules/ui/object/object-filter-dropdown/types/Filter.ts +++ b/front/src/modules/ui/object/object-filter-dropdown/types/Filter.ts @@ -3,7 +3,7 @@ import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { FilterDefinition } from './FilterDefinition'; export type Filter = { - fieldId: string; + fieldMetadataId: string; value: string; displayValue: string; displayAvatarUrl?: string; diff --git a/front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinition.ts b/front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinition.ts index dd9bc07f5..6968c509e 100644 --- a/front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinition.ts +++ b/front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinition.ts @@ -3,7 +3,7 @@ import { IconComponent } from '@/ui/display/icon/types/IconComponent'; import { FilterType } from './FilterType'; export type FilterDefinition = { - fieldId: string; + fieldMetadataId: string; label: string; Icon: IconComponent; type: FilterType; diff --git a/front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinitionByEntity.ts b/front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinitionByEntity.ts index f351f9e01..4723227eb 100644 --- a/front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinitionByEntity.ts +++ b/front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinitionByEntity.ts @@ -1,5 +1,5 @@ import { FilterDefinition } from './FilterDefinition'; export type FilterDefinitionByEntity = FilterDefinition & { - fieldId: keyof T; + fieldMetadataId: keyof T; }; diff --git a/front/src/modules/ui/object/object-filter-dropdown/utils/turnFilterIntoWhereClause.ts b/front/src/modules/ui/object/object-filter-dropdown/utils/turnFilterIntoWhereClause.ts index e6c600f4a..c0a9e6662 100644 --- a/front/src/modules/ui/object/object-filter-dropdown/utils/turnFilterIntoWhereClause.ts +++ b/front/src/modules/ui/object/object-filter-dropdown/utils/turnFilterIntoWhereClause.ts @@ -18,7 +18,7 @@ export const turnFilterIntoWhereClause = ( switch (filter.operand) { case ViewFilterOperand.IsNotNull: return { - [filter.fieldId]: { + [filter.fieldMetadataId]: { not: null, }, }; @@ -28,14 +28,14 @@ export const turnFilterIntoWhereClause = ( switch (filter.operand) { case ViewFilterOperand.Contains: return { - [filter.fieldId]: { + [filter.fieldMetadataId]: { contains: filter.value, mode: QueryMode.Insensitive, }, }; case ViewFilterOperand.DoesNotContain: return { - [filter.fieldId]: { + [filter.fieldMetadataId]: { not: { contains: filter.value, mode: QueryMode.Insensitive, @@ -51,13 +51,13 @@ export const turnFilterIntoWhereClause = ( switch (filter.operand) { case ViewFilterOperand.GreaterThan: return { - [filter.fieldId]: { + [filter.fieldMetadataId]: { gte: parseFloat(filter.value), }, }; case ViewFilterOperand.LessThan: return { - [filter.fieldId]: { + [filter.fieldMetadataId]: { lte: parseFloat(filter.value), }, }; @@ -70,13 +70,13 @@ export const turnFilterIntoWhereClause = ( switch (filter.operand) { case ViewFilterOperand.GreaterThan: return { - [filter.fieldId]: { + [filter.fieldMetadataId]: { gte: filter.value, }, }; case ViewFilterOperand.LessThan: return { - [filter.fieldId]: { + [filter.fieldMetadataId]: { lte: filter.value, }, }; @@ -89,13 +89,13 @@ export const turnFilterIntoWhereClause = ( switch (filter.operand) { case ViewFilterOperand.Is: return { - [filter.fieldId]: { + [filter.fieldMetadataId]: { equals: filter.value, }, }; case ViewFilterOperand.IsNot: return { - [filter.fieldId]: { + [filter.fieldMetadataId]: { not: { equals: filter.value }, }, }; diff --git a/front/src/modules/ui/object/object-filter-dropdown/utils/turnFiltersIntoWhereClauseV2.ts b/front/src/modules/ui/object/object-filter-dropdown/utils/turnFiltersIntoWhereClauseV2.ts index 145883006..781fa21ea 100644 --- a/front/src/modules/ui/object/object-filter-dropdown/utils/turnFiltersIntoWhereClauseV2.ts +++ b/front/src/modules/ui/object/object-filter-dropdown/utils/turnFiltersIntoWhereClauseV2.ts @@ -17,11 +17,11 @@ export const turnFiltersIntoWhereClauseV2 = ( filters.forEach((filter) => { const correspondingField = fields.find( - (field) => field.id === filter.fieldId, + (field) => field.id === filter.fieldMetadataId, ); if (!correspondingField) { throw new Error( - `Could not find field ${filter.fieldId} in metadata object`, + `Could not find field ${filter.fieldMetadataId} in metadata object`, ); } diff --git a/front/src/modules/ui/object/object-sort-dropdown/components/ObjectSortDropdownButton.tsx b/front/src/modules/ui/object/object-sort-dropdown/components/ObjectSortDropdownButton.tsx index 1586f20af..bdcabc66f 100644 --- a/front/src/modules/ui/object/object-sort-dropdown/components/ObjectSortDropdownButton.tsx +++ b/front/src/modules/ui/object/object-sort-dropdown/components/ObjectSortDropdownButton.tsx @@ -50,7 +50,7 @@ export const ObjectSortDropdownButton = ({ const handleAddSort = (selectedSortDefinition: SortDefinition) => { toggleDropdown(); onSortSelect?.({ - fieldId: selectedSortDefinition.fieldId, + fieldMetadataId: selectedSortDefinition.fieldMetadataId, direction: selectedSortDirection, definition: selectedSortDefinition, }); diff --git a/front/src/modules/ui/object/object-sort-dropdown/types/Sort.ts b/front/src/modules/ui/object/object-sort-dropdown/types/Sort.ts index 2f39094b6..64a6b25da 100644 --- a/front/src/modules/ui/object/object-sort-dropdown/types/Sort.ts +++ b/front/src/modules/ui/object/object-sort-dropdown/types/Sort.ts @@ -2,7 +2,7 @@ import { SortDefinition } from './SortDefinition'; import { SortDirection } from './SortDirection'; export type Sort = { - fieldId: string; + fieldMetadataId: string; direction: SortDirection; definition: SortDefinition; }; diff --git a/front/src/modules/ui/object/object-sort-dropdown/types/SortDefinition.ts b/front/src/modules/ui/object/object-sort-dropdown/types/SortDefinition.ts index 83a1134e8..4fe06f5af 100644 --- a/front/src/modules/ui/object/object-sort-dropdown/types/SortDefinition.ts +++ b/front/src/modules/ui/object/object-sort-dropdown/types/SortDefinition.ts @@ -3,7 +3,7 @@ import { IconComponent } from '@/ui/display/icon/types/IconComponent'; import { SortDirection } from './SortDirection'; export type SortDefinition = { - fieldId: string; + fieldMetadataId: string; label: string; Icon?: IconComponent; getOrderByTemplate?: (direction: SortDirection) => any[]; diff --git a/front/src/modules/ui/object/object-sort-dropdown/utils/helpers.ts b/front/src/modules/ui/object/object-sort-dropdown/utils/helpers.ts index 028013941..e5bc4a085 100644 --- a/front/src/modules/ui/object/object-sort-dropdown/utils/helpers.ts +++ b/front/src/modules/ui/object/object-sort-dropdown/utils/helpers.ts @@ -10,7 +10,7 @@ export const reduceSortsToOrderBy = (sorts: Sort[]): any[] => if (sort.definition.getOrderByTemplate) { return sort.definition.getOrderByTemplate(direction); } else { - return [{ [sort.definition.fieldId]: direction }]; + return [{ [sort.definition.fieldMetadataId]: direction }]; } }) .flat(); diff --git a/front/src/modules/ui/object/object-sort-dropdown/utils/turnSortsIntoOrderByV2.ts b/front/src/modules/ui/object/object-sort-dropdown/utils/turnSortsIntoOrderByV2.ts index 306a030a2..b8a90a95b 100644 --- a/front/src/modules/ui/object/object-sort-dropdown/utils/turnSortsIntoOrderByV2.ts +++ b/front/src/modules/ui/object/object-sort-dropdown/utils/turnSortsIntoOrderByV2.ts @@ -9,11 +9,11 @@ export const turnSortsIntoOrderByV2 = ( const sortsObject: Record = {}; sorts.forEach((sort) => { const correspondingField = fields.find( - (field) => field.id === sort.fieldId, + (field) => field.id === sort.fieldMetadataId, ); if (!correspondingField) { throw new Error( - `Could not find field ${sort.fieldId} in metadata object`, + `Could not find field ${sort.fieldMetadataId} in metadata object`, ); } const direction = diff --git a/front/src/modules/ui/object/record-table/components/ColumnHeadWithDropdown.tsx b/front/src/modules/ui/object/record-table/components/ColumnHeadWithDropdown.tsx index 4f92fc954..dd84a7fef 100644 --- a/front/src/modules/ui/object/record-table/components/ColumnHeadWithDropdown.tsx +++ b/front/src/modules/ui/object/record-table/components/ColumnHeadWithDropdown.tsx @@ -21,7 +21,7 @@ export const ColumnHeadWithDropdown = ({ primaryColumnKey, }: ColumnHeadWithDropdownProps) => { return ( - + } dropdownComponents={ @@ -34,7 +34,7 @@ export const ColumnHeadWithDropdown = ({ } dropdownOffset={{ x: -1 }} dropdownPlacement="bottom-start" - dropdownHotkeyScope={{ scope: column.fieldId + '-header' }} + dropdownHotkeyScope={{ scope: column.fieldMetadataId + '-header' }} /> ); diff --git a/front/src/modules/ui/object/record-table/components/RecordTableColumnDropdownMenu.tsx b/front/src/modules/ui/object/record-table/components/RecordTableColumnDropdownMenu.tsx index ad2ba13a1..902b7a01d 100644 --- a/front/src/modules/ui/object/record-table/components/RecordTableColumnDropdownMenu.tsx +++ b/front/src/modules/ui/object/record-table/components/RecordTableColumnDropdownMenu.tsx @@ -46,7 +46,7 @@ export const RecordTableColumnDropdownMenu = ({ handleColumnVisibilityChange(column); }; - return column.fieldId === primaryColumnKey ? ( + return column.fieldMetadataId === primaryColumnKey ? ( <> ) : ( diff --git a/front/src/modules/ui/object/record-table/components/RecordTableHeader.tsx b/front/src/modules/ui/object/record-table/components/RecordTableHeader.tsx index 0fbbae3a1..5b7373435 100644 --- a/front/src/modules/ui/object/record-table/components/RecordTableHeader.tsx +++ b/front/src/modules/ui/object/record-table/components/RecordTableHeader.tsx @@ -156,7 +156,7 @@ export const RecordTableHeader = () => { if (nextWidth !== tableColumnsByKey[resizedFieldKey].size) { const nextColumns = tableColumns.map((column) => - column.fieldId === resizedFieldKey + column.fieldMetadataId === resizedFieldKey ? { ...column, size: nextWidth } : column, ); @@ -194,11 +194,13 @@ export const RecordTableHeader = () => { {visibleTableColumns.map((column) => ( @@ -209,14 +211,14 @@ export const RecordTableHeader = () => { isLastColumn={ column.position === visibleTableColumns.length - 1 } - primaryColumnKey={primaryColumn?.fieldId || ''} + primaryColumnKey={primaryColumn?.fieldMetadataId || ''} /> { - setResizedFieldKey(column.fieldId); + setResizedFieldKey(column.fieldMetadataId); }} /> diff --git a/front/src/modules/ui/object/record-table/components/RecordTableHeaderPlusButtonContent.tsx b/front/src/modules/ui/object/record-table/components/RecordTableHeaderPlusButtonContent.tsx index cb9b1b791..2be385f24 100644 --- a/front/src/modules/ui/object/record-table/components/RecordTableHeaderPlusButtonContent.tsx +++ b/front/src/modules/ui/object/record-table/components/RecordTableHeaderPlusButtonContent.tsx @@ -32,7 +32,7 @@ export const RecordTableHeaderPlusButtonContent = () => { {hiddenTableColumns.map((column) => ( columnA.position - columnB.position) .map((column, columnIndex) => { return ( - + ); diff --git a/front/src/modules/ui/object/record-table/hooks/useTableColumns.ts b/front/src/modules/ui/object/record-table/hooks/useTableColumns.ts index 1e8f380de..ced3ebe54 100644 --- a/front/src/modules/ui/object/record-table/hooks/useTableColumns.ts +++ b/front/src/modules/ui/object/record-table/hooks/useTableColumns.ts @@ -47,13 +47,14 @@ export const useTableColumns = () => { viewField: Omit, 'size' | 'position'>, ) => { const isNewColumn = !tableColumns.some( - (tableColumns) => tableColumns.fieldId === viewField.fieldId, + (tableColumns) => + tableColumns.fieldMetadataId === viewField.fieldMetadataId, ); if (isNewColumn) { const newColumn = availableTableColumns.find( (availableTableColumn) => - availableTableColumn.fieldId === viewField.fieldId, + availableTableColumn.fieldMetadataId === viewField.fieldMetadataId, ); if (!newColumn) return; @@ -65,7 +66,7 @@ export const useTableColumns = () => { await handleColumnsChange(nextColumns); } else { const nextColumns = tableColumns.map((previousColumn) => - previousColumn.fieldId === viewField.fieldId + previousColumn.fieldMetadataId === viewField.fieldMetadataId ? { ...previousColumn, isVisible: !viewField.isVisible } : previousColumn, ); @@ -82,7 +83,8 @@ export const useTableColumns = () => { column: ColumnDefinition, ) => { const currentColumnArrayIndex = visibleTableColumns.findIndex( - (visibleColumn) => visibleColumn.fieldId === column.fieldId, + (visibleColumn) => + visibleColumn.fieldMetadataId === column.fieldMetadataId, ); const columns = handleColumnMove( diff --git a/front/src/modules/ui/object/record-table/record-table-cell/hooks/useTableCell.ts b/front/src/modules/ui/object/record-table/record-table-cell/hooks/useTableCell.ts index 9b7d357ac..b578bbacf 100644 --- a/front/src/modules/ui/object/record-table/record-table-cell/hooks/useTableCell.ts +++ b/front/src/modules/ui/object/record-table/record-table-cell/hooks/useTableCell.ts @@ -42,7 +42,7 @@ export const useTableCell = () => { const [, setFieldInitialValue] = useRecoilState( entityFieldInitialValueFamilyState({ entityId, - fieldId: fieldDefinition.fieldId, + fieldMetadataId: fieldDefinition.fieldMetadataId, }), ); diff --git a/front/src/modules/ui/object/record-table/states/selectors/hiddenTableColumnsScopedSelector.ts b/front/src/modules/ui/object/record-table/states/selectors/hiddenTableColumnsScopedSelector.ts index d672233f8..658bf6e30 100644 --- a/front/src/modules/ui/object/record-table/states/selectors/hiddenTableColumnsScopedSelector.ts +++ b/front/src/modules/ui/object/record-table/states/selectors/hiddenTableColumnsScopedSelector.ts @@ -9,10 +9,10 @@ export const hiddenTableColumnsScopedSelector = selectorFamily({ (scopeId: string) => ({ get }) => { const columns = get(tableColumnsScopedState({ scopeId })); - const columnKeys = columns.map(({ fieldId }) => fieldId); + const columnKeys = columns.map(({ fieldMetadataId }) => fieldMetadataId); const otherAvailableColumns = get( availableTableColumnsScopedState({ scopeId }), - ).filter(({ fieldId }) => !columnKeys.includes(fieldId)); + ).filter(({ fieldMetadataId }) => !columnKeys.includes(fieldMetadataId)); return [ ...columns.filter((column) => !column.isVisible), diff --git a/front/src/modules/ui/object/record-table/states/selectors/savedTableColumnsByKeyFamilySelector.ts b/front/src/modules/ui/object/record-table/states/selectors/savedTableColumnsByKeyFamilySelector.ts index 1b8f121f8..094d74f62 100644 --- a/front/src/modules/ui/object/record-table/states/selectors/savedTableColumnsByKeyFamilySelector.ts +++ b/front/src/modules/ui/object/record-table/states/selectors/savedTableColumnsByKeyFamilySelector.ts @@ -12,5 +12,8 @@ export const savedTableColumnsByKeyFamilySelector = selectorFamily({ ({ get }) => get(savedTableColumnsFamilyState(viewId)).reduce< Record> - >((result, column) => ({ ...result, [column.fieldId]: column }), {}), + >( + (result, column) => ({ ...result, [column.fieldMetadataId]: column }), + {}, + ), }); diff --git a/front/src/modules/ui/object/record-table/states/selectors/tableColumnsByKeyScopedSelector.ts b/front/src/modules/ui/object/record-table/states/selectors/tableColumnsByKeyScopedSelector.ts index 419e32b55..7e4ab5826 100644 --- a/front/src/modules/ui/object/record-table/states/selectors/tableColumnsByKeyScopedSelector.ts +++ b/front/src/modules/ui/object/record-table/states/selectors/tableColumnsByKeyScopedSelector.ts @@ -12,5 +12,8 @@ export const tableColumnsByKeyScopedSelector = selectorFamily({ ({ get }) => get(tableColumnsScopedState({ scopeId })).reduce< Record> - >((result, column) => ({ ...result, [column.fieldId]: column }), {}), + >( + (result, column) => ({ ...result, [column.fieldMetadataId]: column }), + {}, + ), }); diff --git a/front/src/modules/ui/object/record-table/states/selectors/visibleTableColumnsScopedSelector.ts b/front/src/modules/ui/object/record-table/states/selectors/visibleTableColumnsScopedSelector.ts index 476a1a1d3..348f371d8 100644 --- a/front/src/modules/ui/object/record-table/states/selectors/visibleTableColumnsScopedSelector.ts +++ b/front/src/modules/ui/object/record-table/states/selectors/visibleTableColumnsScopedSelector.ts @@ -11,12 +11,13 @@ export const visibleTableColumnsScopedSelector = selectorFamily({ const columns = get(tableColumnsScopedState({ scopeId })); const availableColumnKeys = get( availableTableColumnsScopedState({ scopeId }), - ).map(({ fieldId }) => fieldId); + ).map(({ fieldMetadataId }) => fieldMetadataId); return [...columns] .filter( (column) => - column.isVisible && availableColumnKeys.includes(column.fieldId), + column.isVisible && + availableColumnKeys.includes(column.fieldMetadataId), ) .sort((a, b) => a.position - b.position); }, diff --git a/front/src/modules/views/components/ViewBarDetails.tsx b/front/src/modules/views/components/ViewBarDetails.tsx index 97a254284..a362e50f7 100644 --- a/front/src/modules/views/components/ViewBarDetails.tsx +++ b/front/src/modules/views/components/ViewBarDetails.tsx @@ -126,12 +126,12 @@ export const ViewBarDetails = ({ {currentViewSorts?.map((sort) => { return ( removeViewSort(sort.fieldId)} + onRemove={() => removeViewSort(sort.fieldMetadataId)} /> ); })} @@ -143,15 +143,15 @@ export const ViewBarDetails = ({ {currentViewFilters?.map((filter) => { return ( { - removeViewFilter(filter.fieldId); + removeViewFilter(filter.fieldMetadataId); }} /> ); diff --git a/front/src/modules/views/components/ViewBarEffect.tsx b/front/src/modules/views/components/ViewBarEffect.tsx index 24e97e52a..8ffd6413c 100644 --- a/front/src/modules/views/components/ViewBarEffect.tsx +++ b/front/src/modules/views/components/ViewBarEffect.tsx @@ -28,21 +28,24 @@ export const ViewBarEffect = () => { const [searchParams] = useSearchParams(); const currentViewIdFromUrl = searchParams.get('view'); - const { viewTypeState, viewObjectIdState } = useViewScopedStates(); + const { viewTypeState, viewObjectMetadataIdState } = useViewScopedStates(); const viewType = useRecoilValue(viewTypeState); - const viewObjectId = useRecoilValue(viewObjectIdState); + const viewObjectMetadataId = useRecoilValue(viewObjectMetadataIdState); useFindManyObjects({ objectNamePlural: 'viewsV2', - filter: { type: { eq: viewType }, objectId: { eq: viewObjectId } }, + filter: { + type: { eq: viewType }, + objectMetadataId: { eq: viewObjectMetadataId }, + }, onCompleted: useRecoilCallback( ({ snapshot, set }) => async (data: PaginatedObjectTypeResults) => { const nextViews = data.edges.map((view) => ({ id: view.node.id, name: view.node.name, - objectId: view.node.objectId, + objectMetadataId: view.node.objectMetadataId, })); const { viewsState } = getViewScopedStatesFromSnapshot({ @@ -132,7 +135,8 @@ export const ViewBarEffect = () => { const queriedViewFilters = data.edges .map(({ node }) => { const availableFilterDefinition = availableFilterDefinitions.find( - (filterDefinition) => filterDefinition.fieldId === node.fieldId, + (filterDefinition) => + filterDefinition.fieldMetadataId === node.fieldMetadataId, ); if (!availableFilterDefinition) return null; @@ -185,14 +189,14 @@ export const ViewBarEffect = () => { const queriedViewSorts = data.edges .map(({ node }) => { const availableSortDefinition = availableSortDefinitions.find( - (sort) => sort.fieldId === node.fieldId, + (sort) => sort.fieldMetadataId === node.fieldMetadataId, ); if (!availableSortDefinition) return null; return { id: node.id, - fieldId: node.fieldId, + fieldMetadataId: node.fieldMetadataId, direction: node.direction, definition: availableSortDefinition, }; diff --git a/front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx b/front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx index a8eab87b7..bcfe9a537 100644 --- a/front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx +++ b/front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx @@ -97,12 +97,12 @@ export const ViewFieldsVisibilityDropdownSection = ({ .sort((a, b) => a.position - b.position) .map((field, index) => ( ( { const persistViewFields = useRecoilCallback( ({ snapshot }) => async (viewFieldsToPersist: ViewField[], viewId?: string) => { - const { viewObjectId, currentViewId, savedViewFieldsByKey } = + const { viewObjectMetadataId, currentViewId, savedViewFieldsByKey } = getViewScopedStateValuesFromSnapshot({ snapshot, viewScopeId, @@ -25,7 +25,7 @@ export const useViewFields = (viewScopeId: string) => { const viewIdToPersist = viewId ?? currentViewId; - if (!currentViewId || !savedViewFieldsByKey || !viewObjectId) { + if (!currentViewId || !savedViewFieldsByKey || !viewObjectMetadataId) { return; } @@ -40,7 +40,7 @@ export const useViewFields = (viewScopeId: string) => { mutation: createOneMutation, variables: { input: { - fieldId: viewField.fieldId, + fieldMetadataId: viewField.fieldMetadataId, viewId: viewIdToPersist, isVisible: viewField.isVisible, size: viewField.size, @@ -76,18 +76,18 @@ export const useViewFields = (viewScopeId: string) => { }; const viewFieldsToCreate = viewFieldsToPersist.filter( - (viewField) => !savedViewFieldsByKey[viewField.fieldId], + (viewField) => !savedViewFieldsByKey[viewField.fieldMetadataId], ); const viewFieldsToUpdate = viewFieldsToPersist.filter( (viewFieldToPersit) => - savedViewFieldsByKey[viewFieldToPersit.fieldId] && - (savedViewFieldsByKey[viewFieldToPersit.fieldId].size !== + savedViewFieldsByKey[viewFieldToPersit.fieldMetadataId] && + (savedViewFieldsByKey[viewFieldToPersit.fieldMetadataId].size !== viewFieldToPersit.size || - savedViewFieldsByKey[viewFieldToPersit.fieldId].position !== - viewFieldToPersit.position || - savedViewFieldsByKey[viewFieldToPersit.fieldId].isVisible !== - viewFieldToPersit.isVisible), + savedViewFieldsByKey[viewFieldToPersit.fieldMetadataId] + .position !== viewFieldToPersit.position || + savedViewFieldsByKey[viewFieldToPersit.fieldMetadataId] + .isVisible !== viewFieldToPersit.isVisible), ); await _createViewFields(viewFieldsToCreate); diff --git a/front/src/modules/views/hooks/internal/useViewFilters.ts b/front/src/modules/views/hooks/internal/useViewFilters.ts index e1354347b..8ec7d7620 100644 --- a/front/src/modules/views/hooks/internal/useViewFilters.ts +++ b/front/src/modules/views/hooks/internal/useViewFilters.ts @@ -53,7 +53,7 @@ export const useViewFilters = (viewScopeId: string) => { mutation: createOneMutation, variables: { input: { - fieldId: viewFilter.fieldId, + fieldMetadataId: viewFilter.fieldMetadataId, viewId: viewId ?? currentViewId, value: viewFilter.value, displayValue: viewFilter.displayValue, @@ -102,19 +102,23 @@ export const useViewFilters = (viewScopeId: string) => { }; const filtersToCreate = currentViewFilters.filter( - (filter) => !savedViewFiltersByKey[filter.fieldId], + (filter) => !savedViewFiltersByKey[filter.fieldMetadataId], ); await createViewFilters(filtersToCreate); const filtersToUpdate = currentViewFilters.filter( (filter) => - savedViewFiltersByKey[filter.fieldId] && - (savedViewFiltersByKey[filter.fieldId].operand !== filter.operand || - savedViewFiltersByKey[filter.fieldId].value !== filter.value), + savedViewFiltersByKey[filter.fieldMetadataId] && + (savedViewFiltersByKey[filter.fieldMetadataId].operand !== + filter.operand || + savedViewFiltersByKey[filter.fieldMetadataId].value !== + filter.value), ); await updateViewFilters(filtersToUpdate); - const filterKeys = currentViewFilters.map((filter) => filter.fieldId); + const filterKeys = currentViewFilters.map( + (filter) => filter.fieldMetadataId, + ); const filterKeysToDelete = Object.keys(savedViewFiltersByKey).filter( (previousFilterKey) => !filterKeys.includes(previousFilterKey), ); @@ -159,12 +163,13 @@ export const useViewFilters = (viewScopeId: string) => { } const existingSavedFilterId = - savedViewFiltersByKey[filterToUpsert.fieldId]?.id; + savedViewFiltersByKey[filterToUpsert.fieldMetadataId]?.id; set(currentViewFiltersState, (filters) => { const newViewFilters = produce(filters, (filtersDraft) => { const existingFilterIndex = filtersDraft.findIndex( - (filter) => filter.fieldId === filterToUpsert.fieldId, + (filter) => + filter.fieldMetadataId === filterToUpsert.fieldMetadataId, ); if (existingFilterIndex === -1) { @@ -189,7 +194,7 @@ export const useViewFilters = (viewScopeId: string) => { const removeViewFilter = useRecoilCallback( ({ snapshot, set }) => - (fieldId: string) => { + (fieldMetadataId: string) => { const { currentViewId, currentViewFilters, onViewFiltersChange } = getViewScopedStateValuesFromSnapshot({ snapshot, @@ -201,7 +206,7 @@ export const useViewFilters = (viewScopeId: string) => { } const newViewFilters = currentViewFilters.filter((filter) => { - return filter.fieldId !== fieldId; + return filter.fieldMetadataId !== fieldMetadataId; }); set(currentViewFiltersState, newViewFilters); onViewFiltersChange?.(newViewFilters); diff --git a/front/src/modules/views/hooks/internal/useViewScopedStates.ts b/front/src/modules/views/hooks/internal/useViewScopedStates.ts index 3bb97ddf0..eee7338db 100644 --- a/front/src/modules/views/hooks/internal/useViewScopedStates.ts +++ b/front/src/modules/views/hooks/internal/useViewScopedStates.ts @@ -46,7 +46,7 @@ export const useViewScopedStates = (args?: { customViewScopeId?: string }) => { savedViewSortsByKeySelector, savedViewSortsState, viewEditModeState, - viewObjectIdState, + viewObjectMetadataIdState, viewTypeState, viewsState, } = getViewScopedStates({ @@ -77,7 +77,7 @@ export const useViewScopedStates = (args?: { customViewScopeId?: string }) => { savedViewSortsByKeySelector, savedViewSortsState, viewEditModeState, - viewObjectIdState, + viewObjectMetadataIdState, viewTypeState, viewsState, }; diff --git a/front/src/modules/views/hooks/internal/useViewSorts.ts b/front/src/modules/views/hooks/internal/useViewSorts.ts index 3b815764e..9e308f808 100644 --- a/front/src/modules/views/hooks/internal/useViewSorts.ts +++ b/front/src/modules/views/hooks/internal/useViewSorts.ts @@ -54,7 +54,7 @@ export const useViewSorts = (viewScopeId: string) => { mutation: createOneMutation, variables: { input: { - fieldId: viewSort.fieldId, + fieldMetadataId: viewSort.fieldMetadataId, viewId: viewId ?? currentViewId, direction: viewSort.direction, }, @@ -99,19 +99,20 @@ export const useViewSorts = (viewScopeId: string) => { }; const sortsToCreate = currentViewSorts.filter( - (sort) => !savedViewSortsByKey[sort.fieldId], + (sort) => !savedViewSortsByKey[sort.fieldMetadataId], ); await createViewSorts(sortsToCreate); const sortsToUpdate = currentViewSorts.filter( (sort) => - savedViewSortsByKey[sort.fieldId] && - savedViewSortsByKey[sort.fieldId].direction !== sort.direction, + savedViewSortsByKey[sort.fieldMetadataId] && + savedViewSortsByKey[sort.fieldMetadataId].direction !== + sort.direction, ); await updateViewSorts(sortsToUpdate); - const sortKeys = currentViewSorts.map((sort) => sort.fieldId); + const sortKeys = currentViewSorts.map((sort) => sort.fieldMetadataId); const sortKeysToDelete = Object.keys(savedViewSortsByKey).filter( (previousSortKey) => !sortKeys.includes(previousSortKey), ); @@ -155,12 +156,12 @@ export const useViewSorts = (viewScopeId: string) => { } const existingSavedSortId = - savedViewSortsByKey[sortToUpsert.fieldId]?.id; + savedViewSortsByKey[sortToUpsert.fieldMetadataId]?.id; set(currentViewSortsState, (sorts) => { const newViewSorts = produce(sorts, (sortsDraft) => { const existingSortIndex = sortsDraft.findIndex( - (sort) => sort.fieldId === sortToUpsert.fieldId, + (sort) => sort.fieldMetadataId === sortToUpsert.fieldMetadataId, ); if (existingSortIndex === -1) { @@ -182,7 +183,7 @@ export const useViewSorts = (viewScopeId: string) => { const removeViewSort = useRecoilCallback( ({ snapshot, set }) => - (fieldId: string) => { + (fieldMetadataId: string) => { const { currentViewId, onViewSortsChange, currentViewSorts } = getViewScopedStateValuesFromSnapshot({ snapshot, @@ -194,7 +195,7 @@ export const useViewSorts = (viewScopeId: string) => { } const newViewSorts = currentViewSorts.filter((filter) => { - return filter.fieldId !== fieldId; + return filter.fieldMetadataId !== fieldMetadataId; }); set(currentViewSortsState, newViewSorts); onViewSortsChange?.(newViewSorts); diff --git a/front/src/modules/views/hooks/internal/useViews.ts b/front/src/modules/views/hooks/internal/useViews.ts index 5190607b3..2019b1f4f 100644 --- a/front/src/modules/views/hooks/internal/useViews.ts +++ b/front/src/modules/views/hooks/internal/useViews.ts @@ -19,14 +19,13 @@ export const useViews = (scopeId: string) => { const createView = useRecoilCallback( ({ snapshot }) => async (view: Pick) => { - const { viewObjectId, viewType } = getViewScopedStateValuesFromSnapshot( - { + const { viewObjectMetadataId, viewType } = + getViewScopedStateValuesFromSnapshot({ snapshot, viewScopeId: scopeId, - }, - ); + }); - if (!viewObjectId || !viewType) { + if (!viewObjectMetadataId || !viewType) { return; } await apolloClient.mutate({ @@ -34,7 +33,7 @@ export const useViews = (scopeId: string) => { variables: { input: { ...view, - objectId: viewObjectId, + objectMetadataId: viewObjectMetadataId, type: viewType, }, }, diff --git a/front/src/modules/views/hooks/useView.ts b/front/src/modules/views/hooks/useView.ts index 4e32c45b7..59e2d7065 100644 --- a/front/src/modules/views/hooks/useView.ts +++ b/front/src/modules/views/hooks/useView.ts @@ -37,7 +37,7 @@ export const useView = (props?: UseViewProps) => { availableFilterDefinitionsState, availableSortDefinitionsState, entityCountInCurrentViewState, - viewObjectIdState, + viewObjectMetadataIdState, viewTypeState, } = useViewScopedStates({ customViewScopeId: scopeId, @@ -72,7 +72,7 @@ export const useView = (props?: UseViewProps) => { ); const setViewEditMode = useSetRecoilState(viewEditModeState); - const setViewObjectId = useSetRecoilState(viewObjectIdState); + const setViewObjectMetadataId = useSetRecoilState(viewObjectMetadataIdState); const setViewType = useSetRecoilState(viewTypeState); const [_, setSearchParams] = useSearchParams(); @@ -267,7 +267,7 @@ export const useView = (props?: UseViewProps) => { handleViewNameSubmit, setViewEditMode, - setViewObjectId, + setViewObjectMetadataId, setViewType, setEntityCountInCurrentView, setAvailableFieldDefinitions, diff --git a/front/src/modules/views/states/selectors/savedViewFieldByKeyScopedFamilySelector.ts b/front/src/modules/views/states/selectors/savedViewFieldByKeyScopedFamilySelector.ts index aba69d834..fc56e7fde 100644 --- a/front/src/modules/views/states/selectors/savedViewFieldByKeyScopedFamilySelector.ts +++ b/front/src/modules/views/states/selectors/savedViewFieldByKeyScopedFamilySelector.ts @@ -25,7 +25,7 @@ export const savedViewFieldByKeyScopedFamilySelector = selectorFamily({ familyKey: viewId, }), ).reduce>( - (result, column) => ({ ...result, [column.fieldId]: column }), + (result, column) => ({ ...result, [column.fieldMetadataId]: column }), {}, ); }, diff --git a/front/src/modules/views/states/selectors/savedViewFiltersByKeyScopedFamilySelector.ts b/front/src/modules/views/states/selectors/savedViewFiltersByKeyScopedFamilySelector.ts index d7e03a0bb..235d5375f 100644 --- a/front/src/modules/views/states/selectors/savedViewFiltersByKeyScopedFamilySelector.ts +++ b/front/src/modules/views/states/selectors/savedViewFiltersByKeyScopedFamilySelector.ts @@ -18,7 +18,7 @@ export const savedViewFiltersByKeyScopedFamilySelector = selectorFamily({ familyKey: viewId, }), ).reduce>( - (result, filter) => ({ ...result, [filter.fieldId]: filter }), + (result, filter) => ({ ...result, [filter.fieldMetadataId]: filter }), {}, ); }, diff --git a/front/src/modules/views/states/selectors/savedViewSortsByKeyScopedFamilySelector.ts b/front/src/modules/views/states/selectors/savedViewSortsByKeyScopedFamilySelector.ts index cdfe2bfae..2348464d4 100644 --- a/front/src/modules/views/states/selectors/savedViewSortsByKeyScopedFamilySelector.ts +++ b/front/src/modules/views/states/selectors/savedViewSortsByKeyScopedFamilySelector.ts @@ -18,7 +18,7 @@ export const savedViewSortsByKeyScopedFamilySelector = selectorFamily({ familyKey: viewId, }), ).reduce>( - (result, sort) => ({ ...result, [sort.fieldId]: sort }), + (result, sort) => ({ ...result, [sort.fieldMetadataId]: sort }), {}, ); }, diff --git a/front/src/modules/views/states/viewObjectIdScopeState.ts b/front/src/modules/views/states/viewObjectIdScopeState.ts deleted file mode 100644 index 3303df4e5..000000000 --- a/front/src/modules/views/states/viewObjectIdScopeState.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; - -export const viewObjectIdScopeState = createScopedState({ - key: 'viewObjectIdScopeState', - defaultValue: undefined, -}); diff --git a/front/src/modules/views/states/viewObjectMetadataIdScopeState.ts b/front/src/modules/views/states/viewObjectMetadataIdScopeState.ts new file mode 100644 index 000000000..c39aece36 --- /dev/null +++ b/front/src/modules/views/states/viewObjectMetadataIdScopeState.ts @@ -0,0 +1,8 @@ +import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; + +export const viewObjectMetadataIdScopeState = createScopedState< + string | undefined +>({ + key: 'viewObjectMetadataIdScopeState', + defaultValue: undefined, +}); diff --git a/front/src/modules/views/types/View.ts b/front/src/modules/views/types/View.ts index 484b49db7..c2e312219 100644 --- a/front/src/modules/views/types/View.ts +++ b/front/src/modules/views/types/View.ts @@ -1 +1 @@ -export type View = { id: string; name: string; objectId: string }; +export type View = { id: string; name: string; objectMetadataId: string }; diff --git a/front/src/modules/views/types/ViewField.ts b/front/src/modules/views/types/ViewField.ts index c7d3c1aa6..536796da9 100644 --- a/front/src/modules/views/types/ViewField.ts +++ b/front/src/modules/views/types/ViewField.ts @@ -3,7 +3,7 @@ import { ColumnDefinition } from '@/ui/object/record-table/types/ColumnDefinitio export type ViewField = { id: string; - fieldId: string; + fieldMetadataId: string; position: number; isVisible: boolean; size: number; diff --git a/front/src/modules/views/types/ViewFilter.ts b/front/src/modules/views/types/ViewFilter.ts index 44c3edb76..49e78ee1f 100644 --- a/front/src/modules/views/types/ViewFilter.ts +++ b/front/src/modules/views/types/ViewFilter.ts @@ -4,7 +4,7 @@ import { ViewFilterOperand } from './ViewFilterOperand'; export type ViewFilter = { id?: string; - fieldId: string; + fieldMetadataId: string; operand: ViewFilterOperand; value: string; displayValue: string; diff --git a/front/src/modules/views/types/ViewSort.ts b/front/src/modules/views/types/ViewSort.ts index 8e486c717..e2b2581d2 100644 --- a/front/src/modules/views/types/ViewSort.ts +++ b/front/src/modules/views/types/ViewSort.ts @@ -3,7 +3,7 @@ import { SortDirection } from '@/ui/object/object-sort-dropdown/types/SortDirect export type ViewSort = { id?: string; - fieldId: string; + fieldMetadataId: string; direction: SortDirection; definition: SortDefinition; }; diff --git a/front/src/modules/views/utils/getViewScopedStateValuesFromSnapshot.ts b/front/src/modules/views/utils/getViewScopedStateValuesFromSnapshot.ts index f68754b0c..fae6f6aea 100644 --- a/front/src/modules/views/utils/getViewScopedStateValuesFromSnapshot.ts +++ b/front/src/modules/views/utils/getViewScopedStateValuesFromSnapshot.ts @@ -47,7 +47,7 @@ export const getViewScopedStateValuesFromSnapshot = ({ savedViewSortsByKeySelector, savedViewSortsState, viewEditModeState, - viewObjectIdState, + viewObjectMetadataIdState, viewTypeState, viewsState, } = getViewScopedStates({ @@ -99,7 +99,7 @@ export const getViewScopedStateValuesFromSnapshot = ({ ), savedViewSorts: getSnapshotValue(snapshot, savedViewSortsState), viewEditMode: getSnapshotValue(snapshot, viewEditModeState), - viewObjectId: getSnapshotValue(snapshot, viewObjectIdState), + viewObjectMetadataId: getSnapshotValue(snapshot, viewObjectMetadataIdState), viewType: getSnapshotValue(snapshot, viewTypeState), views: getSnapshotValue(snapshot, viewsState), }; diff --git a/front/src/modules/views/utils/getViewScopedStatesFromSnapshot.ts b/front/src/modules/views/utils/getViewScopedStatesFromSnapshot.ts index efb3e4a19..576f5f62e 100644 --- a/front/src/modules/views/utils/getViewScopedStatesFromSnapshot.ts +++ b/front/src/modules/views/utils/getViewScopedStatesFromSnapshot.ts @@ -47,7 +47,7 @@ export const getViewScopedStatesFromSnapshot = ({ savedViewSortsByKeySelector: savedViewSortsByKeySelector, savedViewSortsState, viewEditModeState, - viewObjectIdState, + viewObjectMetadataIdState, viewTypeState, viewsState, } = getViewScopedStates({ @@ -78,7 +78,7 @@ export const getViewScopedStatesFromSnapshot = ({ savedViewSortsByKeyReadOnlyState: savedViewSortsByKeySelector, savedViewSortsState, viewEditModeState, - viewObjectIdState, + viewObjectMetadataIdState, viewTypeState, viewsState, }; diff --git a/front/src/modules/views/utils/internal/getViewScopedStates.ts b/front/src/modules/views/utils/internal/getViewScopedStates.ts index 869192cf3..8ce086845 100644 --- a/front/src/modules/views/utils/internal/getViewScopedStates.ts +++ b/front/src/modules/views/utils/internal/getViewScopedStates.ts @@ -24,7 +24,7 @@ import { savedViewFieldByKeyScopedFamilySelector } from '../../states/selectors/ import { savedViewFiltersByKeyScopedFamilySelector } from '../../states/selectors/savedViewFiltersByKeyScopedFamilySelector'; import { savedViewSortsByKeyScopedFamilySelector } from '../../states/selectors/savedViewSortsByKeyScopedFamilySelector'; import { viewEditModeScopedState } from '../../states/viewEditModeScopedState'; -import { viewObjectIdScopeState } from '../../states/viewObjectIdScopeState'; +import { viewObjectMetadataIdScopeState } from '../../states/viewObjectMetadataIdScopeState'; import { viewsScopedState } from '../../states/viewsScopedState'; import { viewTypeScopedState } from '../../states/viewTypeScopedState'; @@ -42,7 +42,10 @@ export const getViewScopedStates = ({ const viewsState = getScopedState(viewsScopedState, viewScopeId); - const viewObjectIdState = getScopedState(viewObjectIdScopeState, viewScopeId); + const viewObjectMetadataIdState = getScopedState( + viewObjectMetadataIdScopeState, + viewScopeId, + ); const viewTypeState = getScopedState(viewTypeScopedState, viewScopeId); @@ -170,7 +173,7 @@ export const getViewScopedStates = ({ viewsState, viewEditModeState, - viewObjectIdState, + viewObjectMetadataIdState, viewTypeState, entityCountInCurrentViewState, diff --git a/front/src/modules/views/utils/mapColumnDefinitionToViewField.ts b/front/src/modules/views/utils/mapColumnDefinitionToViewField.ts index 7e4ed2a70..470bd42f3 100644 --- a/front/src/modules/views/utils/mapColumnDefinitionToViewField.ts +++ b/front/src/modules/views/utils/mapColumnDefinitionToViewField.ts @@ -8,7 +8,7 @@ export const mapColumnDefinitionsToViewFields = ( ): ViewField[] => { return columnDefinitions.map((columnDefinition) => ({ id: columnDefinition.viewFieldId || '', - fieldId: columnDefinition.fieldId, + fieldMetadataId: columnDefinition.fieldMetadataId, position: columnDefinition.position, size: columnDefinition.size, isVisible: columnDefinition.isVisible ?? true, diff --git a/front/src/modules/views/utils/mapViewFieldsToBoardFieldDefinitions.ts b/front/src/modules/views/utils/mapViewFieldsToBoardFieldDefinitions.ts index 700c477be..6ee3e5975 100644 --- a/front/src/modules/views/utils/mapViewFieldsToBoardFieldDefinitions.ts +++ b/front/src/modules/views/utils/mapViewFieldsToBoardFieldDefinitions.ts @@ -11,12 +11,12 @@ export const mapViewFieldsToBoardFieldDefinitions = ( return viewFields .map((viewField) => { const correspondingFieldMetadata = fieldsMetadata.find( - ({ fieldId }) => viewField.fieldId === fieldId, + ({ fieldMetadataId }) => viewField.fieldMetadataId === fieldMetadataId, ); return correspondingFieldMetadata ? { - fieldId: viewField.fieldId, + fieldMetadataId: viewField.fieldMetadataId, label: correspondingFieldMetadata.label, metadata: correspondingFieldMetadata.metadata, entityChipDisplayMapper: @@ -27,7 +27,7 @@ export const mapViewFieldsToBoardFieldDefinitions = ( type: correspondingFieldMetadata.type, position: viewField.position, isVisible: viewField.isVisible, - viewFieldId: viewField.id, + viewFieldMetadataId: viewField.id, } : null; }) diff --git a/front/src/modules/views/utils/mapViewFieldsToColumnDefinitions.ts b/front/src/modules/views/utils/mapViewFieldsToColumnDefinitions.ts index 901b07e05..7337b955f 100644 --- a/front/src/modules/views/utils/mapViewFieldsToColumnDefinitions.ts +++ b/front/src/modules/views/utils/mapViewFieldsToColumnDefinitions.ts @@ -11,12 +11,12 @@ export const mapViewFieldsToColumnDefinitions = ( return viewFields .map((viewField) => { const correspondingFieldMetadata = fieldsMetadata.find( - ({ fieldId }) => viewField.fieldId === fieldId, + ({ fieldMetadataId }) => viewField.fieldMetadataId === fieldMetadataId, ); return correspondingFieldMetadata ? { - fieldId: viewField.fieldId, + fieldMetadataId: viewField.fieldMetadataId, label: correspondingFieldMetadata.label, metadata: correspondingFieldMetadata.metadata, entityChipDisplayMapper: @@ -28,7 +28,7 @@ export const mapViewFieldsToColumnDefinitions = ( position: viewField.position, size: viewField.size ?? correspondingFieldMetadata.size, isVisible: viewField.isVisible, - viewFieldId: viewField.id, + viewFieldMetadataId: viewField.id, } : null; }) diff --git a/front/src/modules/views/utils/mapViewFiltersToFilters.ts b/front/src/modules/views/utils/mapViewFiltersToFilters.ts index fcc1144c2..00ae87913 100644 --- a/front/src/modules/views/utils/mapViewFiltersToFilters.ts +++ b/front/src/modules/views/utils/mapViewFiltersToFilters.ts @@ -7,7 +7,7 @@ export const mapViewFiltersToFilters = ( ): Filter[] => { return viewFilters.map((viewFilter) => { return { - fieldId: viewFilter.fieldId, + fieldMetadataId: viewFilter.fieldMetadataId, value: viewFilter.value, displayValue: viewFilter.displayValue, operand: viewFilter.operand, diff --git a/front/src/modules/views/utils/mapViewSortsToSorts.ts b/front/src/modules/views/utils/mapViewSortsToSorts.ts index 360d0df19..d49250054 100644 --- a/front/src/modules/views/utils/mapViewSortsToSorts.ts +++ b/front/src/modules/views/utils/mapViewSortsToSorts.ts @@ -5,7 +5,7 @@ import { ViewSort } from '../types/ViewSort'; export const mapViewSortsToSorts = (viewSorts: ViewSort[]): Sort[] => { return viewSorts.map((viewSort) => { return { - fieldId: viewSort.fieldId, + fieldMetadataId: viewSort.fieldMetadataId, direction: viewSort.direction, definition: viewSort.definition, }; diff --git a/front/src/pages/companies/CompanyShow.tsx b/front/src/pages/companies/CompanyShow.tsx index ec02de3e9..e3a9e0e23 100644 --- a/front/src/pages/companies/CompanyShow.tsx +++ b/front/src/pages/companies/CompanyShow.tsx @@ -93,10 +93,11 @@ export const CompanyShow = () => { {companyShowFieldDefinitions.map((fieldDefinition) => { return ( [] = [ { - fieldId: 'domainName', + fieldMetadataId: 'domainName', label: 'Domain name', Icon: IconLink, type: 'URL', @@ -32,7 +32,7 @@ export const companyShowFieldDefinitions: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'accountOwner', + fieldMetadataId: 'accountOwner', label: 'Account owner', Icon: IconUserCircle, type: 'RELATION', @@ -49,7 +49,7 @@ export const companyShowFieldDefinitions: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'employees', + fieldMetadataId: 'employees', label: 'Employees', Icon: IconUsers, type: 'NUMBER', @@ -59,7 +59,7 @@ export const companyShowFieldDefinitions: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'address', + fieldMetadataId: 'address', label: 'Address', Icon: IconMap, type: 'TEXT', @@ -69,7 +69,7 @@ export const companyShowFieldDefinitions: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'idealCustomerProfile', + fieldMetadataId: 'idealCustomerProfile', label: 'ICP', Icon: IconTarget, type: 'BOOLEAN', @@ -78,7 +78,7 @@ export const companyShowFieldDefinitions: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'xUrl', + fieldMetadataId: 'xUrl', label: 'Twitter', Icon: IconBrandX, type: 'URL', @@ -88,7 +88,7 @@ export const companyShowFieldDefinitions: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', label: 'Created at', Icon: IconCalendar, type: 'DATE', diff --git a/front/src/pages/companies/constants/companyTableFilterDefinitions.tsx b/front/src/pages/companies/constants/companyTableFilterDefinitions.tsx index 8a467c913..ace176c23 100644 --- a/front/src/pages/companies/constants/companyTableFilterDefinitions.tsx +++ b/front/src/pages/companies/constants/companyTableFilterDefinitions.tsx @@ -13,37 +13,37 @@ import { Company } from '~/generated/graphql'; export const companyTableFilterDefinitions: FilterDefinitionByEntity[] = [ { - fieldId: 'name', + fieldMetadataId: 'name', label: 'Name', Icon: IconBuildingSkyscraper, type: 'TEXT', }, { - fieldId: 'employees', + fieldMetadataId: 'employees', label: 'Employees', Icon: IconUsers, type: 'NUMBER', }, { - fieldId: 'domainName', + fieldMetadataId: 'domainName', label: 'URL', Icon: IconLink, type: 'TEXT', }, { - fieldId: 'address', + fieldMetadataId: 'address', label: 'Address', Icon: IconMap, type: 'TEXT', }, { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', label: 'Created at', Icon: IconCalendarEvent, type: 'DATE', }, { - fieldId: 'accountOwnerId', + fieldMetadataId: 'accountOwnerId', label: 'Account owner', Icon: IconUser, type: 'ENTITY', diff --git a/front/src/pages/companies/constants/companyTableSortDefinitions.tsx b/front/src/pages/companies/constants/companyTableSortDefinitions.tsx index b2e999338..284ababfb 100644 --- a/front/src/pages/companies/constants/companyTableSortDefinitions.tsx +++ b/front/src/pages/companies/constants/companyTableSortDefinitions.tsx @@ -9,27 +9,27 @@ import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefin export const companyTableSortDefinitions: SortDefinition[] = [ { - fieldId: 'name', + fieldMetadataId: 'name', label: 'Name', Icon: IconBuildingSkyscraper, }, { - fieldId: 'employees', + fieldMetadataId: 'employees', label: 'Employees', Icon: IconUsers, }, { - fieldId: 'domainName', + fieldMetadataId: 'domainName', label: 'Url', Icon: IconLink, }, { - fieldId: 'address', + fieldMetadataId: 'address', label: 'Address', Icon: IconMap, }, { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', label: 'Creation', Icon: IconCalendarEvent, }, diff --git a/front/src/pages/opportunities/constants/opportunityBoardFilterDefinitions.tsx b/front/src/pages/opportunities/constants/opportunityBoardFilterDefinitions.tsx index 00210f28e..17218af0c 100644 --- a/front/src/pages/opportunities/constants/opportunityBoardFilterDefinitions.tsx +++ b/front/src/pages/opportunities/constants/opportunityBoardFilterDefinitions.tsx @@ -13,26 +13,26 @@ import { FilterDropdownPeopleSearchSelect } from '../../../modules/people/compon export const opportunityBoardFilterDefinitions: FilterDefinitionByEntity[] = [ { - fieldId: 'amount', + fieldMetadataId: 'amount', label: 'Amount', Icon: IconCurrencyDollar, type: 'NUMBER', }, { - fieldId: 'closeDate', + fieldMetadataId: 'closeDate', label: 'Close date', Icon: IconCalendarEvent, type: 'DATE', }, { - fieldId: 'companyId', + fieldMetadataId: 'companyId', label: 'Company', Icon: IconBuildingSkyscraper, type: 'ENTITY', entitySelectComponent: , }, { - fieldId: 'pointOfContactId', + fieldMetadataId: 'pointOfContactId', label: 'Point of contact', Icon: IconUser, type: 'ENTITY', diff --git a/front/src/pages/opportunities/constants/opportunityBoardSortDefinitions.tsx b/front/src/pages/opportunities/constants/opportunityBoardSortDefinitions.tsx index 4cd9de0d3..cc75e15e0 100644 --- a/front/src/pages/opportunities/constants/opportunityBoardSortDefinitions.tsx +++ b/front/src/pages/opportunities/constants/opportunityBoardSortDefinitions.tsx @@ -3,17 +3,17 @@ import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefin export const opportunityBoardSortDefinitions: SortDefinition[] = [ { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', label: 'Creation', Icon: IconCalendarEvent, }, { - fieldId: 'amount', + fieldMetadataId: 'amount', label: 'Amount', Icon: IconCurrencyDollar, }, { - fieldId: 'closeDate', + fieldMetadataId: 'closeDate', label: 'Expected close date', Icon: IconCalendarEvent, }, diff --git a/front/src/pages/people/constants/personShowFieldDefinitions.tsx b/front/src/pages/people/constants/personShowFieldDefinitions.tsx index 38a4ed0c4..08abc5ac7 100644 --- a/front/src/pages/people/constants/personShowFieldDefinitions.tsx +++ b/front/src/pages/people/constants/personShowFieldDefinitions.tsx @@ -23,7 +23,7 @@ import { getLogoUrlFromDomainName } from '~/utils'; export const personShowFieldDefinition: FieldDefinition[] = [ { - fieldId: 'email', + fieldMetadataId: 'email', label: 'Email', Icon: IconMail, type: 'TEXT', @@ -33,7 +33,7 @@ export const personShowFieldDefinition: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'company', + fieldMetadataId: 'company', label: 'Company', Icon: IconBuildingSkyscraper, type: 'RELATION', @@ -50,7 +50,7 @@ export const personShowFieldDefinition: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'phone', + fieldMetadataId: 'phone', label: 'Phone', Icon: IconPhone, type: 'PHONE', @@ -60,7 +60,7 @@ export const personShowFieldDefinition: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'jobTitle', + fieldMetadataId: 'jobTitle', label: 'Job Title', Icon: IconBriefcase, type: 'TEXT', @@ -70,7 +70,7 @@ export const personShowFieldDefinition: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'city', + fieldMetadataId: 'city', label: 'City', Icon: IconMap, type: 'TEXT', @@ -80,7 +80,7 @@ export const personShowFieldDefinition: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'linkedinUrl', + fieldMetadataId: 'linkedinUrl', label: 'Linkedin URL', Icon: IconBrandLinkedin, type: 'URL', @@ -90,7 +90,7 @@ export const personShowFieldDefinition: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'xUrl', + fieldMetadataId: 'xUrl', label: 'X URL', Icon: IconBrandX, type: 'URL', @@ -100,7 +100,7 @@ export const personShowFieldDefinition: FieldDefinition[] = [ }, } satisfies FieldDefinition, { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', label: 'Created at', Icon: IconCalendar, type: 'DATE', diff --git a/front/src/pages/people/constants/personTableFilterDefinitions.tsx b/front/src/pages/people/constants/personTableFilterDefinitions.tsx index 983c6de72..be4ade7e1 100644 --- a/front/src/pages/people/constants/personTableFilterDefinitions.tsx +++ b/front/src/pages/people/constants/personTableFilterDefinitions.tsx @@ -13,25 +13,25 @@ import { Person } from '~/generated/graphql'; export const personTableFilterDefinitions: FilterDefinitionByEntity[] = [ { - fieldId: 'firstName', + fieldMetadataId: 'firstName', label: 'First name', Icon: IconUser, type: 'TEXT', }, { - fieldId: 'lastName', + fieldMetadataId: 'lastName', label: 'Last name', Icon: IconUser, type: 'TEXT', }, { - fieldId: 'email', + fieldMetadataId: 'email', label: 'Email', Icon: IconMail, type: 'TEXT', }, { - fieldId: 'companyId', + fieldMetadataId: 'companyId', label: 'Company', Icon: IconBuildingSkyscraper, type: 'ENTITY', @@ -39,19 +39,19 @@ export const personTableFilterDefinitions: FilterDefinitionByEntity[] = entitySelectComponent: , }, { - fieldId: 'phone', + fieldMetadataId: 'phone', label: 'Phone', Icon: IconPhone, type: 'TEXT', }, { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', label: 'Created at', Icon: IconCalendarEvent, type: 'DATE', }, { - fieldId: 'city', + fieldMetadataId: 'city', label: 'City', Icon: IconMap, type: 'TEXT', diff --git a/front/src/pages/people/constants/personTableSortDefinitions.tsx b/front/src/pages/people/constants/personTableSortDefinitions.tsx index 10e2e440e..6c9eff630 100644 --- a/front/src/pages/people/constants/personTableSortDefinitions.tsx +++ b/front/src/pages/people/constants/personTableSortDefinitions.tsx @@ -11,7 +11,7 @@ import { SortDirection } from '@/ui/object/object-sort-dropdown/types/SortDirect export const personTableSortDefinitions: SortDefinition[] = [ { - fieldId: 'fullname', + fieldMetadataId: 'fullname', label: 'People', Icon: IconUser, @@ -21,7 +21,7 @@ export const personTableSortDefinitions: SortDefinition[] = [ ], }, { - fieldId: 'company_name', + fieldMetadataId: 'company_name', label: 'Company', Icon: IconBuildingSkyscraper, getOrderByTemplate: (direction: SortDirection) => [ @@ -29,22 +29,22 @@ export const personTableSortDefinitions: SortDefinition[] = [ ], }, { - fieldId: 'email', + fieldMetadataId: 'email', label: 'Email', Icon: IconMail, }, { - fieldId: 'phone', + fieldMetadataId: 'phone', label: 'Phone', Icon: IconPhone, }, { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', label: 'Created at', Icon: IconCalendarEvent, }, { - fieldId: 'city', + fieldMetadataId: 'city', label: 'City', Icon: IconMap, }, diff --git a/front/src/pages/settings/data-model/SettingsNewObject.tsx b/front/src/pages/settings/data-model/SettingsNewObject.tsx index eb1be07c9..03479888f 100644 --- a/front/src/pages/settings/data-model/SettingsNewObject.tsx +++ b/front/src/pages/settings/data-model/SettingsNewObject.tsx @@ -36,9 +36,10 @@ export const SettingsNewObject = () => { objectNamePlural: 'viewsV2', }); - const [selectedStandardObjectIds, setSelectedStandardObjectIds] = useState< - Record - >({}); + const [ + selectedStandardObjectMetadataIds, + setSelectedStandardObjectMetadataIds, + ] = useState>({}); const [customFormValues, setCustomFormValues] = useState<{ description?: string; @@ -49,7 +50,7 @@ export const SettingsNewObject = () => { const canSave = (selectedObjectType === 'Standard' && - Object.values(selectedStandardObjectIds).some( + Object.values(selectedStandardObjectMetadataIds).some( (isSelected) => isSelected, )) || (selectedObjectType === 'Custom' && @@ -59,9 +60,11 @@ export const SettingsNewObject = () => { const handleSave = async () => { if (selectedObjectType === 'Standard') { await Promise.all( - Object.entries(selectedStandardObjectIds).map( - ([standardObjectId, isSelected]) => - isSelected ? activateObject({ id: standardObjectId }) : undefined, + Object.entries(selectedStandardObjectMetadataIds).map( + ([standardObjectMetadataId, isSelected]) => + isSelected + ? activateObject({ id: standardObjectMetadataId }) + : undefined, ), ); @@ -77,7 +80,7 @@ export const SettingsNewObject = () => { }); await createOneView?.({ - objectId: createdObject.data?.createOneObject.id, + objectMetadataId: createdObject.data?.createOneObject.id, type: ViewType.Table, name: `All ${customFormValues.labelPlural}`, }); @@ -124,12 +127,12 @@ export const SettingsNewObject = () => { !isCustom)} onChange={(selectedIds) => - setSelectedStandardObjectIds((previousSelectedIds) => ({ + setSelectedStandardObjectMetadataIds((previousSelectedIds) => ({ ...previousSelectedIds, ...selectedIds, })) } - selectedIds={selectedStandardObjectIds} + selectedIds={selectedStandardObjectMetadataIds} /> )} {selectedObjectType === 'Custom' && ( diff --git a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep1.tsx b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep1.tsx index fd6ca594e..942f1ba50 100644 --- a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep1.tsx +++ b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep1.tsx @@ -72,10 +72,12 @@ export const SettingsObjectNewFieldStep1 = () => { if (!activeObjectMetadataItem) return null; - const handleToggleField = (fieldId: string) => + const handleToggleField = (fieldMetadataId: string) => setMetadataFields((previousFields) => previousFields.map((field) => - field.id === fieldId ? { ...field, isActive: !field.isActive } : field, + field.id === fieldMetadataId + ? { ...field, isActive: !field.isActive } + : field, ), ); diff --git a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx index 1329b59bb..ff7d91c27 100644 --- a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx +++ b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx @@ -52,7 +52,7 @@ export const SettingsObjectNewFieldStep2 = () => { objectNamePlural: 'viewsV2', filter: { type: { eq: ViewType.Table }, - objectId: { eq: activeObjectMetadataItem?.id }, + objectMetadataId: { eq: activeObjectMetadataItem?.id }, }, onCompleted: async (data: PaginatedObjectTypeResults) => { const views = data.edges; @@ -72,12 +72,12 @@ export const SettingsObjectNewFieldStep2 = () => { const handleSave = async () => { const createdField = await createMetadataField({ ...formValues, - objectId: activeObjectMetadataItem.id, + objectMetadataId: activeObjectMetadataItem.id, }); objectViews.forEach(async (view) => { await createOneViewField?.({ viewId: view.id, - fieldId: createdField.data?.createOneField.id, + fieldMetadataId: createdField.data?.createOneField.id, position: activeObjectMetadataItem.fields.length, isVisible: true, size: 100, diff --git a/front/src/pages/tasks/TasksEffect.tsx b/front/src/pages/tasks/TasksEffect.tsx index 045fa758d..566577531 100644 --- a/front/src/pages/tasks/TasksEffect.tsx +++ b/front/src/pages/tasks/TasksEffect.tsx @@ -18,7 +18,7 @@ export const TasksEffect = () => { useEffect(() => { if (currentUser) { setSelectedFilter({ - fieldId: 'assigneeId', + fieldMetadataId: 'assigneeId', value: currentUser.id, operand: ViewFilterOperand.Is, displayValue: currentUser.displayName, diff --git a/front/src/pages/tasks/tasks-filter-definitions.tsx b/front/src/pages/tasks/tasks-filter-definitions.tsx index 7d860b454..2349693df 100644 --- a/front/src/pages/tasks/tasks-filter-definitions.tsx +++ b/front/src/pages/tasks/tasks-filter-definitions.tsx @@ -5,7 +5,7 @@ import { Activity } from '~/generated/graphql'; export const tasksFilterDefinitions: FilterDefinitionByEntity[] = [ { - fieldId: 'assigneeId', + fieldMetadataId: 'assigneeId', label: 'Assignee', Icon: IconUser, type: 'ENTITY', diff --git a/front/src/testing/graphqlMocks.ts b/front/src/testing/graphqlMocks.ts index d6614a3df..f1f6d5697 100644 --- a/front/src/testing/graphqlMocks.ts +++ b/front/src/testing/graphqlMocks.ts @@ -317,8 +317,8 @@ export const graphqlMocks = [ return res(ctx.data({ objects: mockedObjectMetadataItems })); }, ), - graphql.query('FindManyviewsV2', (req, res, ctx) => { - const objectId = req.variables.filter.objectId.eq; + graphql.query('FindManyViewsV2', (req, res, ctx) => { + const objectMetadataId = req.variables.filter.objectMetadataId.eq; const viewType = req.variables.filter.type.eq; return res( @@ -326,17 +326,25 @@ export const graphqlMocks = [ viewsV2: { edges: mockedViewsData .filter( - (view) => view.objectId === objectId && view.type === viewType, + (view) => + view.objectMetadataId === objectMetadataId && + view.type === viewType, ) .map((view) => ({ node: view, cursor: null, })), + pageInfo: { + hasNextPage: false, + hasPreviousPage: false, + startCursor: null, + endCursor: null, + }, }, }), ); }), - graphql.query('FindManyviewFieldsV2', (req, res, ctx) => { + graphql.query('FindManyViewFieldsV2', (req, res, ctx) => { const viewId = req.variables.filter.viewId.eq; return res( @@ -348,6 +356,12 @@ export const graphqlMocks = [ node: viewField, cursor: null, })), + pageInfo: { + hasNextPage: false, + hasPreviousPage: false, + startCursor: null, + endCursor: null, + }, }, }), ); diff --git a/front/src/testing/mock-data/metadata.ts b/front/src/testing/mock-data/metadata.ts index 8d9ea5913..8db984347 100644 --- a/front/src/testing/mock-data/metadata.ts +++ b/front/src/testing/mock-data/metadata.ts @@ -20,7 +20,7 @@ export const mockedObjectMetadataItems = { node: { id: '5db475e7-8208-402d-97a1-62c9ce344dd4', type: 'TEXT', - name: 'objectId', + name: 'objectMetadataId', label: 'Object Id', description: 'View target object', icon: null, @@ -127,7 +127,7 @@ export const mockedObjectMetadataItems = { node: { id: '4d77c2dd-2b04-4989-b11e-cb0e386d1b4d', type: 'TEXT', - name: 'fieldId', + name: 'fieldMetadataId', label: 'Field Id', description: 'View Field target field', icon: null, diff --git a/front/src/testing/mock-data/view-fields.ts b/front/src/testing/mock-data/view-fields.ts index 4bb4f8977..c644510c9 100644 --- a/front/src/testing/mock-data/view-fields.ts +++ b/front/src/testing/mock-data/view-fields.ts @@ -4,7 +4,7 @@ export const mockedViewFieldsData = [ // Companies { id: '79035310-e955-4986-a4a4-73f9d9949c6a', - fieldId: 'name', + fieldMetadataId: 'name', viewId: mockedViewsData[0].id, position: 0, isVisible: true, @@ -12,7 +12,7 @@ export const mockedViewFieldsData = [ }, { id: '2a96bbc8-d86d-439a-8e50-4b07ebd27750', - fieldId: 'domainName', + fieldMetadataId: 'domainName', viewId: mockedViewsData[0].id, position: 1, isVisible: true, @@ -20,7 +20,7 @@ export const mockedViewFieldsData = [ }, { id: '0c1b4c7b-6a3d-4fb0-bf2b-5d7c8fb844ed', - fieldId: 'accountOwner', + fieldMetadataId: 'accountOwner', viewId: mockedViewsData[0].id, position: 2, isVisible: true, @@ -28,7 +28,7 @@ export const mockedViewFieldsData = [ }, { id: 'cc7f9560-32b5-4b82-8fd9-b05fe77c8cf7', - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', viewId: mockedViewsData[0].id, position: 3, isVisible: true, @@ -36,7 +36,7 @@ export const mockedViewFieldsData = [ }, { id: '3de4d078-3396-4480-be2d-6f3b1a228b0d', - fieldId: 'employees', + fieldMetadataId: 'employees', viewId: mockedViewsData[0].id, position: 4, isVisible: true, @@ -44,7 +44,7 @@ export const mockedViewFieldsData = [ }, { id: '4650c8fb-0f1e-4342-88dc-adedae1445f9', - fieldId: 'linkedin', + fieldMetadataId: 'linkedin', viewId: mockedViewsData[0].id, position: 5, isVisible: true, @@ -52,7 +52,7 @@ export const mockedViewFieldsData = [ }, { id: '727430bf-6ff8-4c85-9828-cbe72ac0fc27', - fieldId: 'address', + fieldMetadataId: 'address', viewId: mockedViewsData[0].id, position: 6, isVisible: true, @@ -62,7 +62,7 @@ export const mockedViewFieldsData = [ // People { id: '28894146-4fde-4a16-a9ca-1a31b5b788b4', - fieldId: 'displayName', + fieldMetadataId: 'displayName', viewId: mockedViewsData[1].id, position: 0, isVisible: true, @@ -70,7 +70,7 @@ export const mockedViewFieldsData = [ }, { id: 'e1e24864-8601-4cd8-8a63-09c1285f2e39', - fieldId: 'email', + fieldMetadataId: 'email', viewId: mockedViewsData[1].id, position: 1, isVisible: true, @@ -78,7 +78,7 @@ export const mockedViewFieldsData = [ }, { id: '5a1df716-7211-445a-9f16-9783a00998a7', - fieldId: 'company', + fieldMetadataId: 'company', viewId: mockedViewsData[1].id, position: 2, isVisible: true, @@ -86,7 +86,7 @@ export const mockedViewFieldsData = [ }, { id: 'a6e1197a-7e84-4d92-ace2-367c0bc46c49', - fieldId: 'phone', + fieldMetadataId: 'phone', viewId: mockedViewsData[1].id, position: 3, isVisible: true, @@ -94,7 +94,7 @@ export const mockedViewFieldsData = [ }, { id: 'c9343097-d14b-4559-a5fa-626c1527d39f', - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', viewId: mockedViewsData[1].id, position: 4, isVisible: true, @@ -102,7 +102,7 @@ export const mockedViewFieldsData = [ }, { id: 'a873e5f0-fed6-47e9-a712-6854eab3ec77', - fieldId: 'city', + fieldMetadataId: 'city', viewId: mockedViewsData[1].id, position: 5, isVisible: true, @@ -110,7 +110,7 @@ export const mockedViewFieldsData = [ }, { id: '66f134b8-5329-422f-b88e-83e6bb707eb5', - fieldId: 'jobTitle', + fieldMetadataId: 'jobTitle', viewId: mockedViewsData[1].id, position: 6, isVisible: true, @@ -118,7 +118,7 @@ export const mockedViewFieldsData = [ }, { id: '648faa24-cabb-482a-8578-ba3f09906017', - fieldId: 'linkedin', + fieldMetadataId: 'linkedin', viewId: mockedViewsData[1].id, position: 7, isVisible: true, @@ -126,7 +126,7 @@ export const mockedViewFieldsData = [ }, { id: '3a9e7f0d-a4ce-4ad5-aac7-3a24eb1a412d', - fieldId: 'x', + fieldMetadataId: 'x', viewId: mockedViewsData[1].id, position: 8, isVisible: true, @@ -136,7 +136,7 @@ export const mockedViewFieldsData = [ // Opportunities { id: '35a42e2d-83dd-4b57-ada6-f90616da706d', - fieldId: 'amount', + fieldMetadataId: 'amount', viewId: mockedViewsData[2].id, position: 0, isVisible: true, @@ -144,7 +144,7 @@ export const mockedViewFieldsData = [ }, { id: 'e5a731bb-82b9-4abe-ad22-1ddea94722f9', - fieldId: 'probability', + fieldMetadataId: 'probability', viewId: mockedViewsData[2].id, position: 1, isVisible: true, @@ -152,7 +152,7 @@ export const mockedViewFieldsData = [ }, { id: '3159acd8-463f-458d-bf9a-af8ac6f57dc0', - fieldId: 'closeDate', + fieldMetadataId: 'closeDate', viewId: mockedViewsData[2].id, position: 2, isVisible: true, @@ -160,7 +160,7 @@ export const mockedViewFieldsData = [ }, { id: 'afc0819d-b694-4e3c-a2e6-25261aa3ed2c', - fieldId: 'company', + fieldMetadataId: 'company', viewId: mockedViewsData[2].id, position: 3, isVisible: true, @@ -168,7 +168,7 @@ export const mockedViewFieldsData = [ }, { id: 'ec0507bb-aedc-4695-ba96-d81bdeb9db83', - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', viewId: mockedViewsData[2].id, position: 4, isVisible: true, @@ -176,7 +176,7 @@ export const mockedViewFieldsData = [ }, { id: '3f1585f6-44f6-45c5-b840-bc05af5d0008', - fieldId: 'pointOfContact', + fieldMetadataId: 'pointOfContact', viewId: mockedViewsData[2].id, position: 5, isVisible: true, diff --git a/front/src/testing/mock-data/views.ts b/front/src/testing/mock-data/views.ts index f007560dc..c58e50846 100644 --- a/front/src/testing/mock-data/views.ts +++ b/front/src/testing/mock-data/views.ts @@ -2,25 +2,25 @@ export const mockedViewsData = [ { id: '37a8a866-eb17-4e76-9382-03143a2f6a80', name: 'All companies', - objectId: 'company', + objectMetadataId: 'company', type: 'table', }, { id: '6095799e-b48f-4e00-b071-10818083593a', name: 'All people', - objectId: 'person', + objectMetadataId: 'person', type: 'table', }, { id: 'e26f66b7-f890-4a5c-b4d2-ec09987b5308', name: 'All opportunities', - objectId: 'company', + objectMetadataId: 'company', type: 'kanban', }, { id: '5c307222-1dd5-4ff3-ab06-8d990e9b3c74', name: 'All companies (v2)', - objectId: 'a3195559-cc20-4749-9565-572a2f506581', + objectMetadataId: 'a3195559-cc20-4749-9565-572a2f506581', type: 'table', }, ]; diff --git a/server/src/database/typeorm-seeds/metadata/field-metadata.ts b/server/src/database/typeorm-seeds/metadata/field-metadata.ts index d3c913c5f..6c097eb95 100644 --- a/server/src/database/typeorm-seeds/metadata/field-metadata.ts +++ b/server/src/database/typeorm-seeds/metadata/field-metadata.ts @@ -107,10 +107,10 @@ export const seedFieldMetadata = async ( workspaceId: 'twenty-7ed9d212-1c25-4d02-bf25-6aeccf7ea419', isActive: true, type: 'TEXT', - name: 'objectId', + name: 'objectMetadataId', label: 'Object Id', targetColumnMap: { - value: 'objectId', + value: 'objectMetadataId', }, description: 'View target object', icon: null, @@ -138,10 +138,10 @@ export const seedFieldMetadata = async ( workspaceId: 'twenty-7ed9d212-1c25-4d02-bf25-6aeccf7ea419', isActive: true, type: 'TEXT', - name: 'fieldId', + name: 'fieldMetadataId', label: 'Field Id', targetColumnMap: { - value: 'fieldId', + value: 'fieldMetadataId', }, description: 'View Field target field', icon: null, @@ -214,10 +214,10 @@ export const seedFieldMetadata = async ( workspaceId: 'twenty-7ed9d212-1c25-4d02-bf25-6aeccf7ea419', isActive: true, type: 'TEXT', - name: 'fieldId', + name: 'fieldMetadataId', label: 'Field Id', targetColumnMap: { - value: 'fieldId', + value: 'fieldMetadataId', }, description: 'View Filter target field', icon: null, @@ -290,10 +290,10 @@ export const seedFieldMetadata = async ( workspaceId: 'twenty-7ed9d212-1c25-4d02-bf25-6aeccf7ea419', isActive: true, type: 'TEXT', - name: 'fieldId', + name: 'fieldMetadataId', label: 'Field Id', targetColumnMap: { - value: 'fieldId', + value: 'fieldMetadataId', }, description: 'View Sort target field', icon: null, diff --git a/server/src/database/typeorm-seeds/tenant/view-fields.ts b/server/src/database/typeorm-seeds/tenant/view-fields.ts index 987a5ce8a..d8d0a9b03 100644 --- a/server/src/database/typeorm-seeds/tenant/view-fields.ts +++ b/server/src/database/typeorm-seeds/tenant/view-fields.ts @@ -11,7 +11,7 @@ export const seedViewFields = async ( .insert() .into(`${schemaName}.${tableName}`, [ 'id', - 'fieldId', + 'fieldMetadataId', 'viewId', 'position', 'isVisible', @@ -21,7 +21,7 @@ export const seedViewFields = async ( .values([ { id: '46a72a5b-276e-4241-a05f-c054410aebcb', - fieldId: 'name', + fieldMetadataId: 'name', viewId: '10bec73c-0aea-4cc4-a3b2-8c2186f29b43', position: 0, isVisible: true, @@ -29,7 +29,7 @@ export const seedViewFields = async ( }, { id: 'f15b26ff-8f79-49dd-8f53-4286dd1af846', - fieldId: 'name', + fieldMetadataId: 'name', viewId: '37a8a866-eb17-4e76-9382-03143a2f6a80', position: 0, isVisible: true, @@ -37,7 +37,7 @@ export const seedViewFields = async ( }, { id: '8d1dbb50-c97f-42c4-8575-3d2c9bdeb6e5', - fieldId: 'domainName', + fieldMetadataId: 'domainName', viewId: '37a8a866-eb17-4e76-9382-03143a2f6a80', position: 1, isVisible: true, @@ -45,7 +45,7 @@ export const seedViewFields = async ( }, { id: '33833b3b-4e02-4f10-91fc-c594422952af', - fieldId: 'accountOwner', + fieldMetadataId: 'accountOwner', viewId: '37a8a866-eb17-4e76-9382-03143a2f6a80', position: 2, isVisible: true, @@ -53,7 +53,7 @@ export const seedViewFields = async ( }, { id: 'c750a968-832e-4812-a1a2-74f515af55c1', - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', viewId: '37a8a866-eb17-4e76-9382-03143a2f6a80', position: 3, isVisible: true, @@ -61,7 +61,7 @@ export const seedViewFields = async ( }, { id: '2fde3187-a0bc-47ca-80bd-457bd826fb4a', - fieldId: 'employees', + fieldMetadataId: 'employees', viewId: '37a8a866-eb17-4e76-9382-03143a2f6a80', position: 4, isVisible: true, @@ -69,7 +69,7 @@ export const seedViewFields = async ( }, { id: '2fead26f-3f4f-4a4d-a4c6-3abe7b2f74c9', - fieldId: 'linkedin', + fieldMetadataId: 'linkedin', viewId: '37a8a866-eb17-4e76-9382-03143a2f6a80', position: 5, isVisible: true, @@ -77,7 +77,7 @@ export const seedViewFields = async ( }, { id: '0cffa82a-c851-4e17-b46c-2c4642d78329', - fieldId: 'address', + fieldMetadataId: 'address', viewId: '37a8a866-eb17-4e76-9382-03143a2f6a80', position: 6, isVisible: true, @@ -85,7 +85,7 @@ export const seedViewFields = async ( }, { id: '93a68c4a-8107-409a-9adb-06305ffbd692', - fieldId: 'displayName', + fieldMetadataId: 'displayName', viewId: '6095799e-b48f-4e00-b071-10818083593a', position: 0, isVisible: true, @@ -93,7 +93,7 @@ export const seedViewFields = async ( }, { id: 'd955ee31-6316-4cb2-af71-9609dede4d7e', - fieldId: 'email', + fieldMetadataId: 'email', viewId: '6095799e-b48f-4e00-b071-10818083593a', position: 1, isVisible: true, @@ -101,7 +101,7 @@ export const seedViewFields = async ( }, { id: 'bceb4d84-8ad1-4a0e-9333-efb870b42eb8', - fieldId: 'company', + fieldMetadataId: 'company', viewId: '6095799e-b48f-4e00-b071-10818083593a', position: 2, isVisible: true, @@ -109,7 +109,7 @@ export const seedViewFields = async ( }, { id: 'bef874d4-f349-4cdb-ae28-6e9fc497449b', - fieldId: 'phone', + fieldMetadataId: 'phone', viewId: '6095799e-b48f-4e00-b071-10818083593a', position: 3, isVisible: true, @@ -117,7 +117,7 @@ export const seedViewFields = async ( }, { id: 'e06f920d-1af9-404d-8b9a-4f97c4009a4a', - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', viewId: '6095799e-b48f-4e00-b071-10818083593a', position: 4, isVisible: true, @@ -125,7 +125,7 @@ export const seedViewFields = async ( }, { id: '92d94ee8-31fc-4025-a427-29291abb2b19', - fieldId: 'city', + fieldMetadataId: 'city', viewId: '6095799e-b48f-4e00-b071-10818083593a', position: 5, isVisible: true, @@ -133,7 +133,7 @@ export const seedViewFields = async ( }, { id: 'b38e4022-1559-40da-bd5e-29d89b6c8330', - fieldId: 'jobTitle', + fieldMetadataId: 'jobTitle', viewId: '6095799e-b48f-4e00-b071-10818083593a', position: 6, isVisible: true, @@ -141,7 +141,7 @@ export const seedViewFields = async ( }, { id: '30147fab-9666-4db5-a11b-20af4544c712', - fieldId: 'linkedin', + fieldMetadataId: 'linkedin', viewId: '6095799e-b48f-4e00-b071-10818083593a', position: 7, isVisible: true, @@ -149,7 +149,7 @@ export const seedViewFields = async ( }, { id: 'f0870949-21ac-46a2-b3ec-d1b0107c434c', - fieldId: 'x', + fieldMetadataId: 'x', viewId: '6095799e-b48f-4e00-b071-10818083593a', position: 8, isVisible: true, diff --git a/server/src/database/typeorm-seeds/tenant/views.ts b/server/src/database/typeorm-seeds/tenant/views.ts index 6f253d341..aadf4c7e2 100644 --- a/server/src/database/typeorm-seeds/tenant/views.ts +++ b/server/src/database/typeorm-seeds/tenant/views.ts @@ -9,31 +9,36 @@ export const seedViews = async ( await workspaceDataSource .createQueryBuilder() .insert() - .into(`${schemaName}.${tableName}`, ['id', 'name', 'objectId', 'type']) + .into(`${schemaName}.${tableName}`, [ + 'id', + 'name', + 'objectMetadataId', + 'type', + ]) .orIgnore() .values([ { id: '37a8a866-eb17-4e76-9382-03143a2f6a80', name: 'All companies', - objectId: 'company', + objectMetadataId: 'company', type: 'table', }, { id: '6095799e-b48f-4e00-b071-10818083593a', name: 'All people', - objectId: 'person', + objectMetadataId: 'person', type: 'table', }, { id: 'e26f66b7-f890-4a5c-b4d2-ec09987b5308', name: 'All opportunities', - objectId: 'company', + objectMetadataId: 'company', type: 'kanban', }, { id: '10bec73c-0aea-4cc4-a3b2-8c2186f29b43', name: 'All Companies (V2)', - objectId: '1a8487a0-480c-434e-b4c7-e22408b97047', + objectMetadataId: '1a8487a0-480c-434e-b4c7-e22408b97047', type: 'table', }, ]) diff --git a/server/src/metadata/standard-objects/view-fields/view-fields.metadata.ts b/server/src/metadata/standard-objects/view-fields/view-fields.metadata.ts index 0995fc24f..fecd270e4 100644 --- a/server/src/metadata/standard-objects/view-fields/view-fields.metadata.ts +++ b/server/src/metadata/standard-objects/view-fields/view-fields.metadata.ts @@ -9,10 +9,10 @@ const viewFieldsMetadata = { fields: [ { type: 'TEXT', - name: 'fieldId', + name: 'fieldMetadataId', label: 'Field Id', targetColumnMap: { - value: 'fieldId', + value: 'fieldMetadataId', }, description: 'View Field target field', icon: null, diff --git a/server/src/metadata/standard-objects/view-filters/view-filters.metadata.ts b/server/src/metadata/standard-objects/view-filters/view-filters.metadata.ts index 8fa165fd4..8ee351c41 100644 --- a/server/src/metadata/standard-objects/view-filters/view-filters.metadata.ts +++ b/server/src/metadata/standard-objects/view-filters/view-filters.metadata.ts @@ -9,10 +9,10 @@ const viewFiltersMetadata = { fields: [ { type: 'TEXT', - name: 'fieldId', + name: 'fieldMetadataId', label: 'Field Id', targetColumnMap: { - value: 'fieldId', + value: 'fieldMetadataId', }, description: 'View Filter target field', icon: null, diff --git a/server/src/metadata/standard-objects/view-sorts/view-sorts.metadata.ts b/server/src/metadata/standard-objects/view-sorts/view-sorts.metadata.ts index eb08b3921..596a6b351 100644 --- a/server/src/metadata/standard-objects/view-sorts/view-sorts.metadata.ts +++ b/server/src/metadata/standard-objects/view-sorts/view-sorts.metadata.ts @@ -9,10 +9,10 @@ const viewSortsMetadata = { fields: [ { type: 'TEXT', - name: 'fieldId', + name: 'fieldMetadataId', label: 'Field Id', targetColumnMap: { - value: 'fieldId', + value: 'fieldMetadataId', }, description: 'View Sort target field', icon: null, diff --git a/server/src/metadata/standard-objects/views/views.metadata.ts b/server/src/metadata/standard-objects/views/views.metadata.ts index 82dd3ac6f..c03d14816 100644 --- a/server/src/metadata/standard-objects/views/views.metadata.ts +++ b/server/src/metadata/standard-objects/views/views.metadata.ts @@ -20,10 +20,10 @@ const viewsMetadata = { }, { type: 'TEXT', - name: 'objectId', + name: 'objectMetadataId', label: 'Object Id', targetColumnMap: { - value: 'objectId', + value: 'objectMetadataId', }, description: 'View target object', icon: null, diff --git a/server/src/metadata/tenant-initialisation/standard-objects-prefill-data/standard-objects-prefill-data.ts b/server/src/metadata/tenant-initialisation/standard-objects-prefill-data/standard-objects-prefill-data.ts index 10e292985..2fcca6d85 100644 --- a/server/src/metadata/tenant-initialisation/standard-objects-prefill-data/standard-objects-prefill-data.ts +++ b/server/src/metadata/tenant-initialisation/standard-objects-prefill-data/standard-objects-prefill-data.ts @@ -58,27 +58,27 @@ export const standardObjectsPrefillData = async ( const createdViews = await entityManager .createQueryBuilder() .insert() - .into(`${schemaName}.view`, ['name', 'objectId', 'type']) + .into(`${schemaName}.view`, ['name', 'objectMetadataId', 'type']) .orIgnore() .values([ { name: 'All companies', - objectId: 'company', + objectMetadataId: 'company', type: 'table', }, { name: 'All people', - objectId: 'person', + objectMetadataId: 'person', type: 'table', }, { name: 'All opportunities', - objectId: 'company', + objectMetadataId: 'company', type: 'kanban', }, { name: 'All Companies (V2)', - objectId: companyIdMap['Airbnb'], + objectMetadataId: companyIdMap['Airbnb'], type: 'table', }, ]) @@ -94,7 +94,7 @@ export const standardObjectsPrefillData = async ( .createQueryBuilder() .insert() .into(`${schemaName}.viewField`, [ - 'fieldId', + 'fieldMetadataId', 'viewId', 'position', 'isVisible', @@ -103,161 +103,161 @@ export const standardObjectsPrefillData = async ( .orIgnore() .values([ { - fieldId: 'name', + fieldMetadataId: 'name', viewId: viewIdMap['All Companies (V2)'], position: 0, isVisible: true, size: 180, }, { - fieldId: 'name', + fieldMetadataId: 'name', viewId: viewIdMap['All companies'], position: 0, isVisible: true, size: 180, }, { - fieldId: 'domainName', + fieldMetadataId: 'domainName', viewId: viewIdMap['All companies'], position: 1, isVisible: true, size: 100, }, { - fieldId: 'accountOwner', + fieldMetadataId: 'accountOwner', viewId: viewIdMap['All companies'], position: 2, isVisible: true, size: 150, }, { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', viewId: viewIdMap['All companies'], position: 3, isVisible: true, size: 150, }, { - fieldId: 'employees', + fieldMetadataId: 'employees', viewId: viewIdMap['All companies'], position: 4, isVisible: true, size: 150, }, { - fieldId: 'linkedin', + fieldMetadataId: 'linkedin', viewId: viewIdMap['All companies'], position: 5, isVisible: true, size: 170, }, { - fieldId: 'address', + fieldMetadataId: 'address', viewId: viewIdMap['All companies'], position: 6, isVisible: true, size: 170, }, { - fieldId: 'displayName', + fieldMetadataId: 'displayName', viewId: viewIdMap['All people'], position: 0, isVisible: true, size: 210, }, { - fieldId: 'email', + fieldMetadataId: 'email', viewId: viewIdMap['All people'], position: 1, isVisible: true, size: 150, }, { - fieldId: 'company', + fieldMetadataId: 'company', viewId: viewIdMap['All people'], position: 2, isVisible: true, size: 150, }, { - fieldId: 'phone', + fieldMetadataId: 'phone', viewId: viewIdMap['All people'], position: 3, isVisible: true, size: 150, }, { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', viewId: viewIdMap['All people'], position: 4, isVisible: true, size: 150, }, { - fieldId: 'city', + fieldMetadataId: 'city', viewId: viewIdMap['All people'], position: 5, isVisible: true, size: 150, }, { - fieldId: 'jobTitle', + fieldMetadataId: 'jobTitle', viewId: viewIdMap['All people'], position: 6, isVisible: true, size: 150, }, { - fieldId: 'linkedin', + fieldMetadataId: 'linkedin', viewId: viewIdMap['All people'], position: 7, isVisible: true, size: 150, }, { - fieldId: 'x', + fieldMetadataId: 'x', viewId: viewIdMap['All people'], position: 8, isVisible: true, size: 150, }, { - fieldId: 'amount', + fieldMetadataId: 'amount', viewId: viewIdMap['All opportunities'], position: 0, isVisible: true, size: 180, }, { - fieldId: 'probability', + fieldMetadataId: 'probability', viewId: viewIdMap['All opportunities'], position: 1, isVisible: true, size: 150, }, { - fieldId: 'closeDate', + fieldMetadataId: 'closeDate', viewId: viewIdMap['All opportunities'], position: 2, isVisible: true, size: 100, }, { - fieldId: 'company', + fieldMetadataId: 'company', viewId: viewIdMap['All opportunities'], position: 3, isVisible: true, size: 150, }, { - fieldId: 'createdAt', + fieldMetadataId: 'createdAt', viewId: viewIdMap['All opportunities'], position: 4, isVisible: true, size: 150, }, { - fieldId: 'pointOfContact', + fieldMetadataId: 'pointOfContact', viewId: viewIdMap['All opportunities'], position: 5, isVisible: true, diff --git a/server/src/metadata/tenant-migration/migrations/1697618011-addViewTable.ts b/server/src/metadata/tenant-migration/migrations/1697618011-addViewTable.ts index 60570a89f..65135b990 100644 --- a/server/src/metadata/tenant-migration/migrations/1697618011-addViewTable.ts +++ b/server/src/metadata/tenant-migration/migrations/1697618011-addViewTable.ts @@ -18,7 +18,7 @@ export const addViewTable: TenantMigrationTableAction[] = [ action: TenantMigrationColumnActionType.CREATE, }, { - columnName: 'objectId', + columnName: 'objectMetadataId', columnType: 'varchar', action: TenantMigrationColumnActionType.CREATE, }, diff --git a/server/src/metadata/tenant-migration/migrations/1697618012-addViewFieldTable.ts b/server/src/metadata/tenant-migration/migrations/1697618012-addViewFieldTable.ts index b479d929d..6742d1140 100644 --- a/server/src/metadata/tenant-migration/migrations/1697618012-addViewFieldTable.ts +++ b/server/src/metadata/tenant-migration/migrations/1697618012-addViewFieldTable.ts @@ -13,7 +13,7 @@ export const addViewFieldTable: TenantMigrationTableAction[] = [ action: 'alter', columns: [ { - columnName: 'fieldId', + columnName: 'fieldMetadataId', columnType: 'varchar', action: TenantMigrationColumnActionType.CREATE, }, diff --git a/server/src/metadata/tenant-migration/migrations/1697618013-addViewFilterTable.ts b/server/src/metadata/tenant-migration/migrations/1697618013-addViewFilterTable.ts index 7ff19c319..4d66f0524 100644 --- a/server/src/metadata/tenant-migration/migrations/1697618013-addViewFilterTable.ts +++ b/server/src/metadata/tenant-migration/migrations/1697618013-addViewFilterTable.ts @@ -13,7 +13,7 @@ export const addViewFilterTable: TenantMigrationTableAction[] = [ action: 'alter', columns: [ { - columnName: 'fieldId', + columnName: 'fieldMetadataId', columnType: 'varchar', action: TenantMigrationColumnActionType.CREATE, }, diff --git a/server/src/metadata/tenant-migration/migrations/1697618014-addViewSortTable.ts b/server/src/metadata/tenant-migration/migrations/1697618014-addViewSortTable.ts index 1bb4307c9..d6ee52d3a 100644 --- a/server/src/metadata/tenant-migration/migrations/1697618014-addViewSortTable.ts +++ b/server/src/metadata/tenant-migration/migrations/1697618014-addViewSortTable.ts @@ -13,7 +13,7 @@ export const addViewSortTable: TenantMigrationTableAction[] = [ action: 'alter', columns: [ { - columnName: 'fieldId', + columnName: 'fieldMetadataId', columnType: 'varchar', action: TenantMigrationColumnActionType.CREATE, },