From 97ce100fa2b72967811e66995ab7119a1e93c095 Mon Sep 17 00:00:00 2001 From: Marie <51697796+ijreilly@users.noreply.github.com> Date: Wed, 25 Sep 2024 14:06:03 +0200 Subject: [PATCH] [Phone field migration][fix] Update field label (#7247) --- ...-migrate-phone-fields-to-phones.command.ts | 38 +++++++++++++------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/packages/twenty-server/src/database/commands/upgrade-version/0-32/0-32-migrate-phone-fields-to-phones.command.ts b/packages/twenty-server/src/database/commands/upgrade-version/0-32/0-32-migrate-phone-fields-to-phones.command.ts index 115074cb1..d22790b62 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version/0-32/0-32-migrate-phone-fields-to-phones.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version/0-32/0-32-migrate-phone-fields-to-phones.command.ts @@ -153,25 +153,24 @@ export class MigratePhoneFieldsToPhonesCommand extends ActiveWorkspacesCommandRu const workspaceId = standardPersonPhoneField.workspaceId; try { - let standardPersonPhonesFieldType = + let standardPersonPhonesField = await this.fieldMetadataRepository.findOneBy({ workspaceId, standardId: PERSON_STANDARD_FIELD_IDS.phones, }); - if (!standardPersonPhonesFieldType) { - standardPersonPhonesFieldType = - await this.fieldMetadataService.createOne({ - ...deprecatedPhoneFieldWithoutId, - label: 'Phones', - type: FieldMetadataType.PHONES, - defaultValue: null, - name: 'phones', - } satisfies CreateFieldInput); + if (!standardPersonPhonesField) { + standardPersonPhonesField = await this.fieldMetadataService.createOne({ + ...deprecatedPhoneFieldWithoutId, + label: 'Phones', + type: FieldMetadataType.PHONES, + defaultValue: null, + name: 'phones', + } satisfies CreateFieldInput); await this.viewService.removeFieldFromViews({ workspaceId: workspaceId, - fieldId: standardPersonPhonesFieldType.id, + fieldId: standardPersonPhonesField.id, }); } @@ -181,6 +180,13 @@ export class MigratePhoneFieldsToPhonesCommand extends ActiveWorkspacesCommandRu workspaceSchemaName, }); + // Add (deprecated) to Phone field label + await this.fieldMetadataService.updateOne(standardPersonPhoneField.id, { + id: standardPersonPhoneField.id, + workspaceId: standardPersonPhoneField.workspaceId, + label: 'Phone (deprecated)', + }); + // Add new phones field to views and hide deprecated phone field const viewFieldRepository = await this.twentyORMGlobalManager.getRepositoryForWorkspace( @@ -198,7 +204,7 @@ export class MigratePhoneFieldsToPhonesCommand extends ActiveWorkspacesCommandRu await this.viewService.addFieldToViews({ workspaceId: workspaceId, - fieldId: standardPersonPhonesFieldType.id, + fieldId: standardPersonPhonesField.id, viewsIds: viewFieldsWithDeprecatedPhoneField .filter((viewField) => viewField.viewId !== null) .map((viewField) => viewField.viewId as string), @@ -213,6 +219,7 @@ export class MigratePhoneFieldsToPhonesCommand extends ActiveWorkspacesCommandRu }, [], ), + size: 150, }); await this.viewService.removeFieldFromViews({ @@ -248,6 +255,13 @@ export class MigratePhoneFieldsToPhonesCommand extends ActiveWorkspacesCommandRu workspaceId, ); } + + // Revert Phone field label (remove (deprecated)) + await this.fieldMetadataService.updateOne(standardPersonPhoneField.id, { + id: standardPersonPhoneField.id, + workspaceId: standardPersonPhoneField.workspaceId, + label: 'Phone', + }); } finally { await workspaceQueryRunner.release(); }