From 019c6306861db7e98512d464f961f2f37b3c9e2c Mon Sep 17 00:00:00 2001 From: Thomas Trompette Date: Wed, 6 Mar 2024 18:34:10 +0100 Subject: [PATCH] Use new type position for standard objects and newly created objects (#4349) Co-authored-by: Thomas Trompette --- .../hooks/useMapFieldMetadataToGraphQLQuery.ts | 1 + .../utils/map-field-metadata-to-graphql-query.utils.ts | 1 + .../twenty-server/src/core/open-api/utils/components.utils.ts | 1 + .../src/metadata/object-metadata/object-metadata.service.ts | 2 +- .../factories/basic-column-action.factory.ts | 3 ++- .../graphql-types/scalars/position.scalar.ts | 1 + .../standard-objects/company.object-metadata.ts | 4 ++-- .../standard-objects/opportunity.object-metadata.ts | 4 ++-- .../standard-objects/person.object-metadata.ts | 4 ++-- 9 files changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useMapFieldMetadataToGraphQLQuery.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useMapFieldMetadataToGraphQLQuery.ts index 9ceb18892..41a69a93c 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useMapFieldMetadataToGraphQLQuery.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useMapFieldMetadataToGraphQLQuery.ts @@ -29,6 +29,7 @@ export const useMapFieldMetadataToGraphQLQuery = () => { 'BOOLEAN', 'RATING', 'SELECT', + 'POSITION', ] as FieldType[] ).includes(fieldType); diff --git a/packages/twenty-server/src/core/api-rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils.ts b/packages/twenty-server/src/core/api-rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils.ts index a8dc28840..afda617b5 100644 --- a/packages/twenty-server/src/core/api-rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils.ts +++ b/packages/twenty-server/src/core/api-rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils.ts @@ -22,6 +22,7 @@ export const mapFieldMetadataToGraphqlQuery = ( FieldMetadataType.EMAIL, FieldMetadataType.NUMBER, FieldMetadataType.BOOLEAN, + FieldMetadataType.POSITION, ].includes(fieldType); if (fieldIsSimpleValue) { diff --git a/packages/twenty-server/src/core/open-api/utils/components.utils.ts b/packages/twenty-server/src/core/open-api/utils/components.utils.ts index f66268c6a..c639bc4b6 100644 --- a/packages/twenty-server/src/core/open-api/utils/components.utils.ts +++ b/packages/twenty-server/src/core/open-api/utils/components.utils.ts @@ -36,6 +36,7 @@ const getSchemaComponentsProperties = ( case FieldMetadataType.NUMERIC: case FieldMetadataType.PROBABILITY: case FieldMetadataType.RATING: + case FieldMetadataType.POSITION: itemProperty.type = 'number'; break; case FieldMetadataType.BOOLEAN: diff --git a/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts b/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts index e18056139..080da1774 100644 --- a/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts +++ b/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts @@ -291,7 +291,7 @@ export class ObjectMetadataService extends TypeOrmQueryService { diff --git a/packages/twenty-server/src/workspace/workspace-schema-builder/graphql-types/scalars/position.scalar.ts b/packages/twenty-server/src/workspace/workspace-schema-builder/graphql-types/scalars/position.scalar.ts index 4b5f9521f..a9619d098 100644 --- a/packages/twenty-server/src/workspace/workspace-schema-builder/graphql-types/scalars/position.scalar.ts +++ b/packages/twenty-server/src/workspace/workspace-schema-builder/graphql-types/scalars/position.scalar.ts @@ -12,6 +12,7 @@ const checkPosition = (value: any): PositionType => { if (isValidNumberPosition(value) || isValidStringPosition(value)) { return value; } + throw new Error('Invalid position found'); }; diff --git a/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/company.object-metadata.ts b/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/company.object-metadata.ts index 20b9aa9a8..dd47505bb 100644 --- a/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/company.object-metadata.ts +++ b/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/company.object-metadata.ts @@ -99,9 +99,9 @@ export class CompanyObjectMetadata extends BaseObjectMetadata { idealCustomerProfile: boolean; @FieldMetadata({ - type: FieldMetadataType.NUMBER, + type: FieldMetadataType.POSITION, label: 'Position', - description: 'Position', + description: 'Company record position', icon: 'IconHierarchy2', }) @IsSystem() diff --git a/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/opportunity.object-metadata.ts b/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/opportunity.object-metadata.ts index 6fcc97d6f..8a3928a96 100644 --- a/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/opportunity.object-metadata.ts +++ b/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/opportunity.object-metadata.ts @@ -82,9 +82,9 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata { stage: string; @FieldMetadata({ - type: FieldMetadataType.NUMBER, + type: FieldMetadataType.POSITION, label: 'Position', - description: 'Position', + description: 'Opportunity record position', icon: 'IconHierarchy2', }) @IsSystem() diff --git a/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/person.object-metadata.ts b/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/person.object-metadata.ts index 165e96b03..5d0a0d3a1 100644 --- a/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/person.object-metadata.ts +++ b/packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/person.object-metadata.ts @@ -97,9 +97,9 @@ export class PersonObjectMetadata extends BaseObjectMetadata { avatarUrl: string; @FieldMetadata({ - type: FieldMetadataType.NUMBER, + type: FieldMetadataType.POSITION, label: 'Position', - description: 'Record Position', + description: 'Person record Position', icon: 'IconHierarchy2', }) @IsSystem()