Add Tenant initialisation service (#2100)

* Add Tenant initialisation service

* few fixes

* fix constraint

* fix tests

* update metadata json with employees and address

* add V2

* remove metadata.gql
This commit is contained in:
Weiko
2023-10-18 18:01:52 +02:00
committed by GitHub
parent 1cd91e60fa
commit 7fbef6d60d
37 changed files with 513 additions and 177 deletions

View File

@ -8,7 +8,7 @@ import { PersonService } from 'src/core/person/person.service';
import { CompanyService } from 'src/core/company/company.service';
import { PipelineProgressService } from 'src/core/pipeline/services/pipeline-progress.service';
import { ViewService } from 'src/core/view/services/view.service';
import { DataSourceService } from 'src/metadata/data-source/data-source.service';
import { TenantInitialisationService } from 'src/metadata/tenant-initialisation/tenant-initialisation.service';
import { WorkspaceService } from './workspace.service';
@ -48,7 +48,7 @@ describe('WorkspaceService', () => {
useValue: {},
},
{
provide: DataSourceService,
provide: TenantInitialisationService,
useValue: {},
},
],

View File

@ -11,7 +11,7 @@ import { PipelineService } from 'src/core/pipeline/services/pipeline.service';
import { ViewService } from 'src/core/view/services/view.service';
import { PrismaService } from 'src/database/prisma.service';
import { assert } from 'src/utils/assert';
import { DataSourceService } from 'src/metadata/data-source/data-source.service';
import { TenantInitialisationService } from 'src/metadata/tenant-initialisation/tenant-initialisation.service';
@Injectable()
export class WorkspaceService {
@ -23,7 +23,7 @@ export class WorkspaceService {
private readonly pipelineStageService: PipelineStageService,
private readonly pipelineProgressService: PipelineProgressService,
private readonly viewService: ViewService,
private readonly dataSourceService: DataSourceService,
private readonly tenantInitialisationService: TenantInitialisationService,
) {}
// Find
@ -66,7 +66,7 @@ export class WorkspaceService {
});
// Create workspace schema
await this.dataSourceService.createWorkspaceSchema(workspace.id);
await this.tenantInitialisationService.init(workspace.id);
// Create default companies
const companies = await this.companyService.createDefaultCompanies({

View File

@ -5,7 +5,9 @@ import { PipelineModule } from 'src/core/pipeline/pipeline.module';
import { CompanyModule } from 'src/core/company/company.module';
import { PersonModule } from 'src/core/person/person.module';
import { ViewModule } from 'src/core/view/view.module';
import { DataSourceModule } from 'src/metadata/data-source/data-source.module';
import { TenantInitialisationModule } from 'src/metadata/tenant-initialisation/tenant-initialisation.module';
import { AbilityModule } from 'src/ability/ability.module';
import { PrismaModule } from 'src/database/prisma.module';
import { WorkspaceService } from './services/workspace.service';
import { WorkspaceMemberService } from './services/workspace-member.service';
@ -14,11 +16,13 @@ import { WorkspaceResolver } from './resolvers/workspace.resolver';
@Module({
imports: [
AbilityModule,
PipelineModule,
CompanyModule,
PersonModule,
ViewModule,
DataSourceModule,
TenantInitialisationModule,
PrismaModule,
],
providers: [
WorkspaceService,