Migrate WorkspaceMemberSetting into WorkspaceMember (#2501)

This commit is contained in:
Charles Bochet
2023-11-14 12:34:48 +01:00
committed by GitHub
parent 65af954671
commit 6eb4e00ce1
10 changed files with 44 additions and 218 deletions

View File

@ -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();
};

View File

@ -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();
};

View File

@ -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);

View File

@ -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',

View File

@ -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,