From 6eb4e00ce152636c3616b9a03c6fcf8bf31ff1ef Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Tue, 14 Nov 2023 12:34:48 +0100 Subject: [PATCH] Migrate WorkspaceMemberSetting into WorkspaceMember (#2501) --- .../workspace-member-setting.ts | 90 ------------------- .../field-metadata/workspace-member.ts | 50 +++++++---- .../database/typeorm-seeds/metadata/index.ts | 5 -- .../typeorm-seeds/metadata/object-metadata.ts | 14 --- .../relation-metadata/workspace-member.ts | 10 --- ...97618025-addWorkspaceMemberSettingTable.ts | 32 ------- .../1697618026-addWorspaceMemberTable.ts | 15 ++-- ...8035-addWorkspaceMemberSettingRelations.ts | 20 ----- .../1697618036-addWorkspaceMemberRelations.ts | 19 ---- .../tenant-migration/standard-migrations.ts | 7 -- 10 files changed, 44 insertions(+), 218 deletions(-) delete mode 100644 server/src/database/typeorm-seeds/metadata/field-metadata/workspace-member-setting.ts delete mode 100644 server/src/metadata/tenant-migration/migrations/1697618025-addWorkspaceMemberSettingTable.ts delete mode 100644 server/src/metadata/tenant-migration/migrations/1697618035-addWorkspaceMemberSettingRelations.ts delete mode 100644 server/src/metadata/tenant-migration/migrations/1697618036-addWorkspaceMemberRelations.ts diff --git a/server/src/database/typeorm-seeds/metadata/field-metadata/workspace-member-setting.ts b/server/src/database/typeorm-seeds/metadata/field-metadata/workspace-member-setting.ts deleted file mode 100644 index c36d5866f..000000000 --- a/server/src/database/typeorm-seeds/metadata/field-metadata/workspace-member-setting.ts +++ /dev/null @@ -1,90 +0,0 @@ -import { DataSource } from 'typeorm'; - -import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata'; -import { SeedWorkspaceId } from 'src/database/seeds/metadata'; - -const fieldMetadataTableName = 'fieldMetadata'; - -export enum SeedWorkspaceMemberSettingFieldMetadataIds { - ColorScheme = '20202020-d7b7-4f2e-bb52-90d3fd78007a', - Locale = '20202020-10f6-4df9-8d6f-a760b65bd800', - WorkspaceMember = '20202020-83f2-4c5f-96b0-0c51ecc160e3', -} - -export const seedWorkspaceMemberSettingFieldMetadata = async ( - workspaceDataSource: DataSource, - schemaName: string, -) => { - await workspaceDataSource - .createQueryBuilder() - .insert() - .into(`${schemaName}.${fieldMetadataTableName}`, [ - 'id', - 'objectMetadataId', - 'isCustom', - 'workspaceId', - 'isActive', - 'type', - 'name', - 'label', - 'targetColumnMap', - 'description', - 'icon', - 'isNullable', - ]) - .orIgnore() - .values([ - // Scalar fields - { - id: SeedWorkspaceMemberSettingFieldMetadataIds.ColorScheme, - objectMetadataId: SeedObjectMetadataIds.WorkspaceMemberSetting, - isCustom: false, - workspaceId: SeedWorkspaceId, - isActive: true, - type: 'TEXT', - name: 'colorScheme', - label: 'Color Scheme', - targetColumnMap: { - value: 'colorScheme', - }, - description: 'Preferred color scheme', - icon: 'IconColorSwatch', - isNullable: false, - }, - { - id: SeedWorkspaceMemberSettingFieldMetadataIds.Locale, - objectMetadataId: SeedObjectMetadataIds.WorkspaceMemberSetting, - isCustom: false, - workspaceId: SeedWorkspaceId, - isActive: true, - type: 'TEXT', - name: 'locale', - label: 'Language', - targetColumnMap: { - value: 'locale', - }, - description: 'Preferred language', - icon: 'IconLanguage', - isNullable: false, - }, - - // Relationships - { - id: SeedWorkspaceMemberSettingFieldMetadataIds.WorkspaceMember, - objectMetadataId: SeedObjectMetadataIds.WorkspaceMemberSetting, - isCustom: false, - workspaceId: SeedWorkspaceId, - isActive: true, - type: 'RELATION', - name: 'workspaceMember', - label: 'Workspace member', - targetColumnMap: { - value: 'workspaceMemberId', - }, - description: 'Workspace member associated with these settings', - icon: 'IconUserCircle', - isNullable: false, - }, - ]) - .execute(); -}; diff --git a/server/src/database/typeorm-seeds/metadata/field-metadata/workspace-member.ts b/server/src/database/typeorm-seeds/metadata/field-metadata/workspace-member.ts index 2bdcc4b7a..5433ef086 100644 --- a/server/src/database/typeorm-seeds/metadata/field-metadata/workspace-member.ts +++ b/server/src/database/typeorm-seeds/metadata/field-metadata/workspace-member.ts @@ -8,6 +8,8 @@ const fieldMetadataTableName = 'fieldMetadata'; export enum SeedWorkspaceMemberFieldMetadataIds { FirstName = '20202020-1fa8-4d38-9fa4-0cf696909298', LastName = '20202020-8c37-4163-ba06-1dada334ce3e', + Locale = '20202020-10f6-4df9-8d6f-a760b65bd800', + ColorScheme = '20202020-83f2-4c5f-96b0-0c51ecc160e3', AllowImpersonation = '20202020-bb19-44a1-8156-8866f87a5f42', UserId = '20202020-f2c1-4ca1-9ca5-7b9d5cc87eb0', AuthoredActivities = '20202020-37a0-4db4-9c9f-fd3e3f4e47fc', @@ -107,6 +109,38 @@ export const seedWorkspaceMemberFieldMetadata = async ( icon: 'IconEye', isNullable: false, }, + { + id: SeedWorkspaceMemberFieldMetadataIds.ColorScheme, + objectMetadataId: SeedObjectMetadataIds.WorkspaceMember, + isCustom: false, + workspaceId: SeedWorkspaceId, + isActive: true, + type: 'TEXT', + name: 'colorScheme', + label: 'Color Scheme', + targetColumnMap: { + value: 'colorScheme', + }, + description: 'Preferred color scheme', + icon: 'IconColorSwatch', + isNullable: false, + }, + { + id: SeedWorkspaceMemberFieldMetadataIds.Locale, + objectMetadataId: SeedObjectMetadataIds.WorkspaceMember, + isCustom: false, + workspaceId: SeedWorkspaceId, + isActive: true, + type: 'TEXT', + name: 'locale', + label: 'Language', + targetColumnMap: { + value: 'locale', + }, + description: 'Preferred language', + icon: 'IconLanguage', + isNullable: false, + }, // Relationships { @@ -193,22 +227,6 @@ export const seedWorkspaceMemberFieldMetadata = async ( icon: 'IconComment', isNullable: true, }, - { - id: SeedWorkspaceMemberFieldMetadataIds.Settings, - objectMetadataId: SeedObjectMetadataIds.WorkspaceMember, - isCustom: false, - workspaceId: SeedWorkspaceId, - isActive: true, - type: 'RELATION', - name: 'setting', - label: 'Settings', - targetColumnMap: { - value: 'settingId', - }, - description: 'Workspace member settings', - icon: 'IconSettings', - isNullable: false, - }, ]) .execute(); }; diff --git a/server/src/database/typeorm-seeds/metadata/index.ts b/server/src/database/typeorm-seeds/metadata/index.ts index c20dc3a93..b4277f129 100644 --- a/server/src/database/typeorm-seeds/metadata/index.ts +++ b/server/src/database/typeorm-seeds/metadata/index.ts @@ -22,7 +22,6 @@ import { seedActivityRelationMetadata } from 'src/database/typeorm-seeds/metadat import { seedPipelineStepRelationMetadata } from 'src/database/typeorm-seeds/metadata/relation-metadata/pipeline-step'; import { seedPersonRelationMetadata } from 'src/database/typeorm-seeds/metadata/relation-metadata/person'; import { seedWorkspaceMemberRelationMetadata } from 'src/database/typeorm-seeds/metadata/relation-metadata/workspace-member'; -import { seedWorkspaceMemberSettingFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/workspace-member-setting'; export const seedMetadataSchema = async ( workspaceDataSource: DataSource, @@ -46,10 +45,6 @@ export const seedMetadataSchema = async ( await seedViewSortFieldMetadata(workspaceDataSource, schemaName); await seedViewRelationMetadata(workspaceDataSource, schemaName); await seedWorkspaceMemberFieldMetadata(workspaceDataSource, schemaName); - await seedWorkspaceMemberSettingFieldMetadata( - workspaceDataSource, - schemaName, - ); await seedActivityRelationMetadata(workspaceDataSource, schemaName); await seedCompanyRelationMetadata(workspaceDataSource, schemaName); diff --git a/server/src/database/typeorm-seeds/metadata/object-metadata.ts b/server/src/database/typeorm-seeds/metadata/object-metadata.ts index 7fdf9ebe5..6b1288f9c 100644 --- a/server/src/database/typeorm-seeds/metadata/object-metadata.ts +++ b/server/src/database/typeorm-seeds/metadata/object-metadata.ts @@ -10,7 +10,6 @@ export enum SeedObjectMetadataIds { Opportunity = '20202020-cae9-4ff4-9579-f7d9fe44c937', PipelineStep = '20202020-1029-4661-9e91-83bad932bdcd', WorkspaceMember = '20202020-b550-40bb-a96b-9ab54b664753', - WorkspaceMemberSetting = '20202020-166d-445c-970f-da1ea43f1dc7', Webhook = '20202020-ddee-40de-9c9b-5f82a3503360', ApiKey = '20202020-d8d0-4c2d-a370-5499b2181d02', Activity = '20202020-8ee3-4f67-84ab-1b7a6eb5a448', @@ -111,19 +110,6 @@ export const seedObjectMetadata = async ( workspaceId: SeedWorkspaceId, isActive: true, }, - { - id: SeedObjectMetadataIds.WorkspaceMemberSetting, - nameSingular: 'workspaceMemberSettingV2', - namePlural: 'workspaceMemberSettingsV2', - labelSingular: 'WorkspaceMemberSetting', - labelPlural: 'Workspace Member Settings', - targetTableName: 'workspaceMemberSetting', - description: 'A workspace member setting', - icon: 'IconSettings', - dataSourceId: SeedDataSourceId, - workspaceId: SeedWorkspaceId, - isActive: true, - }, { id: SeedObjectMetadataIds.Webhook, nameSingular: 'webhookV2', diff --git a/server/src/database/typeorm-seeds/metadata/relation-metadata/workspace-member.ts b/server/src/database/typeorm-seeds/metadata/relation-metadata/workspace-member.ts index d019b34a9..4c179ad8b 100644 --- a/server/src/database/typeorm-seeds/metadata/relation-metadata/workspace-member.ts +++ b/server/src/database/typeorm-seeds/metadata/relation-metadata/workspace-member.ts @@ -9,7 +9,6 @@ import { SeedFavoriteFieldMetadataIds } from 'src/database/typeorm-seeds/metadat import { SeedActivityFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/activity'; import { SeedCommentFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/comment'; import { SeedAttachmentFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/attachment'; -import { SeedWorkspaceMemberSettingFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/workspace-member-setting'; const tableName = 'relationMetadata'; @@ -39,15 +38,6 @@ export const seedWorkspaceMemberRelationMetadata = async ( toFieldMetadataId: SeedCompanyFieldMetadataIds.AccountOwner, workspaceId: SeedWorkspaceId, }, - { - relationType: RelationMetadataType.ONE_TO_ONE, - fromObjectMetadataId: SeedObjectMetadataIds.WorkspaceMember, - toObjectMetadataId: SeedObjectMetadataIds.WorkspaceMemberSetting, - fromFieldMetadataId: SeedWorkspaceMemberFieldMetadataIds.Settings, - toFieldMetadataId: - SeedWorkspaceMemberSettingFieldMetadataIds.WorkspaceMember, - workspaceId: SeedWorkspaceId, - }, { relationType: RelationMetadataType.ONE_TO_MANY, fromObjectMetadataId: SeedObjectMetadataIds.WorkspaceMember, diff --git a/server/src/metadata/tenant-migration/migrations/1697618025-addWorkspaceMemberSettingTable.ts b/server/src/metadata/tenant-migration/migrations/1697618025-addWorkspaceMemberSettingTable.ts deleted file mode 100644 index 7231416dc..000000000 --- a/server/src/metadata/tenant-migration/migrations/1697618025-addWorkspaceMemberSettingTable.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { - TenantMigrationColumnActionType, - TenantMigrationTableAction, -} from 'src/metadata/tenant-migration/tenant-migration.entity'; - -export const addWorkspaceMemberSettingTable: TenantMigrationTableAction[] = [ - { - name: 'workspaceMemberSetting', - action: 'create', - }, - { - name: 'workspaceMemberSetting', - action: 'alter', - columns: [ - { - columnName: 'colorScheme', - columnType: 'varchar', - action: TenantMigrationColumnActionType.CREATE, - }, - { - columnName: 'locale', - columnType: 'varchar', - action: TenantMigrationColumnActionType.CREATE, - }, - { - columnName: 'workspaceMemberId', - columnType: 'uuid', - action: TenantMigrationColumnActionType.CREATE, - }, - ], - }, -]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618026-addWorspaceMemberTable.ts b/server/src/metadata/tenant-migration/migrations/1697618026-addWorspaceMemberTable.ts index f5215d4a9..567a8cad0 100644 --- a/server/src/metadata/tenant-migration/migrations/1697618026-addWorspaceMemberTable.ts +++ b/server/src/metadata/tenant-migration/migrations/1697618026-addWorspaceMemberTable.ts @@ -22,6 +22,16 @@ export const addWorkspaceMemberTable: TenantMigrationTableAction[] = [ columnType: 'varchar', action: TenantMigrationColumnActionType.CREATE, }, + { + columnName: 'colorScheme', + columnType: 'varchar', + action: TenantMigrationColumnActionType.CREATE, + }, + { + columnName: 'locale', + columnType: 'varchar', + action: TenantMigrationColumnActionType.CREATE, + }, { columnName: 'allowImpersonation', columnType: 'boolean', @@ -32,11 +42,6 @@ export const addWorkspaceMemberTable: TenantMigrationTableAction[] = [ columnType: 'uuid', action: TenantMigrationColumnActionType.CREATE, }, - { - columnName: 'settingId', - columnType: 'uuid', - action: TenantMigrationColumnActionType.CREATE, - }, ], }, ]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618035-addWorkspaceMemberSettingRelations.ts b/server/src/metadata/tenant-migration/migrations/1697618035-addWorkspaceMemberSettingRelations.ts deleted file mode 100644 index 73636a0b8..000000000 --- a/server/src/metadata/tenant-migration/migrations/1697618035-addWorkspaceMemberSettingRelations.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { - TenantMigrationColumnActionType, - TenantMigrationTableAction, -} from 'src/metadata/tenant-migration/tenant-migration.entity'; - -export const addWorkspaceMemberSettingRelations: TenantMigrationTableAction[] = - [ - { - name: 'workspaceMemberSetting', - action: 'alter', - columns: [ - { - columnName: 'workspaceMemberId', - referencedTableName: 'workspaceMember', - referencedTableColumnName: 'id', - action: TenantMigrationColumnActionType.RELATION, - }, - ], - }, - ]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618036-addWorkspaceMemberRelations.ts b/server/src/metadata/tenant-migration/migrations/1697618036-addWorkspaceMemberRelations.ts deleted file mode 100644 index 7bbaac429..000000000 --- a/server/src/metadata/tenant-migration/migrations/1697618036-addWorkspaceMemberRelations.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { - TenantMigrationColumnActionType, - TenantMigrationTableAction, -} from 'src/metadata/tenant-migration/tenant-migration.entity'; - -export const addWorkspaceMemberRelations: TenantMigrationTableAction[] = [ - { - name: 'workspaceMember', - action: 'alter', - columns: [ - { - columnName: 'settingId', - referencedTableName: 'workspaceMemberSetting', - referencedTableColumnName: 'id', - action: TenantMigrationColumnActionType.RELATION, - }, - ], - }, -]; diff --git a/server/src/metadata/tenant-migration/standard-migrations.ts b/server/src/metadata/tenant-migration/standard-migrations.ts index 92412820b..e866c24a8 100644 --- a/server/src/metadata/tenant-migration/standard-migrations.ts +++ b/server/src/metadata/tenant-migration/standard-migrations.ts @@ -8,7 +8,6 @@ import { addOpportunityTable } from 'src/metadata/tenant-migration/migrations/16 import { addPersonTable } from 'src/metadata/tenant-migration/migrations/1697618022-addPersonTable'; import { addPipelineStepTable } from 'src/metadata/tenant-migration/migrations/1697618023-addPipelineStepTable'; import { addWebhookTable } from 'src/metadata/tenant-migration/migrations/1697618024-addWebhookTable'; -import { addWorkspaceMemberSettingTable } from 'src/metadata/tenant-migration/migrations/1697618025-addWorkspaceMemberSettingTable'; import { addWorkspaceMemberTable } from 'src/metadata/tenant-migration/migrations/1697618026-addWorspaceMemberTable'; import { addCompanyRelations } from 'src/metadata/tenant-migration/migrations/1697618027-addCompanyRelations'; import { addAttachmentRelations } from 'src/metadata/tenant-migration/migrations/1697618028-addAttachmentRelations'; @@ -18,8 +17,6 @@ import { addActivityTargetRelations } from 'src/metadata/tenant-migration/migrat import { addActivityRelations } from 'src/metadata/tenant-migration/migrations/1697618033-addActivityRelations'; import { addCommentRelations } from 'src/metadata/tenant-migration/migrations/1697618034-addCommentRelations'; import { addOpportunityRelations } from 'src/metadata/tenant-migration/migrations/1697618031-addOpportunityRelations'; -import { addWorkspaceMemberSettingRelations } from 'src/metadata/tenant-migration/migrations/1697618035-addWorkspaceMemberSettingRelations'; -import { addWorkspaceMemberRelations } from 'src/metadata/tenant-migration/migrations/1697618036-addWorkspaceMemberRelations'; import { addCompanyTable } from './migrations/1697618009-addCompanyTable'; import { addViewTable } from './migrations/1697618011-addViewTable'; @@ -45,7 +42,6 @@ export const standardMigrations = { '1697618022-addPersonTable': addPersonTable, '1697618023-addPipelineStepTable': addPipelineStepTable, '1697618024-addWebhookTable': addWebhookTable, - '1697618025-addWorkspaceMemberSettingTable': addWorkspaceMemberSettingTable, '1697618026-addWorkspaceMemberTable': addWorkspaceMemberTable, '1697618027-addCompanyRelations': addCompanyRelations, '1697618028-addAttachmentRelations': addAttachmentRelations, @@ -55,7 +51,4 @@ export const standardMigrations = { '1697618032-addActivityTargetRelations': addActivityTargetRelations, '1697618033-addActivityRelations': addActivityRelations, '1697618034-addCommentRelations': addCommentRelations, - '1697618035-addWorkspaceMemberSettingRelations': - addWorkspaceMemberSettingRelations, - '1697618036-addWorkspaceMemberRelations': addWorkspaceMemberRelations, };