diff --git a/src/modules/transformations/transformations.controller.ts b/src/modules/transformations/transformations.controller.ts index 07995c2..6c8def6 100644 --- a/src/modules/transformations/transformations.controller.ts +++ b/src/modules/transformations/transformations.controller.ts @@ -11,34 +11,19 @@ import { import { ApiTags } from '@nestjs/swagger'; import { TransformationsClientService } from './client.service'; import { IIdRequest } from './interfaces'; -import { AuthenticateCondition } from 'src/authentication/authentication.decorator'; +import { + AuthenticateCondition, + Authenticated, + RequireSomePermission, +} from 'src/authentication/authentication.decorator'; import { PERMISSIONS_GROUPS } from '../../authentication/permissions.enum'; import { TransformationsService } from './transformations.service'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { RequestUser, User } from 'src/authentication/user.decorator'; - +const pipelinePermissions = PERMISSIONS_GROUPS.PIPELINE.permissions; @ApiTags('Transformations') @Controller('transformations') -@AuthenticateCondition((req, user) => { - let action; - - switch (req.method) { - case 'POST': - action = 'CREATE'; - break; - - case 'PUT': - action = 'UPDATE'; - break; - - default: - action = req.method; - } - - return user.permissions.includes( - PERMISSIONS_GROUPS.TRANSFORMATIONS.permissions[action].seqid, - ); -}) +@Authenticated() export class TransformationsController { logger: DadosferaLogger; constructor( @@ -50,6 +35,7 @@ export class TransformationsController { } @Post() + @RequireSomePermission(pipelinePermissions.CREATE, pipelinePermissions.UPDATE) async create(@Body() createTransformationDto) { this.logger.info(`/transformation - ON CREATE ROUTE`, { user: createTransformationDto.info.user_id, @@ -67,6 +53,7 @@ export class TransformationsController { } @Get() + @RequireSomePermission(pipelinePermissions.GET) async findAll(@Body() data: IIdRequest) { this.logger.info(`/transformation - ON Find All ROUTE`, { user: data.info.user_id, @@ -82,6 +69,7 @@ export class TransformationsController { } @Get('/:id') + @RequireSomePermission(pipelinePermissions.GET) async findOne(@Body() data, @Param() params) { const { id } = params; this.logger.info(`/transformation/${id} - ON Find One ROUTE`, { @@ -98,6 +86,7 @@ export class TransformationsController { } @Put(':id') + @RequireSomePermission(pipelinePermissions.CREATE, pipelinePermissions.UPDATE) async update( @User() user: RequestUser, @Body() updateTransformationDto, @@ -120,6 +109,7 @@ export class TransformationsController { } @Delete(':id') + @RequireSomePermission(pipelinePermissions.CREATE, pipelinePermissions.UPDATE) async delete(@Body() data, @Param() params) { const { id } = params; this.logger.info(`/transformation/${id} - ON DELETE ROUTE`, {