feat: rename tenant into workspace (#2553)
* feat: rename tenant into workspace * fix: missing some files and reset not working * fix: wrong import * Use link in company seeds * Use link in company seeds --------- Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
@ -10,7 +10,7 @@ import {
|
||||
UpdateDateColumn,
|
||||
} from 'typeorm';
|
||||
|
||||
import { FieldMetadataInterface } from 'src/tenant/schema-builder/interfaces/field-metadata.interface';
|
||||
import { FieldMetadataInterface } from 'src/workspace/workspace-schema-builder/interfaces/field-metadata.interface';
|
||||
import { FieldMetadataTargetColumnMap } from 'src/metadata/field-metadata/interfaces/field-metadata-target-column-map.interface';
|
||||
import { FieldMetadataDefaultValue } from 'src/metadata/field-metadata/interfaces/field-metadata-default-value.interface';
|
||||
|
||||
|
||||
@ -7,8 +7,8 @@ import {
|
||||
import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm';
|
||||
import { SortDirection } from '@ptc-org/nestjs-query-core';
|
||||
|
||||
import { TenantMigrationRunnerModule } from 'src/tenant-migration-runner/tenant-migration-runner.module';
|
||||
import { TenantMigrationModule } from 'src/metadata/tenant-migration/tenant-migration.module';
|
||||
import { WorkspaceMigrationRunnerModule } from 'src/workspace/workspace-migration-runner/workspace-migration-runner.module';
|
||||
import { WorkspaceMigrationModule } from 'src/metadata/workspace-migration/workspace-migration.module';
|
||||
import { ObjectMetadataModule } from 'src/metadata/object-metadata/object-metadata.module';
|
||||
import { JwtAuthGuard } from 'src/guards/jwt.auth.guard';
|
||||
|
||||
@ -24,8 +24,8 @@ import { UpdateFieldInput } from './dtos/update-field.input';
|
||||
NestjsQueryGraphQLModule.forFeature({
|
||||
imports: [
|
||||
NestjsQueryTypeOrmModule.forFeature([FieldMetadataEntity], 'metadata'),
|
||||
TenantMigrationModule,
|
||||
TenantMigrationRunnerModule,
|
||||
WorkspaceMigrationModule,
|
||||
WorkspaceMigrationRunnerModule,
|
||||
ObjectMetadataModule,
|
||||
],
|
||||
services: [FieldMetadataService],
|
||||
|
||||
@ -10,12 +10,12 @@ import { Repository } from 'typeorm';
|
||||
import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm';
|
||||
import { DeleteOneOptions } from '@ptc-org/nestjs-query-core';
|
||||
|
||||
import { TenantMigrationRunnerService } from 'src/tenant-migration-runner/tenant-migration-runner.service';
|
||||
import { TenantMigrationService } from 'src/metadata/tenant-migration/tenant-migration.service';
|
||||
import { WorkspaceMigrationRunnerService } from 'src/workspace/workspace-migration-runner/workspace-migration-runner.service';
|
||||
import { WorkspaceMigrationService } from 'src/metadata/workspace-migration/workspace-migration.service';
|
||||
import { ObjectMetadataService } from 'src/metadata/object-metadata/object-metadata.service';
|
||||
import { FieldMetadataDTO } from 'src/metadata/field-metadata/dtos/field-metadata.dto';
|
||||
import { CreateFieldInput } from 'src/metadata/field-metadata/dtos/create-field.input';
|
||||
import { TenantMigrationTableAction } from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
import { WorkspaceMigrationTableAction } from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
import { generateTargetColumnMap } from 'src/metadata/field-metadata/utils/generate-target-column-map.util';
|
||||
import { convertFieldMetadataToColumnActions } from 'src/metadata/field-metadata/utils/convert-field-metadata-to-column-action.util';
|
||||
|
||||
@ -28,8 +28,8 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
|
||||
private readonly fieldMetadataRepository: Repository<FieldMetadataEntity>,
|
||||
|
||||
private readonly objectMetadataService: ObjectMetadataService,
|
||||
private readonly tenantMigrationService: TenantMigrationService,
|
||||
private readonly migrationRunnerService: TenantMigrationRunnerService,
|
||||
private readonly workspaceMigrationService: WorkspaceMigrationService,
|
||||
private readonly workspaceMigrationRunnerService: WorkspaceMigrationRunnerService,
|
||||
) {
|
||||
super(fieldMetadataRepository);
|
||||
}
|
||||
@ -90,18 +90,18 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
|
||||
isCustom: true,
|
||||
});
|
||||
|
||||
await this.tenantMigrationService.createCustomMigration(
|
||||
await this.workspaceMigrationService.createCustomMigration(
|
||||
record.workspaceId,
|
||||
[
|
||||
{
|
||||
name: objectMetadata.targetTableName,
|
||||
action: 'alter',
|
||||
columns: convertFieldMetadataToColumnActions(createdFieldMetadata),
|
||||
} satisfies TenantMigrationTableAction,
|
||||
} satisfies WorkspaceMigrationTableAction,
|
||||
],
|
||||
);
|
||||
|
||||
await this.migrationRunnerService.executeMigrationFromPendingMigrations(
|
||||
await this.workspaceMigrationRunnerService.executeMigrationFromPendingMigrations(
|
||||
record.workspaceId,
|
||||
);
|
||||
|
||||
|
||||
@ -5,14 +5,14 @@ import {
|
||||
FieldMetadataType,
|
||||
} from 'src/metadata/field-metadata/field-metadata.entity';
|
||||
import {
|
||||
TenantMigrationColumnAction,
|
||||
TenantMigrationColumnActionType,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnAction,
|
||||
WorkspaceMigrationColumnActionType,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
import { serializeDefaultValue } from 'src/metadata/field-metadata/utils/serialize-default-value';
|
||||
|
||||
export function convertFieldMetadataToColumnActions(
|
||||
fieldMetadata: FieldMetadataEntity,
|
||||
): TenantMigrationColumnAction[] {
|
||||
): WorkspaceMigrationColumnAction[] {
|
||||
switch (fieldMetadata.type) {
|
||||
case FieldMetadataType.TEXT: {
|
||||
const defaultValue =
|
||||
@ -20,7 +20,7 @@ export function convertFieldMetadataToColumnActions(
|
||||
|
||||
return [
|
||||
{
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
columnName: fieldMetadata.targetColumnMap.value,
|
||||
columnType: 'text',
|
||||
defaultValue: serializeDefaultValue(defaultValue?.value),
|
||||
@ -36,7 +36,7 @@ export function convertFieldMetadataToColumnActions(
|
||||
|
||||
return [
|
||||
{
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
columnName: fieldMetadata.targetColumnMap.value,
|
||||
columnType: 'varchar',
|
||||
defaultValue: serializeDefaultValue(defaultValue?.value),
|
||||
@ -52,7 +52,7 @@ export function convertFieldMetadataToColumnActions(
|
||||
|
||||
return [
|
||||
{
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
columnName: fieldMetadata.targetColumnMap.value,
|
||||
columnType: 'float',
|
||||
defaultValue: serializeDefaultValue(defaultValue?.value),
|
||||
@ -65,7 +65,7 @@ export function convertFieldMetadataToColumnActions(
|
||||
|
||||
return [
|
||||
{
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
columnName: fieldMetadata.targetColumnMap.value,
|
||||
columnType: 'boolean',
|
||||
defaultValue: serializeDefaultValue(defaultValue?.value),
|
||||
@ -78,7 +78,7 @@ export function convertFieldMetadataToColumnActions(
|
||||
|
||||
return [
|
||||
{
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
columnName: fieldMetadata.targetColumnMap.value,
|
||||
columnType: 'timestamp',
|
||||
defaultValue: serializeDefaultValue(defaultValue?.value),
|
||||
@ -91,13 +91,13 @@ export function convertFieldMetadataToColumnActions(
|
||||
|
||||
return [
|
||||
{
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
columnName: fieldMetadata.targetColumnMap.label,
|
||||
columnType: 'varchar',
|
||||
defaultValue: serializeDefaultValue(defaultValue?.label),
|
||||
},
|
||||
{
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
columnName: fieldMetadata.targetColumnMap.url,
|
||||
columnType: 'varchar',
|
||||
defaultValue: serializeDefaultValue(defaultValue?.url),
|
||||
@ -110,13 +110,13 @@ export function convertFieldMetadataToColumnActions(
|
||||
|
||||
return [
|
||||
{
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
columnName: fieldMetadata.targetColumnMap.amountMicros,
|
||||
columnType: 'integer',
|
||||
defaultValue: serializeDefaultValue(defaultValue?.amountMicros),
|
||||
},
|
||||
{
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
columnName: fieldMetadata.targetColumnMap.currencyCode,
|
||||
columnType: 'varchar',
|
||||
defaultValue: serializeDefaultValue(defaultValue?.currencyCode),
|
||||
|
||||
@ -4,8 +4,8 @@ import { GraphQLModule } from '@nestjs/graphql';
|
||||
import { YogaDriverConfig, YogaDriver } from '@graphql-yoga/nestjs';
|
||||
import GraphQLJSON from 'graphql-type-json';
|
||||
|
||||
import { TenantMigrationRunnerModule } from 'src/tenant-migration-runner/tenant-migration-runner.module';
|
||||
import { TenantMigrationModule } from 'src/metadata/tenant-migration/tenant-migration.module';
|
||||
import { WorkspaceMigrationRunnerModule } from 'src/workspace/workspace-migration-runner/workspace-migration-runner.module';
|
||||
import { WorkspaceMigrationModule } from 'src/metadata/workspace-migration/workspace-migration.module';
|
||||
|
||||
import { DataSourceModule } from './data-source/data-source.module';
|
||||
import { FieldMetadataModule } from './field-metadata/field-metadata.module';
|
||||
@ -25,8 +25,8 @@ import { RelationMetadataModule } from './relation-metadata/relation-metadata.mo
|
||||
DataSourceModule,
|
||||
FieldMetadataModule,
|
||||
ObjectMetadataModule,
|
||||
TenantMigrationRunnerModule,
|
||||
TenantMigrationModule,
|
||||
WorkspaceMigrationRunnerModule,
|
||||
WorkspaceMigrationModule,
|
||||
RelationMetadataModule,
|
||||
],
|
||||
})
|
||||
|
||||
@ -9,7 +9,7 @@ import {
|
||||
ManyToOne,
|
||||
} from 'typeorm';
|
||||
|
||||
import { ObjectMetadataInterface } from 'src/tenant/schema-builder/interfaces/object-metadata.interface';
|
||||
import { ObjectMetadataInterface } from 'src/workspace/workspace-schema-builder/interfaces/object-metadata.interface';
|
||||
|
||||
import { FieldMetadataEntity } from 'src/metadata/field-metadata/field-metadata.entity';
|
||||
import { RelationMetadataEntity } from 'src/metadata/relation-metadata/relation-metadata.entity';
|
||||
|
||||
@ -8,8 +8,8 @@ import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm';
|
||||
import { SortDirection } from '@ptc-org/nestjs-query-core';
|
||||
|
||||
import { DataSourceModule } from 'src/metadata/data-source/data-source.module';
|
||||
import { TenantMigrationRunnerModule } from 'src/tenant-migration-runner/tenant-migration-runner.module';
|
||||
import { TenantMigrationModule } from 'src/metadata/tenant-migration/tenant-migration.module';
|
||||
import { WorkspaceMigrationRunnerModule } from 'src/workspace/workspace-migration-runner/workspace-migration-runner.module';
|
||||
import { WorkspaceMigrationModule } from 'src/metadata/workspace-migration/workspace-migration.module';
|
||||
import { JwtAuthGuard } from 'src/guards/jwt.auth.guard';
|
||||
|
||||
import { ObjectMetadataService } from './object-metadata.service';
|
||||
@ -25,8 +25,8 @@ import { ObjectMetadataDTO } from './dtos/object-metadata.dto';
|
||||
imports: [
|
||||
NestjsQueryTypeOrmModule.forFeature([ObjectMetadataEntity], 'metadata'),
|
||||
DataSourceModule,
|
||||
TenantMigrationModule,
|
||||
TenantMigrationRunnerModule,
|
||||
WorkspaceMigrationModule,
|
||||
WorkspaceMigrationRunnerModule,
|
||||
],
|
||||
services: [ObjectMetadataService],
|
||||
resolvers: [
|
||||
|
||||
@ -8,9 +8,9 @@ import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Equal, In, Repository } from 'typeorm';
|
||||
import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm';
|
||||
|
||||
import { TenantMigrationService } from 'src/metadata/tenant-migration/tenant-migration.service';
|
||||
import { TenantMigrationRunnerService } from 'src/tenant-migration-runner/tenant-migration-runner.service';
|
||||
import { TenantMigrationTableAction } from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
import { WorkspaceMigrationService } from 'src/metadata/workspace-migration/workspace-migration.service';
|
||||
import { WorkspaceMigrationRunnerService } from 'src/workspace/workspace-migration-runner/workspace-migration-runner.service';
|
||||
import { WorkspaceMigrationTableAction } from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
|
||||
|
||||
import { ObjectMetadataEntity } from './object-metadata.entity';
|
||||
@ -23,8 +23,8 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
@InjectRepository(ObjectMetadataEntity, 'metadata')
|
||||
private readonly objectMetadataRepository: Repository<ObjectMetadataEntity>,
|
||||
|
||||
private readonly tenantMigrationService: TenantMigrationService,
|
||||
private readonly migrationRunnerService: TenantMigrationRunnerService,
|
||||
private readonly workspaceMigrationService: WorkspaceMigrationService,
|
||||
private readonly workspaceMigrationRunnerService: WorkspaceMigrationRunnerService,
|
||||
) {
|
||||
super(objectMetadataRepository);
|
||||
}
|
||||
@ -61,7 +61,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
fields:
|
||||
// Creating default fields.
|
||||
// No need to create a custom migration for this though as the default columns are already
|
||||
// created with default values which is not supported yet by tenant migrations.
|
||||
// created with default values which is not supported yet by workspace migrations.
|
||||
[
|
||||
{
|
||||
type: FieldMetadataType.UUID,
|
||||
@ -109,17 +109,17 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
],
|
||||
});
|
||||
|
||||
await this.tenantMigrationService.createCustomMigration(
|
||||
await this.workspaceMigrationService.createCustomMigration(
|
||||
createdObjectMetadata.workspaceId,
|
||||
[
|
||||
{
|
||||
name: createdObjectMetadata.targetTableName,
|
||||
action: 'create',
|
||||
} satisfies TenantMigrationTableAction,
|
||||
} satisfies WorkspaceMigrationTableAction,
|
||||
],
|
||||
);
|
||||
|
||||
await this.migrationRunnerService.executeMigrationFromPendingMigrations(
|
||||
await this.workspaceMigrationRunnerService.executeMigrationFromPendingMigrations(
|
||||
createdObjectMetadata.workspaceId,
|
||||
);
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ import {
|
||||
UpdateDateColumn,
|
||||
} from 'typeorm';
|
||||
|
||||
import { RelationMetadataInterface } from 'src/tenant/schema-builder/interfaces/relation-metadata.interface';
|
||||
import { RelationMetadataInterface } from 'src/workspace/workspace-schema-builder/interfaces/relation-metadata.interface';
|
||||
|
||||
import { FieldMetadataEntity } from 'src/metadata/field-metadata/field-metadata.entity';
|
||||
import { ObjectMetadataEntity } from 'src/metadata/object-metadata/object-metadata.entity';
|
||||
|
||||
@ -9,8 +9,8 @@ import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm';
|
||||
import { JwtAuthGuard } from 'src/guards/jwt.auth.guard';
|
||||
import { FieldMetadataModule } from 'src/metadata/field-metadata/field-metadata.module';
|
||||
import { ObjectMetadataModule } from 'src/metadata/object-metadata/object-metadata.module';
|
||||
import { TenantMigrationModule } from 'src/metadata/tenant-migration/tenant-migration.module';
|
||||
import { TenantMigrationRunnerModule } from 'src/tenant-migration-runner/tenant-migration-runner.module';
|
||||
import { WorkspaceMigrationModule } from 'src/metadata/workspace-migration/workspace-migration.module';
|
||||
import { WorkspaceMigrationRunnerModule } from 'src/workspace/workspace-migration-runner/workspace-migration-runner.module';
|
||||
|
||||
import { RelationMetadataService } from './relation-metadata.service';
|
||||
import { RelationMetadataEntity } from './relation-metadata.entity';
|
||||
@ -28,8 +28,8 @@ import { RelationMetadataDTO } from './dtos/relation-metadata.dto';
|
||||
),
|
||||
ObjectMetadataModule,
|
||||
FieldMetadataModule,
|
||||
TenantMigrationRunnerModule,
|
||||
TenantMigrationModule,
|
||||
WorkspaceMigrationRunnerModule,
|
||||
WorkspaceMigrationModule,
|
||||
],
|
||||
services: [RelationMetadataService],
|
||||
resolvers: [
|
||||
|
||||
@ -12,10 +12,10 @@ import camelCase from 'lodash.camelcase';
|
||||
import { ObjectMetadataService } from 'src/metadata/object-metadata/object-metadata.service';
|
||||
import { FieldMetadataService } from 'src/metadata/field-metadata/field-metadata.service';
|
||||
import { CreateRelationInput } from 'src/metadata/relation-metadata/dtos/create-relation.input';
|
||||
import { TenantMigrationRunnerService } from 'src/tenant-migration-runner/tenant-migration-runner.service';
|
||||
import { TenantMigrationService } from 'src/metadata/tenant-migration/tenant-migration.service';
|
||||
import { WorkspaceMigrationRunnerService } from 'src/workspace/workspace-migration-runner/workspace-migration-runner.service';
|
||||
import { WorkspaceMigrationService } from 'src/metadata/workspace-migration/workspace-migration.service';
|
||||
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
|
||||
import { TenantMigrationColumnActionType } from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
import { WorkspaceMigrationColumnActionType } from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
import {
|
||||
RelationMetadataEntity,
|
||||
@ -29,8 +29,8 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
|
||||
private readonly relationMetadataRepository: Repository<RelationMetadataEntity>,
|
||||
private readonly objectMetadataService: ObjectMetadataService,
|
||||
private readonly fieldMetadataService: FieldMetadataService,
|
||||
private readonly tenantMigrationService: TenantMigrationService,
|
||||
private readonly migrationRunnerService: TenantMigrationRunnerService,
|
||||
private readonly workspaceMigrationService: WorkspaceMigrationService,
|
||||
private readonly workspaceMigrationRunnerService: WorkspaceMigrationRunnerService,
|
||||
) {
|
||||
super(relationMetadataRepository);
|
||||
}
|
||||
@ -136,7 +136,7 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
|
||||
toFieldMetadataId: createdFieldMap[record.toObjectMetadataId].id,
|
||||
});
|
||||
|
||||
await this.tenantMigrationService.createCustomMigration(
|
||||
await this.workspaceMigrationService.createCustomMigration(
|
||||
record.workspaceId,
|
||||
[
|
||||
// Create the column
|
||||
@ -145,7 +145,7 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
columnName: foreignKeyColumnName,
|
||||
columnType: 'uuid',
|
||||
},
|
||||
@ -157,7 +157,7 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
columnName: foreignKeyColumnName,
|
||||
referencedTableName:
|
||||
objectMetadataMap[record.fromObjectMetadataId].targetTableName,
|
||||
@ -169,7 +169,7 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
|
||||
],
|
||||
);
|
||||
|
||||
await this.migrationRunnerService.executeMigrationFromPendingMigrations(
|
||||
await this.workspaceMigrationRunnerService.executeMigrationFromPendingMigrations(
|
||||
record.workspaceId,
|
||||
);
|
||||
|
||||
|
||||
@ -1,62 +0,0 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
|
||||
export const addCompanyTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
name: 'company',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'company',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'name',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'domainName',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'address',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'employees',
|
||||
columnType: 'integer',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'linkedinUrl',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'xUrl',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'annualRecurringRevenue',
|
||||
columnType: 'float',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'idealCustomerProfile',
|
||||
columnType: 'boolean',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'accountOwnerId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,32 +0,0 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
|
||||
export const addViewTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
name: 'view',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'view',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'name',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'objectMetadataId',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'type',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,32 +0,0 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
|
||||
export const addActivityTargetTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
name: 'activityTarget',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'activityTarget',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'companyId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'activityId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'personId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,32 +0,0 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
|
||||
export const addApiKeyTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
name: 'apiKey',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'apiKey',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'name',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'revokedAt',
|
||||
columnType: 'timestamp',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'expiresAt',
|
||||
columnType: 'timestamp',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,32 +0,0 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
|
||||
export const addCommentTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
name: 'comment',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'comment',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'body',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'authorId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'activityId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,32 +0,0 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
|
||||
export const addPipelineStepTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
name: 'pipelineStep',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'pipelineStep',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'name',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'color',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'position',
|
||||
columnType: 'float',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,27 +0,0 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
|
||||
export const addWebhookTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
name: 'webhook',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'webhook',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'targetUrl',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'operation',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,19 +0,0 @@
|
||||
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,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,19 +0,0 @@
|
||||
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,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,54 +0,0 @@
|
||||
import { addActivityTargetTable } from 'src/metadata/tenant-migration/migrations/1697618015-addActivityTargetTable';
|
||||
import { addActivityTable } from 'src/metadata/tenant-migration/migrations/1697618016-addActivityTable';
|
||||
import { addApiKeyTable } from 'src/metadata/tenant-migration/migrations/1697618017-addApiKeyTable';
|
||||
import { addAttachmentTable } from 'src/metadata/tenant-migration/migrations/1697618018-addAttachmentTable';
|
||||
import { addCommentTable } from 'src/metadata/tenant-migration/migrations/1697618019-addCommentTable';
|
||||
import { addFavoriteTable } from 'src/metadata/tenant-migration/migrations/1697618020-addFavoriteTable';
|
||||
import { addOpportunityTable } from 'src/metadata/tenant-migration/migrations/1697618021-addOpportunityTable';
|
||||
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 { 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 { addActivityTargetRelations } from 'src/metadata/tenant-migration/migrations/1697618032-addActivityTargetRelations';
|
||||
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 { addCompanyTable } from './migrations/1697618009-addCompanyTable';
|
||||
import { addViewTable } from './migrations/1697618011-addViewTable';
|
||||
import { addViewFieldTable } from './migrations/1697618012-addViewFieldTable';
|
||||
import { addViewFilterTable } from './migrations/1697618013-addViewFilterTable';
|
||||
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,
|
||||
'1697618014-addViewSortTable': addViewSortTable,
|
||||
|
||||
'1697618015-addActivityTargetTable': addActivityTargetTable,
|
||||
'1697618016-addActivityTable': addActivityTable,
|
||||
'1697618017-addApiKeyTable': addApiKeyTable,
|
||||
'1697618018-addAttachmentTable': addAttachmentTable,
|
||||
'1697618019-addCommentTable': addCommentTable,
|
||||
'1697618020-addFavoriteTable': addFavoriteTable,
|
||||
'1697618021-addOpportunityTable': addOpportunityTable,
|
||||
'1697618022-addPersonTable': addPersonTable,
|
||||
'1697618023-addPipelineStepTable': addPipelineStepTable,
|
||||
'1697618024-addWebhookTable': addWebhookTable,
|
||||
'1697618026-addWorkspaceMemberTable': addWorkspaceMemberTable,
|
||||
'1697618027-addCompanyRelations': addCompanyRelations,
|
||||
'1697618028-addAttachmentRelations': addAttachmentRelations,
|
||||
'1697618029-addPersonRelations': addPersonRelations,
|
||||
'1697618030-addFavoriteRelations': addFavoriteRelations,
|
||||
'1697618031-addOpportunitiesRelations': addOpportunityRelations,
|
||||
'1697618032-addActivityTargetRelations': addActivityTargetRelations,
|
||||
'1697618033-addActivityRelations': addActivityRelations,
|
||||
'1697618034-addCommentRelations': addCommentRelations,
|
||||
};
|
||||
@ -1,12 +0,0 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
|
||||
import { TenantMigrationService } from './tenant-migration.service';
|
||||
import { TenantMigrationEntity } from './tenant-migration.entity';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([TenantMigrationEntity], 'metadata')],
|
||||
exports: [TenantMigrationService],
|
||||
providers: [TenantMigrationService],
|
||||
})
|
||||
export class TenantMigrationModule {}
|
||||
@ -0,0 +1,72 @@
|
||||
import {
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addCompanyTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'company',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'company',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'name',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'domainName',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'address',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'employees',
|
||||
columnType: 'integer',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'linkedinLinklUrl',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'linkedinLinkLabel',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'xLinkUrl',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'xLinkLabel',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'annualRecurringRevenue',
|
||||
columnType: 'float',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'idealCustomerProfile',
|
||||
columnType: 'boolean',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'accountOwnerId',
|
||||
columnType: 'uuid',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -0,0 +1,32 @@
|
||||
import {
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addViewTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'view',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'view',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'name',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'objectMetadataId',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'type',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addViewFieldTable: TenantMigrationTableAction[] = [
|
||||
export const addViewFieldTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'viewField',
|
||||
action: 'create',
|
||||
@ -15,33 +15,33 @@ export const addViewFieldTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
columnName: 'fieldMetadataId',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'position',
|
||||
columnType: 'integer',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'isVisible',
|
||||
columnType: 'boolean',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'size',
|
||||
columnType: 'integer',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'viewId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'viewId',
|
||||
referencedTableName: 'view',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addViewFilterTable: TenantMigrationTableAction[] = [
|
||||
export const addViewFilterTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'viewFilter',
|
||||
action: 'create',
|
||||
@ -15,33 +15,33 @@ export const addViewFilterTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
columnName: 'fieldMetadataId',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'operand',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'value',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'displayValue',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'viewId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'viewId',
|
||||
referencedTableName: 'view',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addViewSortTable: TenantMigrationTableAction[] = [
|
||||
export const addViewSortTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'viewSort',
|
||||
action: 'create',
|
||||
@ -15,23 +15,23 @@ export const addViewSortTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
columnName: 'fieldMetadataId',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'direction',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'viewId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'viewId',
|
||||
referencedTableName: 'view',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -0,0 +1,32 @@
|
||||
import {
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addActivityTargetTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'activityTarget',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'activityTarget',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'companyId',
|
||||
columnType: 'uuid',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'activityId',
|
||||
columnType: 'uuid',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'personId',
|
||||
columnType: 'uuid',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addActivityTable: TenantMigrationTableAction[] = [
|
||||
export const addActivityTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'activity',
|
||||
action: 'create',
|
||||
@ -15,42 +15,42 @@ export const addActivityTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
columnName: 'title',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'body',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'type',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'reminderAt',
|
||||
columnType: 'timestamp',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'dueAt',
|
||||
columnType: 'timestamp',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'completedAt',
|
||||
columnType: 'timestamp',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'authorId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'assigneeId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -0,0 +1,32 @@
|
||||
import {
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addApiKeyTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'apiKey',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'apiKey',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'name',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'revokedAt',
|
||||
columnType: 'timestamp',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'expiresAt',
|
||||
columnType: 'timestamp',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addAttachmentTable: TenantMigrationTableAction[] = [
|
||||
export const addAttachmentTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'attachment',
|
||||
action: 'create',
|
||||
@ -15,37 +15,37 @@ export const addAttachmentTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
columnName: 'name',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'fullPath',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'type',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'companyId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'authorId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'activityId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'personId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -0,0 +1,32 @@
|
||||
import {
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addCommentTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'comment',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'comment',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'body',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'authorId',
|
||||
columnType: 'uuid',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'activityId',
|
||||
columnType: 'uuid',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addFavoriteTable: TenantMigrationTableAction[] = [
|
||||
export const addFavoriteTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'favorite',
|
||||
action: 'create',
|
||||
@ -15,22 +15,22 @@ export const addFavoriteTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
columnName: 'position',
|
||||
columnType: 'float',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'companyId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'personId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'workspaceMemberId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addOpportunityTable: TenantMigrationTableAction[] = [
|
||||
export const addOpportunityTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'opportunity',
|
||||
action: 'create',
|
||||
@ -15,37 +15,37 @@ export const addOpportunityTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
columnName: 'amount',
|
||||
columnType: 'float',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'probability',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'closeDate',
|
||||
columnType: 'timestamp',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'companyId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'personId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'pipelineStepId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'pointOfContactId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addPersonTable: TenantMigrationTableAction[] = [
|
||||
export const addPersonTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'person',
|
||||
action: 'create',
|
||||
@ -15,52 +15,52 @@ export const addPersonTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
columnName: 'firstName',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'lastName',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'email',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'linkedinUrl',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'xUrl',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'jobTitle',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'phone',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'city',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'avatarUrl',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'companyId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -0,0 +1,32 @@
|
||||
import {
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addPipelineStepTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'pipelineStep',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'pipelineStep',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'name',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'color',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'position',
|
||||
columnType: 'float',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -0,0 +1,27 @@
|
||||
import {
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addWebhookTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'webhook',
|
||||
action: 'create',
|
||||
},
|
||||
{
|
||||
name: 'webhook',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'targetUrl',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'operation',
|
||||
columnType: 'varchar',
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addWorkspaceMemberTable: TenantMigrationTableAction[] = [
|
||||
export const addWorkspaceMemberTable: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'workspaceMember',
|
||||
action: 'create',
|
||||
@ -15,37 +15,37 @@ export const addWorkspaceMemberTable: TenantMigrationTableAction[] = [
|
||||
{
|
||||
columnName: 'firstName',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'lastName',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'avatarUrl',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'colorScheme',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'locale',
|
||||
columnType: 'varchar',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'allowImpersonation',
|
||||
columnType: 'boolean',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
{
|
||||
columnName: 'userId',
|
||||
columnType: 'uuid',
|
||||
action: TenantMigrationColumnActionType.CREATE,
|
||||
action: WorkspaceMigrationColumnActionType.CREATE,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -0,0 +1,19 @@
|
||||
import {
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addCompanyRelations: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'company',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'accountOwnerId',
|
||||
referencedTableName: 'workspaceMember',
|
||||
referencedTableColumnName: 'id',
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addAttachmentRelations: TenantMigrationTableAction[] = [
|
||||
export const addAttachmentRelations: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'attachment',
|
||||
action: 'alter',
|
||||
@ -12,25 +12,25 @@ export const addAttachmentRelations: TenantMigrationTableAction[] = [
|
||||
columnName: 'companyId',
|
||||
referencedTableName: 'company',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'personId',
|
||||
referencedTableName: 'person',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'activityId',
|
||||
referencedTableName: 'activity',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'authorId',
|
||||
referencedTableName: 'workspaceMember',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -0,0 +1,19 @@
|
||||
import {
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addPersonRelations: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'person',
|
||||
action: 'alter',
|
||||
columns: [
|
||||
{
|
||||
columnName: 'companyId',
|
||||
referencedTableName: 'company',
|
||||
referencedTableColumnName: 'id',
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addFavoriteRelations: TenantMigrationTableAction[] = [
|
||||
export const addFavoriteRelations: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'favorite',
|
||||
action: 'alter',
|
||||
@ -12,19 +12,19 @@ export const addFavoriteRelations: TenantMigrationTableAction[] = [
|
||||
columnName: 'companyId',
|
||||
referencedTableName: 'company',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'personId',
|
||||
referencedTableName: 'person',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'workspaceMemberId',
|
||||
referencedTableName: 'workspaceMember',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addOpportunityRelations: TenantMigrationTableAction[] = [
|
||||
export const addOpportunityRelations: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'opportunity',
|
||||
action: 'alter',
|
||||
@ -12,25 +12,25 @@ export const addOpportunityRelations: TenantMigrationTableAction[] = [
|
||||
columnName: 'companyId',
|
||||
referencedTableName: 'company',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'personId',
|
||||
referencedTableName: 'person',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'pointOfContactId',
|
||||
referencedTableName: 'person',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'pipelineStepId',
|
||||
referencedTableName: 'pipelineStep',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addActivityTargetRelations: TenantMigrationTableAction[] = [
|
||||
export const addActivityTargetRelations: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'activityTarget',
|
||||
action: 'alter',
|
||||
@ -12,19 +12,19 @@ export const addActivityTargetRelations: TenantMigrationTableAction[] = [
|
||||
columnName: 'companyId',
|
||||
referencedTableName: 'company',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'personId',
|
||||
referencedTableName: 'person',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'activityId',
|
||||
referencedTableName: 'activity',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addActivityRelations: TenantMigrationTableAction[] = [
|
||||
export const addActivityRelations: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'activity',
|
||||
action: 'alter',
|
||||
@ -12,13 +12,13 @@ export const addActivityRelations: TenantMigrationTableAction[] = [
|
||||
columnName: 'authorId',
|
||||
referencedTableName: 'workspaceMember',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'assigneeId',
|
||||
referencedTableName: 'workspaceMember',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -1,9 +1,9 @@
|
||||
import {
|
||||
TenantMigrationColumnActionType,
|
||||
TenantMigrationTableAction,
|
||||
} from 'src/metadata/tenant-migration/tenant-migration.entity';
|
||||
WorkspaceMigrationColumnActionType,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from 'src/metadata/workspace-migration/workspace-migration.entity';
|
||||
|
||||
export const addCommentRelations: TenantMigrationTableAction[] = [
|
||||
export const addCommentRelations: WorkspaceMigrationTableAction[] = [
|
||||
{
|
||||
name: 'comment',
|
||||
action: 'alter',
|
||||
@ -12,13 +12,13 @@ export const addCommentRelations: TenantMigrationTableAction[] = [
|
||||
columnName: 'authorId',
|
||||
referencedTableName: 'workspaceMember',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
{
|
||||
columnName: 'activityId',
|
||||
referencedTableName: 'activity',
|
||||
referencedTableColumnName: 'id',
|
||||
action: TenantMigrationColumnActionType.RELATION,
|
||||
action: WorkspaceMigrationColumnActionType.RELATION,
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -0,0 +1,54 @@
|
||||
import { addActivityTargetTable } from 'src/metadata/workspace-migration/migrations/1697618015-addActivityTargetTable';
|
||||
import { addActivityTable } from 'src/metadata/workspace-migration/migrations/1697618016-addActivityTable';
|
||||
import { addApiKeyTable } from 'src/metadata/workspace-migration/migrations/1697618017-addApiKeyTable';
|
||||
import { addAttachmentTable } from 'src/metadata/workspace-migration/migrations/1697618018-addAttachmentTable';
|
||||
import { addCommentTable } from 'src/metadata/workspace-migration/migrations/1697618019-addCommentTable';
|
||||
import { addFavoriteTable } from 'src/metadata/workspace-migration/migrations/1697618020-addFavoriteTable';
|
||||
import { addOpportunityTable } from 'src/metadata/workspace-migration/migrations/1697618021-addOpportunityTable';
|
||||
import { addPersonTable } from 'src/metadata/workspace-migration/migrations/1697618022-addPersonTable';
|
||||
import { addPipelineStepTable } from 'src/metadata/workspace-migration/migrations/1697618023-addPipelineStepTable';
|
||||
import { addWebhookTable } from 'src/metadata/workspace-migration/migrations/1697618024-addWebhookTable';
|
||||
import { addWorkspaceMemberTable } from 'src/metadata/workspace-migration/migrations/1697618026-addWorspaceMemberTable';
|
||||
import { addCompanyRelations } from 'src/metadata/workspace-migration/migrations/1697618027-addCompanyRelations';
|
||||
import { addAttachmentRelations } from 'src/metadata/workspace-migration/migrations/1697618028-addAttachmentRelations';
|
||||
import { addPersonRelations } from 'src/metadata/workspace-migration/migrations/1697618029-addPersonRelations';
|
||||
import { addFavoriteRelations } from 'src/metadata/workspace-migration/migrations/1697618030-addFavoriteRelations';
|
||||
import { addActivityTargetRelations } from 'src/metadata/workspace-migration/migrations/1697618032-addActivityTargetRelations';
|
||||
import { addActivityRelations } from 'src/metadata/workspace-migration/migrations/1697618033-addActivityRelations';
|
||||
import { addCommentRelations } from 'src/metadata/workspace-migration/migrations/1697618034-addCommentRelations';
|
||||
import { addOpportunityRelations } from 'src/metadata/workspace-migration/migrations/1697618031-addOpportunityRelations';
|
||||
|
||||
import { addCompanyTable } from './migrations/1697618009-addCompanyTable';
|
||||
import { addViewTable } from './migrations/1697618011-addViewTable';
|
||||
import { addViewFieldTable } from './migrations/1697618012-addViewFieldTable';
|
||||
import { addViewFilterTable } from './migrations/1697618013-addViewFilterTable';
|
||||
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,
|
||||
'1697618014-addViewSortTable': addViewSortTable,
|
||||
|
||||
'1697618015-addActivityTargetTable': addActivityTargetTable,
|
||||
'1697618016-addActivityTable': addActivityTable,
|
||||
'1697618017-addApiKeyTable': addApiKeyTable,
|
||||
'1697618018-addAttachmentTable': addAttachmentTable,
|
||||
'1697618019-addCommentTable': addCommentTable,
|
||||
'1697618020-addFavoriteTable': addFavoriteTable,
|
||||
'1697618021-addOpportunityTable': addOpportunityTable,
|
||||
'1697618022-addPersonTable': addPersonTable,
|
||||
'1697618023-addPipelineStepTable': addPipelineStepTable,
|
||||
'1697618024-addWebhookTable': addWebhookTable,
|
||||
'1697618026-addWorkspaceMemberTable': addWorkspaceMemberTable,
|
||||
'1697618027-addCompanyRelations': addCompanyRelations,
|
||||
'1697618028-addAttachmentRelations': addAttachmentRelations,
|
||||
'1697618029-addPersonRelations': addPersonRelations,
|
||||
'1697618030-addFavoriteRelations': addFavoriteRelations,
|
||||
'1697618031-addOpportunitiesRelations': addOpportunityRelations,
|
||||
'1697618032-addActivityTargetRelations': addActivityTargetRelations,
|
||||
'1697618033-addActivityRelations': addActivityRelations,
|
||||
'1697618034-addCommentRelations': addCommentRelations,
|
||||
};
|
||||
@ -5,42 +5,42 @@ import {
|
||||
PrimaryGeneratedColumn,
|
||||
} from 'typeorm';
|
||||
|
||||
export enum TenantMigrationColumnActionType {
|
||||
export enum WorkspaceMigrationColumnActionType {
|
||||
CREATE = 'CREATE',
|
||||
RELATION = 'RELATION',
|
||||
}
|
||||
|
||||
export type TenantMigrationColumnCreate = {
|
||||
action: TenantMigrationColumnActionType.CREATE;
|
||||
export type WorkspaceMigrationColumnCreate = {
|
||||
action: WorkspaceMigrationColumnActionType.CREATE;
|
||||
columnName: string;
|
||||
columnType: string;
|
||||
defaultValue?: any;
|
||||
};
|
||||
|
||||
export type TenantMigrationColumnRelation = {
|
||||
action: TenantMigrationColumnActionType.RELATION;
|
||||
export type WorkspaceMigrationColumnRelation = {
|
||||
action: WorkspaceMigrationColumnActionType.RELATION;
|
||||
columnName: string;
|
||||
referencedTableName: string;
|
||||
referencedTableColumnName: string;
|
||||
isUnique?: boolean;
|
||||
};
|
||||
|
||||
export type TenantMigrationColumnAction = {
|
||||
action: TenantMigrationColumnActionType;
|
||||
} & (TenantMigrationColumnCreate | TenantMigrationColumnRelation);
|
||||
export type WorkspaceMigrationColumnAction = {
|
||||
action: WorkspaceMigrationColumnActionType;
|
||||
} & (WorkspaceMigrationColumnCreate | WorkspaceMigrationColumnRelation);
|
||||
|
||||
export type TenantMigrationTableAction = {
|
||||
export type WorkspaceMigrationTableAction = {
|
||||
name: string;
|
||||
action: 'create' | 'alter';
|
||||
columns?: TenantMigrationColumnAction[];
|
||||
columns?: WorkspaceMigrationColumnAction[];
|
||||
};
|
||||
@Entity('tenantMigration')
|
||||
export class TenantMigrationEntity {
|
||||
@Entity('workspaceMigration')
|
||||
export class WorkspaceMigrationEntity {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id: string;
|
||||
|
||||
@Column({ nullable: true, type: 'jsonb' })
|
||||
migrations: TenantMigrationTableAction[];
|
||||
migrations: WorkspaceMigrationTableAction[];
|
||||
|
||||
@Column({ nullable: true })
|
||||
name: string;
|
||||
@ -0,0 +1,12 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
|
||||
import { WorkspaceMigrationService } from './workspace-migration.service';
|
||||
import { WorkspaceMigrationEntity } from './workspace-migration.entity';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([WorkspaceMigrationEntity], 'metadata')],
|
||||
exports: [WorkspaceMigrationService],
|
||||
providers: [WorkspaceMigrationService],
|
||||
})
|
||||
export class WorkspaceMigrationModule {}
|
||||
@ -5,15 +5,15 @@ import { IsNull, Repository } from 'typeorm';
|
||||
|
||||
import { standardMigrations } from './standard-migrations';
|
||||
import {
|
||||
TenantMigrationEntity,
|
||||
TenantMigrationTableAction,
|
||||
} from './tenant-migration.entity';
|
||||
WorkspaceMigrationEntity,
|
||||
WorkspaceMigrationTableAction,
|
||||
} from './workspace-migration.entity';
|
||||
|
||||
@Injectable()
|
||||
export class TenantMigrationService {
|
||||
export class WorkspaceMigrationService {
|
||||
constructor(
|
||||
@InjectRepository(TenantMigrationEntity, 'metadata')
|
||||
private readonly tenantMigrationRepository: Repository<TenantMigrationEntity>,
|
||||
@InjectRepository(WorkspaceMigrationEntity, 'metadata')
|
||||
private readonly workspaceMigrationRepository: Repository<WorkspaceMigrationEntity>,
|
||||
) {}
|
||||
|
||||
/**
|
||||
@ -24,7 +24,7 @@ export class TenantMigrationService {
|
||||
public async insertStandardMigrations(workspaceId: string): Promise<void> {
|
||||
// TODO: we actually don't need to fetch all of them, to improve later so it scales well.
|
||||
const insertedStandardMigrations =
|
||||
await this.tenantMigrationRepository.find({
|
||||
await this.workspaceMigrationRepository.find({
|
||||
where: { workspaceId, isCustom: false },
|
||||
});
|
||||
|
||||
@ -47,7 +47,7 @@ export class TenantMigrationService {
|
||||
isCustom: false,
|
||||
}));
|
||||
|
||||
await this.tenantMigrationRepository.save(
|
||||
await this.workspaceMigrationRepository.save(
|
||||
standardMigrationsThatNeedToBeInserted,
|
||||
);
|
||||
}
|
||||
@ -56,12 +56,12 @@ export class TenantMigrationService {
|
||||
* Get all pending migrations for a given workspaceId
|
||||
*
|
||||
* @param workspaceId: string
|
||||
* @returns Promise<TenantMigration[]>
|
||||
* @returns Promise<WorkspaceMigration[]>
|
||||
*/
|
||||
public async getPendingMigrations(
|
||||
workspaceId: string,
|
||||
): Promise<TenantMigrationEntity[]> {
|
||||
return await this.tenantMigrationRepository.find({
|
||||
): Promise<WorkspaceMigrationEntity[]> {
|
||||
return await this.workspaceMigrationRepository.find({
|
||||
order: { createdAt: 'ASC', name: 'ASC' },
|
||||
where: {
|
||||
appliedAt: IsNull(),
|
||||
@ -75,13 +75,13 @@ export class TenantMigrationService {
|
||||
* Should be called once the migration has been applied
|
||||
*
|
||||
* @param workspaceId: string
|
||||
* @param migration: TenantMigration
|
||||
* @param migration: WorkspaceMigration
|
||||
*/
|
||||
public async setAppliedAtForMigration(
|
||||
workspaceId: string,
|
||||
migration: TenantMigrationEntity,
|
||||
migration: WorkspaceMigrationEntity,
|
||||
) {
|
||||
await this.tenantMigrationRepository.save({
|
||||
await this.workspaceMigrationRepository.save({
|
||||
id: migration.id,
|
||||
appliedAt: new Date(),
|
||||
});
|
||||
@ -95,9 +95,9 @@ export class TenantMigrationService {
|
||||
*/
|
||||
public async createCustomMigration(
|
||||
workspaceId: string,
|
||||
migrations: TenantMigrationTableAction[],
|
||||
migrations: WorkspaceMigrationTableAction[],
|
||||
) {
|
||||
await this.tenantMigrationRepository.save({
|
||||
await this.workspaceMigrationRepository.save({
|
||||
migrations,
|
||||
workspaceId,
|
||||
isCustom: true,
|
||||
@ -105,6 +105,6 @@ export class TenantMigrationService {
|
||||
}
|
||||
|
||||
public async delete(workspaceId: string) {
|
||||
await this.tenantMigrationRepository.delete({ workspaceId });
|
||||
await this.workspaceMigrationRepository.delete({ workspaceId });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user