In this PR: - removing ugprade-0.24 commands as we are releasing 0.30 - introducing cache:flush command - refactoring upgrade command and sync-metadata command to use the ActiveWorkspacesCommand so they consistently run on all workspaces or selected workspaces Fixes: - clear localStorage on sign out - fix missing workspaceMember in verify resolver - do not throw on datasource already destroyed exception which can happen with race condition when several resolvers are resolving in parallel
85 lines
3.7 KiB
TypeScript
85 lines
3.7 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
|
|
import { SortDirection } from '@ptc-org/nestjs-query-core';
|
|
import {
|
|
NestjsQueryGraphQLModule,
|
|
PagingStrategies,
|
|
} from '@ptc-org/nestjs-query-graphql';
|
|
import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm';
|
|
|
|
import { TypeORMModule } from 'src/database/typeorm/typeorm.module';
|
|
import { ActorModule } from 'src/engine/core-modules/actor/actor.module';
|
|
import { WorkspaceAuthGuard } from 'src/engine/guards/workspace-auth.guard';
|
|
import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module';
|
|
import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto';
|
|
import { FieldMetadataResolver } from 'src/engine/metadata-modules/field-metadata/field-metadata.resolver';
|
|
import { FieldMetadataGraphqlApiExceptionInterceptor } from 'src/engine/metadata-modules/field-metadata/interceptors/field-metadata-graphql-api-exception.interceptor';
|
|
import { IsFieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/validators/is-field-metadata-default-value.validator';
|
|
import { IsFieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/validators/is-field-metadata-options.validator';
|
|
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
|
import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module';
|
|
import { WorkspaceMetadataVersionModule } from 'src/engine/metadata-modules/workspace-metadata-version/workspace-metadata-version.module';
|
|
import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.module';
|
|
import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module';
|
|
|
|
import { FieldMetadataEntity } from './field-metadata.entity';
|
|
import { FieldMetadataService } from './field-metadata.service';
|
|
|
|
import { CreateFieldInput } from './dtos/create-field.input';
|
|
import { UpdateFieldInput } from './dtos/update-field.input';
|
|
|
|
@Module({
|
|
imports: [
|
|
NestjsQueryGraphQLModule.forFeature({
|
|
imports: [
|
|
NestjsQueryTypeOrmModule.forFeature(
|
|
[FieldMetadataEntity, ObjectMetadataEntity],
|
|
'metadata',
|
|
),
|
|
WorkspaceMigrationModule,
|
|
WorkspaceMigrationRunnerModule,
|
|
WorkspaceMetadataVersionModule,
|
|
ObjectMetadataModule,
|
|
DataSourceModule,
|
|
TypeORMModule,
|
|
ActorModule,
|
|
],
|
|
services: [IsFieldMetadataDefaultValue, FieldMetadataService],
|
|
resolvers: [
|
|
{
|
|
EntityClass: FieldMetadataEntity,
|
|
DTOClass: FieldMetadataDTO,
|
|
CreateDTOClass: CreateFieldInput,
|
|
UpdateDTOClass: UpdateFieldInput,
|
|
ServiceClass: FieldMetadataService,
|
|
pagingStrategy: PagingStrategies.CURSOR,
|
|
read: {
|
|
defaultSort: [{ field: 'id', direction: SortDirection.DESC }],
|
|
},
|
|
create: {
|
|
// Manually created because of the async validation
|
|
one: { disabled: true },
|
|
many: { disabled: true },
|
|
},
|
|
update: {
|
|
// Manually created because of the async validation
|
|
one: { disabled: true },
|
|
many: { disabled: true },
|
|
},
|
|
delete: { disabled: true },
|
|
guards: [WorkspaceAuthGuard],
|
|
interceptors: [FieldMetadataGraphqlApiExceptionInterceptor],
|
|
},
|
|
],
|
|
}),
|
|
],
|
|
providers: [
|
|
IsFieldMetadataDefaultValue,
|
|
IsFieldMetadataOptions,
|
|
FieldMetadataService,
|
|
FieldMetadataResolver,
|
|
],
|
|
exports: [FieldMetadataService],
|
|
})
|
|
export class FieldMetadataModule {}
|