diff --git a/docsfera.json b/docsfera.json index bdf641a..b3a85b5 100644 --- a/docsfera.json +++ b/docsfera.json @@ -900,6 +900,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -949,6 +952,9 @@ "connections" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -997,6 +1003,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -1033,6 +1042,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -1066,6 +1078,9 @@ "connections" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -2403,6 +2418,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -2486,6 +2504,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -2525,6 +2546,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -2564,6 +2588,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -2601,6 +2628,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -2640,6 +2670,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -2681,6 +2714,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -2722,6 +2758,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -3071,6 +3110,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3120,6 +3162,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3190,6 +3235,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3230,6 +3278,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3270,6 +3321,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3310,6 +3364,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3350,6 +3407,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3397,6 +3457,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3442,6 +3505,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3490,6 +3556,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3528,6 +3597,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3586,6 +3658,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3634,6 +3709,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3674,6 +3752,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3716,6 +3797,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3765,6 +3849,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3814,6 +3901,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -3861,6 +3951,9 @@ "PipelinesV2" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4031,6 +4124,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4056,6 +4152,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4092,6 +4191,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4126,6 +4228,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4160,6 +4265,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4187,6 +4295,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4214,6 +4325,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4241,6 +4355,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4277,6 +4394,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4313,6 +4433,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4340,6 +4463,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4367,6 +4493,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4404,6 +4533,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4440,6 +4572,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4484,6 +4619,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4520,6 +4658,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4564,6 +4705,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4600,6 +4744,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4634,6 +4781,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4670,6 +4820,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4706,6 +4859,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4743,6 +4899,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4770,6 +4929,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -4797,6 +4959,9 @@ "Platform API" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -5208,6 +5373,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5251,6 +5419,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5360,6 +5531,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5392,6 +5566,9 @@ "Catalog" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -5434,6 +5611,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5527,6 +5707,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5585,6 +5768,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5633,6 +5819,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5726,6 +5915,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5776,6 +5968,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5834,6 +6029,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5890,6 +6088,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5950,6 +6151,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -5990,6 +6194,9 @@ "Catalog" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -6030,6 +6237,9 @@ "Catalog" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -6090,6 +6300,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -6148,6 +6361,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -6524,6 +6740,9 @@ { "access-token": [] }, + { + "access-token": [] + }, { "access-token": [] } @@ -6977,6 +7196,9 @@ "Connection Test" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -7013,6 +7235,9 @@ "Connection Test" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -7049,6 +7274,9 @@ "Connection Test" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -7085,6 +7313,9 @@ "Connection Test" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } @@ -7121,6 +7352,9 @@ "Connection Test" ], "security": [ + { + "access-token": [] + }, { "access-token": [] } diff --git a/src/authentication/permissions.enum.ts b/src/authentication/permissions.enum.ts index 82ee026..1cb5045 100644 --- a/src/authentication/permissions.enum.ts +++ b/src/authentication/permissions.enum.ts @@ -722,6 +722,8 @@ export const DADOSFERA_MODULES_KEYS = { PII: 'pii', EMBED: 'embedded-analytics', EMBED_ASSIGNED: 'embed-assigned', + CATALOG: 'catalog', + COLLECT: 'collect', } export const DADOSFERA_MODULES: Array = [ diff --git a/src/modules/catalog/catalog.controller.ts b/src/modules/catalog/catalog.controller.ts index 308a082..ef8ab78 100644 --- a/src/modules/catalog/catalog.controller.ts +++ b/src/modules/catalog/catalog.controller.ts @@ -85,6 +85,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.GET, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async searchCatalog( @User() user: RequestUser, @Query() query: ICatalogAllRequest, @@ -124,6 +127,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.GET, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async dowloadAsserts( @User() user: RequestUser, @Query() query: ICatalogAllRequest, @@ -167,6 +173,9 @@ export class CatalogController { @ApiInternalOnlyEndpoint() @Get('data-asset') + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async findByPipelineAndObject(@User() user: RequestUser, @Query() query) { const { username, user_id, customer_id, customer_name, permissions } = user; const { pipeline, object } = query; @@ -225,6 +234,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.GET, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async findAllTags(@Body() body) { this.logger.info(`/catalog - ON FIND ALL TAGS ROUTE`, { user: body.info.user_id, @@ -276,6 +288,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.GET, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async getDataAsset( @User() user: RequestUser, @Param('id') id: string, @@ -387,6 +402,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.GET, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async getDataAssetColumnsMetadata( @User() user: RequestUser, @Language() language: LanguageEnum, @@ -418,6 +436,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.GET, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async getDataAssetPreview( @User() user: RequestUser, @Language() language: LanguageEnum, @@ -449,6 +470,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.GET, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async getDataAssetDocs( @User() user: RequestUser, @Language() language: LanguageEnum, @@ -480,6 +504,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.UPDATE, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async updateDataAsset( @User() user: RequestUser, @Language() language: LanguageEnum, @@ -515,6 +542,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.CERTIFY, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async updateDataAssetCertificationStatus( @User() user: RequestUser, @Language() language: LanguageEnum, @@ -542,6 +572,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.UPDATE, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async manageDataAssetDocs( @User() user: RequestUser, @Headers() headers, @@ -579,6 +612,9 @@ export class CatalogController { @ApiInternalOnlyEndpoint() @Put('data-asset/:id/manage-permissions') + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async manageDataAssetPermissions( @Param('id') id: string, @User() user: RequestUser, @@ -601,6 +637,9 @@ export class CatalogController { @ApiInternalOnlyEndpoint() @Put('data-asset/:id/revoke-permissions') + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async revokeDataAssetPermissions( @Param('id') id: string, @User() user: RequestUser, @@ -626,6 +665,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.CREATE, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async createDataAsset( @User() user: RequestUser, @Body() body: ICreateDataAsset, @@ -650,6 +692,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.UPDATE, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async commentOnDataAsset( @Param('id') id: string, @User() user: RequestUser, @@ -676,6 +721,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.DELETE, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async deleteDataAsset(@Param('id') id: string, @User() user: RequestUser) { const { customer_id, customer_name, user_id, username } = user; const metadata = PackTheMetadata({ @@ -697,6 +745,9 @@ export class CatalogController { PERMISSIONS_GROUPS.CATALOG.permissions.UPDATE, PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async deleteComment( @Param('id') id: string, @User() user: RequestUser, @@ -850,6 +901,9 @@ export class CatalogController { @Get('nimbus-dashboards') @RequireAllPermissions(PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER) + @RequireModule( + DADOSFERA_MODULES_KEYS.CATALOG + ) async getNimbusDashboards( @User() user: RequestUser, @Body() body: GetNimbusDashboardsRequest, diff --git a/src/modules/connection-test/connection-test.controller.ts b/src/modules/connection-test/connection-test.controller.ts index f197358..029da68 100644 --- a/src/modules/connection-test/connection-test.controller.ts +++ b/src/modules/connection-test/connection-test.controller.ts @@ -24,15 +24,19 @@ import { GetTableMetadataReq, } from './dto/connection-test'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; -import { Authenticated } from 'src/decorators/authentication.decorator'; +import { Authenticated, RequireModule } from 'src/decorators/authentication.decorator'; import { GrpcToHttpExceptionFilter } from 'src/error/grpc-to-http-exception.filter'; import { ApiInternalOnlyController } from 'src/decorators/swagger.decorator'; +import { DADOSFERA_MODULES_KEYS } from 'src/authentication/permissions.enum'; @ApiInternalOnlyController() @ApiTags('Connection Test') @Controller('connection-test') @UseFilters(new GrpcToHttpExceptionFilter()) @Authenticated() +@RequireModule( + DADOSFERA_MODULES_KEYS.COLLECT +) export class ConnectionTestController { logger: any; constructor( diff --git a/src/modules/connection/connection.controller.ts b/src/modules/connection/connection.controller.ts index 194e9aa..b1987dc 100644 --- a/src/modules/connection/connection.controller.ts +++ b/src/modules/connection/connection.controller.ts @@ -16,8 +16,9 @@ import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { Authenticated, RequireAllPermissions, + RequireModule, } from 'src/decorators/authentication.decorator'; -import { PERMISSIONS_GROUPS } from 'src/authentication/permissions.enum'; +import { DADOSFERA_MODULES_KEYS, PERMISSIONS_GROUPS } from 'src/authentication/permissions.enum'; import { RequestUser, User } from 'src/decorators/user.decorator'; import { ValidationPipe } from '../../pipes/object-validation.pipe'; import { @@ -39,6 +40,9 @@ const connectionPermissions = PERMISSIONS_GROUPS.CONNECTION.permissions; @ApiTags('connections') @Authenticated() @Controller('connections') +@RequireModule( + DADOSFERA_MODULES_KEYS.COLLECT +) export class ConnectionController { logger: any; constructor( diff --git a/src/modules/connector/connector.controller.ts b/src/modules/connector/connector.controller.ts index c755ae8..858ef8c 100644 --- a/src/modules/connector/connector.controller.ts +++ b/src/modules/connector/connector.controller.ts @@ -25,9 +25,10 @@ import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { Authenticated, RequireAllPermissions, + RequireModule, RequireSomePermission, } from 'src/decorators/authentication.decorator'; -import { PERMISSIONS_GROUPS } from 'src/authentication/permissions.enum'; +import { DADOSFERA_MODULES_KEYS, PERMISSIONS_GROUPS } from 'src/authentication/permissions.enum'; import { Language } from 'src/decorators/language.decorator'; import { LanguageEnum } from 'src/utils/languages.enum'; import { ApiInternalOnlyController } from 'src/decorators/swagger.decorator'; @@ -99,6 +100,9 @@ export class ConnectorController { PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE, PERMISSIONS_GROUPS.PIPELINE.permissions.DELETE, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.COLLECT + ) async getAllConnectors( @Language() language: LanguageEnum, @Query() queries: GetAllDto, @@ -131,6 +135,9 @@ export class ConnectorController { PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE, PERMISSIONS_GROUPS.PIPELINE.permissions.DELETE, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.COLLECT + ) async getConnectorsTags() { return await this.connectorClientService.getConnectorsTags(); } @@ -143,6 +150,9 @@ export class ConnectorController { PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE, PERMISSIONS_GROUPS.PIPELINE.permissions.DELETE, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.COLLECT + ) async getConnector( @Language() language: LanguageEnum, @Param('plugin') plugin: string, @@ -171,6 +181,9 @@ export class ConnectorController { PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE, PERMISSIONS_GROUPS.PIPELINE.permissions.DELETE, ) + @RequireModule( + DADOSFERA_MODULES_KEYS.COLLECT + ) async getConnectorDetails( @Language() language: LanguageEnum, @Param('plugin') plugin: string, @@ -193,6 +206,9 @@ export class ConnectorController { @Put('/:plugin') @RequireAllPermissions(PERMISSIONS_GROUPS.CONNECTORS.permissions.UPDATE) @ApiConsumes('multipart/form-data') + @RequireModule( + DADOSFERA_MODULES_KEYS.COLLECT + ) async updateConnector( @Param('plugin') plugin: string, @Body() body: UpdateDto, @@ -214,6 +230,9 @@ export class ConnectorController { @Put('/:plugin/add-tag') @RequireAllPermissions(PERMISSIONS_GROUPS.CONNECTORS.permissions.UPDATE) + @RequireModule( + DADOSFERA_MODULES_KEYS.COLLECT + ) async addTagOnConnector( @Param('plugin') plugin: string, @Body() body: AddTagDto, @@ -241,6 +260,9 @@ export class ConnectorController { @Put('/:plugin/remove-tag') @RequireAllPermissions(PERMISSIONS_GROUPS.CONNECTORS.permissions.UPDATE) + @RequireModule( + DADOSFERA_MODULES_KEYS.COLLECT + ) async removeTagOnConnector( @Param('plugin') plugin: string, @Body() body: RemoveTagDto, @@ -269,6 +291,9 @@ export class ConnectorController { @Delete('/:plugin') @RequireAllPermissions(PERMISSIONS_GROUPS.CONNECTORS.permissions.DELETE) + @RequireModule( + DADOSFERA_MODULES_KEYS.COLLECT + ) async deleteConnector( @Param('plugin') plugin: string, @Query('version') version: string, diff --git a/src/modules/pipelinesV2/pipelines.controller.ts b/src/modules/pipelinesV2/pipelines.controller.ts index ea64d8c..c24c090 100644 --- a/src/modules/pipelinesV2/pipelines.controller.ts +++ b/src/modules/pipelinesV2/pipelines.controller.ts @@ -25,9 +25,10 @@ import { } from '@nestjs/swagger'; import { RequireAllPermissions, + RequireModule, RequireSomePermission, } from 'src/decorators/authentication.decorator'; -import { PERMISSIONS_GROUPS } from '../../authentication/permissions.enum'; +import { DADOSFERA_MODULES_KEYS, PERMISSIONS_GROUPS } from '../../authentication/permissions.enum'; import { PipelinesService } from './pipelines.service'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { Messages } from '@dadosfera/protospack-v2/dist/lib/PipelineV2'; @@ -57,6 +58,9 @@ type PipelineTablesConfig = { input_id?: string; tables: PipelineTable[] }; @ApiHeaders([{ name: 'dadosfera-lang', enum: LanguageEnum, required: false }]) @UseFilters(new GrpcToHttpExceptionFilter()) @Controller('pipelinesV2') +@RequireModule( + DADOSFERA_MODULES_KEYS.COLLECT +) export class PipelinesController { logger: DadosferaLogger; constructor( diff --git a/src/modules/platform-api/platform-api.controller.ts b/src/modules/platform-api/platform-api.controller.ts index 16d27b3..503d117 100644 --- a/src/modules/platform-api/platform-api.controller.ts +++ b/src/modules/platform-api/platform-api.controller.ts @@ -20,10 +20,11 @@ import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { Authenticated, RequireAllPermissions, + RequireModule, } from '../../decorators/authentication.decorator'; import { User, RequestUser } from '../../decorators/user.decorator'; import { PlatformApiService } from './platform-api.service'; -import { PERMISSIONS_GROUPS } from '../../authentication/permissions.enum'; +import { DADOSFERA_MODULES_KEYS, PERMISSIONS_GROUPS } from '../../authentication/permissions.enum'; import { ElasticsearchService } from '../../services/elasticsearch'; import { DynamoDBService, ReferenceColumn } from '../../services/dynamodb'; import { CustomersService } from '../customers/customers.service'; @@ -49,6 +50,7 @@ type RenameTablesBody = { @ApiTags('Platform API') @Controller('platform') +@RequireModule(DADOSFERA_MODULES_KEYS.COLLECT) export class PlatformApiController { private logger: any;