diff --git a/server/src/database/typeorm-seeds/tenant/views.ts b/server/src/database/typeorm-seeds/tenant/views.ts index 83c08bdc7..c9c8a91f0 100644 --- a/server/src/database/typeorm-seeds/tenant/views.ts +++ b/server/src/database/typeorm-seeds/tenant/views.ts @@ -55,7 +55,7 @@ export const seedViews = async ( { id: SeedViewIds.Person, name: 'All People', - objectMetadataId: SeedObjectMetadataIds.Company, + objectMetadataId: SeedObjectMetadataIds.Person, type: 'table', }, { diff --git a/server/src/metadata/tenant-migration/migrations/1697618009-addCompanyTable.ts b/server/src/metadata/tenant-migration/migrations/1697618009-addCompanyTable.ts index ab1ba2172..4cd93ba61 100644 --- a/server/src/metadata/tenant-migration/migrations/1697618009-addCompanyTable.ts +++ b/server/src/metadata/tenant-migration/migrations/1697618009-addCompanyTable.ts @@ -62,12 +62,6 @@ export const addCompanyTable: TenantMigrationTableAction[] = [ columnType: 'uuid', action: TenantMigrationColumnActionType.CREATE, }, - { - columnName: 'accountOwnerId', - referencedTableName: 'workspaceMember', - referencedTableColumnName: 'id', - action: TenantMigrationColumnActionType.RELATION, - }, ], }, ]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618015-addActivityTargetTable.ts b/server/src/metadata/tenant-migration/migrations/1697618015-addActivityTargetTable.ts index cfee04ddc..800e1598e 100644 --- a/server/src/metadata/tenant-migration/migrations/1697618015-addActivityTargetTable.ts +++ b/server/src/metadata/tenant-migration/migrations/1697618015-addActivityTargetTable.ts @@ -1,4 +1,7 @@ -import { TenantMigrationTableAction } from 'src/metadata/tenant-migration/tenant-migration.entity'; +import { + TenantMigrationColumnActionType, + TenantMigrationTableAction, +} from 'src/metadata/tenant-migration/tenant-migration.entity'; export const addActivityTargetTable: TenantMigrationTableAction[] = [ { @@ -8,6 +11,12 @@ export const addActivityTargetTable: TenantMigrationTableAction[] = [ { name: 'activityTarget', action: 'alter', - columns: [], + columns: [ + { + columnName: 'companyId', + columnType: 'uuid', + action: TenantMigrationColumnActionType.CREATE, + }, + ], }, ]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618018-addAttachmentTable.ts b/server/src/metadata/tenant-migration/migrations/1697618018-addAttachmentTable.ts index 54044eb0b..1854b4828 100644 --- a/server/src/metadata/tenant-migration/migrations/1697618018-addAttachmentTable.ts +++ b/server/src/metadata/tenant-migration/migrations/1697618018-addAttachmentTable.ts @@ -1,4 +1,7 @@ -import { TenantMigrationTableAction } from 'src/metadata/tenant-migration/tenant-migration.entity'; +import { + TenantMigrationColumnActionType, + TenantMigrationTableAction, +} from 'src/metadata/tenant-migration/tenant-migration.entity'; export const addAttachmentTable: TenantMigrationTableAction[] = [ { @@ -8,6 +11,12 @@ export const addAttachmentTable: TenantMigrationTableAction[] = [ { name: 'attachment', action: 'alter', - columns: [], + columns: [ + { + columnName: 'companyId', + columnType: 'uuid', + action: TenantMigrationColumnActionType.CREATE, + }, + ], }, ]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618020-addFavoriteTable.ts b/server/src/metadata/tenant-migration/migrations/1697618020-addFavoriteTable.ts index 68c0a9c49..758b1f4e1 100644 --- a/server/src/metadata/tenant-migration/migrations/1697618020-addFavoriteTable.ts +++ b/server/src/metadata/tenant-migration/migrations/1697618020-addFavoriteTable.ts @@ -1,4 +1,7 @@ -import { TenantMigrationTableAction } from 'src/metadata/tenant-migration/tenant-migration.entity'; +import { + TenantMigrationColumnActionType, + TenantMigrationTableAction, +} from 'src/metadata/tenant-migration/tenant-migration.entity'; export const addFavoriteTable: TenantMigrationTableAction[] = [ { @@ -8,6 +11,12 @@ export const addFavoriteTable: TenantMigrationTableAction[] = [ { name: 'favorite', action: 'alter', - columns: [], + columns: [ + { + columnName: 'companyId', + columnType: 'uuid', + action: TenantMigrationColumnActionType.CREATE, + }, + ], }, ]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618021-addOpportunityTable.ts b/server/src/metadata/tenant-migration/migrations/1697618021-addOpportunityTable.ts index 19a3459ee..2d40eef59 100644 --- a/server/src/metadata/tenant-migration/migrations/1697618021-addOpportunityTable.ts +++ b/server/src/metadata/tenant-migration/migrations/1697618021-addOpportunityTable.ts @@ -1,4 +1,7 @@ -import { TenantMigrationTableAction } from 'src/metadata/tenant-migration/tenant-migration.entity'; +import { + TenantMigrationColumnActionType, + TenantMigrationTableAction, +} from 'src/metadata/tenant-migration/tenant-migration.entity'; export const addOpportunityTable: TenantMigrationTableAction[] = [ { @@ -8,6 +11,12 @@ export const addOpportunityTable: TenantMigrationTableAction[] = [ { name: 'opportunity', action: 'alter', - columns: [], + columns: [ + { + columnName: 'companyId', + columnType: 'uuid', + action: TenantMigrationColumnActionType.CREATE, + }, + ], }, ]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618022-addPersonTable.ts b/server/src/metadata/tenant-migration/migrations/1697618022-addPersonTable.ts index 05c46c402..d257971cc 100644 --- a/server/src/metadata/tenant-migration/migrations/1697618022-addPersonTable.ts +++ b/server/src/metadata/tenant-migration/migrations/1697618022-addPersonTable.ts @@ -1,4 +1,7 @@ -import { TenantMigrationTableAction } from 'src/metadata/tenant-migration/tenant-migration.entity'; +import { + TenantMigrationColumnActionType, + TenantMigrationTableAction, +} from 'src/metadata/tenant-migration/tenant-migration.entity'; export const addPersonTable: TenantMigrationTableAction[] = [ { @@ -8,6 +11,12 @@ export const addPersonTable: TenantMigrationTableAction[] = [ { name: 'person', action: 'alter', - columns: [], + columns: [ + { + columnName: 'companyId', + columnType: 'uuid', + action: TenantMigrationColumnActionType.CREATE, + }, + ], }, ]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618027-addCompanyRelations.ts b/server/src/metadata/tenant-migration/migrations/1697618027-addCompanyRelations.ts new file mode 100644 index 000000000..5b64a8048 --- /dev/null +++ b/server/src/metadata/tenant-migration/migrations/1697618027-addCompanyRelations.ts @@ -0,0 +1,19 @@ +import { + TenantMigrationColumnActionType, + TenantMigrationTableAction, +} from 'src/metadata/tenant-migration/tenant-migration.entity'; + +export const addCompanyRelations: TenantMigrationTableAction[] = [ + { + name: 'company', + action: 'alter', + columns: [ + { + columnName: 'accountOwnerId', + referencedTableName: 'workspaceMember', + referencedTableColumnName: 'id', + action: TenantMigrationColumnActionType.RELATION, + }, + ], + }, +]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618028-addAttachmentRelations.ts b/server/src/metadata/tenant-migration/migrations/1697618028-addAttachmentRelations.ts new file mode 100644 index 000000000..dbcf68a21 --- /dev/null +++ b/server/src/metadata/tenant-migration/migrations/1697618028-addAttachmentRelations.ts @@ -0,0 +1,19 @@ +import { + TenantMigrationColumnActionType, + TenantMigrationTableAction, +} from 'src/metadata/tenant-migration/tenant-migration.entity'; + +export const addAttachmentRelations: TenantMigrationTableAction[] = [ + { + name: 'attachment', + action: 'alter', + columns: [ + { + columnName: 'companyId', + referencedTableName: 'company', + referencedTableColumnName: 'id', + action: TenantMigrationColumnActionType.RELATION, + }, + ], + }, +]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618029-addPersonRelations.ts b/server/src/metadata/tenant-migration/migrations/1697618029-addPersonRelations.ts new file mode 100644 index 000000000..1f8fc6116 --- /dev/null +++ b/server/src/metadata/tenant-migration/migrations/1697618029-addPersonRelations.ts @@ -0,0 +1,19 @@ +import { + TenantMigrationColumnActionType, + TenantMigrationTableAction, +} from 'src/metadata/tenant-migration/tenant-migration.entity'; + +export const addPersonRelations: TenantMigrationTableAction[] = [ + { + name: 'person', + action: 'alter', + columns: [ + { + columnName: 'companyId', + referencedTableName: 'company', + referencedTableColumnName: 'id', + action: TenantMigrationColumnActionType.RELATION, + }, + ], + }, +]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618030-addFavoriteRelations.ts b/server/src/metadata/tenant-migration/migrations/1697618030-addFavoriteRelations.ts new file mode 100644 index 000000000..ec5bd848c --- /dev/null +++ b/server/src/metadata/tenant-migration/migrations/1697618030-addFavoriteRelations.ts @@ -0,0 +1,19 @@ +import { + TenantMigrationColumnActionType, + TenantMigrationTableAction, +} from 'src/metadata/tenant-migration/tenant-migration.entity'; + +export const addFavoriteRelations: TenantMigrationTableAction[] = [ + { + name: 'favorite', + action: 'alter', + columns: [ + { + columnName: 'companyId', + referencedTableName: 'company', + referencedTableColumnName: 'id', + action: TenantMigrationColumnActionType.RELATION, + }, + ], + }, +]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618031-addOpportunitiesRelations.ts b/server/src/metadata/tenant-migration/migrations/1697618031-addOpportunitiesRelations.ts new file mode 100644 index 000000000..5bf499d8c --- /dev/null +++ b/server/src/metadata/tenant-migration/migrations/1697618031-addOpportunitiesRelations.ts @@ -0,0 +1,19 @@ +import { + TenantMigrationColumnActionType, + TenantMigrationTableAction, +} from 'src/metadata/tenant-migration/tenant-migration.entity'; + +export const addOpportunitiesRelations: TenantMigrationTableAction[] = [ + { + name: 'opportunity', + action: 'alter', + columns: [ + { + columnName: 'companyId', + referencedTableName: 'company', + referencedTableColumnName: 'id', + action: TenantMigrationColumnActionType.RELATION, + }, + ], + }, +]; diff --git a/server/src/metadata/tenant-migration/migrations/1697618032-addActivityTargetRelations.ts b/server/src/metadata/tenant-migration/migrations/1697618032-addActivityTargetRelations.ts new file mode 100644 index 000000000..e31f72e5a --- /dev/null +++ b/server/src/metadata/tenant-migration/migrations/1697618032-addActivityTargetRelations.ts @@ -0,0 +1,19 @@ +import { + TenantMigrationColumnActionType, + TenantMigrationTableAction, +} from 'src/metadata/tenant-migration/tenant-migration.entity'; + +export const addActivityTargetRelations: TenantMigrationTableAction[] = [ + { + name: 'activityTarget', + action: 'alter', + columns: [ + { + columnName: 'companyId', + referencedTableName: 'company', + 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 827bec7da..1a29dcb90 100644 --- a/server/src/metadata/tenant-migration/standard-migrations.ts +++ b/server/src/metadata/tenant-migration/standard-migrations.ts @@ -10,6 +10,12 @@ import { addPipelineStepTable } from 'src/metadata/tenant-migration/migrations/1 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'; +import { addPersonRelations } from 'src/metadata/tenant-migration/migrations/1697618029-addPersonRelations'; +import { addFavoriteRelations } from 'src/metadata/tenant-migration/migrations/1697618030-addFavoriteRelations'; +import { addOpportunitiesRelations } from 'src/metadata/tenant-migration/migrations/1697618031-addOpportunitiesRelations'; +import { addActivityTargetRelations } from 'src/metadata/tenant-migration/migrations/1697618032-addActivityTargetRelations'; import { addCompanyTable } from './migrations/1697618009-addCompanyTable'; import { addViewTable } from './migrations/1697618011-addViewTable'; @@ -19,6 +25,7 @@ import { addViewSortTable } from './migrations/1697618014-addViewSortTable'; // TODO: read the folder and return all migrations export const standardMigrations = { + '1697618009-addCompanyTable': addCompanyTable, '1697618011-addViewTable': addViewTable, '1697618012-addViewFieldTable': addViewFieldTable, '1697618013-addViewFilterTable': addViewFilterTable, @@ -36,5 +43,10 @@ export const standardMigrations = { '1697618024-addWebhookTable': addWebhookTable, '1697618025-addWorkspaceMemberSettingTable': addWorkspaceMemberSettingTable, '1697618026-addWorkspaceMemberTable': addWorkspaceMemberTable, - '1697618009-addCompanyTable': addCompanyTable, + '1697618027-addCompanyRelations': addCompanyRelations, + '1697618028-addAttachmentRelations': addAttachmentRelations, + '1697618029-addPersonRelations': addPersonRelations, + '1697618030-addFavoriteRelations': addFavoriteRelations, + '1697618031-addOpportunitiesRelations': addOpportunitiesRelations, + '1697618032-addActivityTargetRelations': addActivityTargetRelations, }; diff --git a/server/src/tenant/query-builder/factories/composite-field-alias.factory.ts b/server/src/tenant/query-builder/factories/composite-field-alias.factory.ts index 4da106caa..6f2b83c4d 100644 --- a/server/src/tenant/query-builder/factories/composite-field-alias.factory.ts +++ b/server/src/tenant/query-builder/factories/composite-field-alias.factory.ts @@ -98,7 +98,7 @@ export class CompositeFieldAliasFactory { // Otherwise it means it's a relation destination is of kind ONE return ` - ${fieldKey}: ${referencedObjectMetadata.targetTableName} { + ${fieldKey} { ${this.fieldsStringFactory.createFieldsStringRecursive( info, fieldValue,