In this PR - introducing roles module to separate roles logic (assign a Role, get a workspace's roles etc.) from permission logic (check if a user has a permission) - Introduces getRoles endpoint to fetch a workspace's roles - introduces the first permission check: getRoles in only accessible to users with permission on ROLE setting. Implemented validatesUserHasWorkspaceSettingPermissionOrThrow
38 lines
1.8 KiB
TypeScript
38 lines
1.8 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
|
|
import { FeatureFlagModule } from 'src/engine/core-modules/feature-flag/feature-flag.module';
|
|
import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity';
|
|
import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module';
|
|
import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module';
|
|
import { PermissionsModule } from 'src/engine/metadata-modules/permissions/permissions.module';
|
|
import { RoleModule } from 'src/engine/metadata-modules/role/role.module';
|
|
import { UserRoleModule } from 'src/engine/metadata-modules/userRole/userRole.module';
|
|
import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.module';
|
|
import { SeederModule } from 'src/engine/seeder/seeder.module';
|
|
import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module';
|
|
import { WorkspaceHealthModule } from 'src/engine/workspace-manager/workspace-health/workspace-health.module';
|
|
import { WorkspaceSyncMetadataModule } from 'src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.module';
|
|
|
|
import { WorkspaceManagerService } from './workspace-manager.service';
|
|
|
|
@Module({
|
|
imports: [
|
|
WorkspaceDataSourceModule,
|
|
WorkspaceMigrationModule,
|
|
ObjectMetadataModule,
|
|
SeederModule,
|
|
DataSourceModule,
|
|
WorkspaceSyncMetadataModule,
|
|
WorkspaceHealthModule,
|
|
FeatureFlagModule,
|
|
PermissionsModule,
|
|
TypeOrmModule.forFeature([UserWorkspace], 'core'),
|
|
RoleModule,
|
|
UserRoleModule,
|
|
],
|
|
exports: [WorkspaceManagerService],
|
|
providers: [WorkspaceManagerService],
|
|
})
|
|
export class WorkspaceManagerModule {}
|