Better inputs error codes

This commit is contained in:
Gabriel Rosa
2022-10-31 16:20:11 -03:00
parent a26e88d2b6
commit aadb3fcdee
6 changed files with 45 additions and 27 deletions
+13 -3
View File
@@ -7,6 +7,7 @@ import {
Param,
Patch,
Post,
UseFilters,
} from '@nestjs/common';
import { InputsService } from './inputs.service';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
@@ -26,8 +27,11 @@ import {
import { UpdateInputRequest } from './dtos/old_interfaces';
import { RequestUser, User } from 'src/authentication/user.decorator';
import { Info } from '@dadosfera/protospack-v2/dist/lib/Input/interfaces/entities';
import ErrorBuilder from 'src/utils/ErrorBuilder';
import ErrorCodes from 'src/utils/errorCodes';
import { GrpcToHttpExceptionFilter } from 'src/error/grpc-to-http-exception.filter';
@ApiTags('inputs')
@ApiTags('Inputs')
@Controller('inputs')
@AuthenticateCondition((req, user) => {
switch (req.method) {
@@ -38,7 +42,9 @@ import { Info } from '@dadosfera/protospack-v2/dist/lib/Input/interfaces/entitie
user.permissions.includes(
PERMISSIONS_GROUPS.PIPELINE.permissions.CREATE.seqid,
) ||
user.permissions.includes(PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE.seqid)
user.permissions.includes(
PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE.seqid,
)
);
default:
@@ -49,10 +55,13 @@ import { Info } from '@dadosfera/protospack-v2/dist/lib/Input/interfaces/entitie
user.permissions.includes(
PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE.seqid,
) ||
user.permissions.includes(PERMISSIONS_GROUPS.PIPELINE.permissions.GET.seqid)
user.permissions.includes(
PERMISSIONS_GROUPS.PIPELINE.permissions.GET.seqid,
)
);
}
})
@UseFilters(new GrpcToHttpExceptionFilter())
export class InputsController {
logger: DadosferaLogger;
constructor(
@@ -90,6 +99,7 @@ export class InputsController {
@Post('/test-connection/get-columns')
@ApiOkResponse({ type: TestConnectionGetColumnsRes })
async getColumns(@Body() data: TestConnectionGetColumnsReq) {
throw new ErrorBuilder(ErrorCodes.NOT_IMPLEMENTED);
this.logger.info(
`/test-connection/get-columns - ON TEST CONNECTION GET COLUMNS ROUTE`,
{
+7 -22
View File
@@ -72,17 +72,6 @@ export class InputsService {
objectCamelToSnake(createInputResponse);
return createInputResponse;
},
findOne: async (data: IIdRequest) => {
this.logger.info('InputClientService - FindOne');
const findOneInputResponse = await lastValueFrom(
this.inputReadService.InputFindOne(data),
).catch((e) => {
this.logger.error(e.details);
throw new HttpException(e.details, HttpStatus.INTERNAL_SERVER_ERROR);
});
objectCamelToSnake(findOneInputResponse);
return findOneInputResponse;
},
update: async (updateInputDTO: UpdateInputRequest) => {
this.logger.info('InputClientService - Update');
const updateInputResponse = await lastValueFrom(
@@ -231,17 +220,13 @@ export class InputsService {
}
async findOne(idRequest: IIdRequest) {
try {
const findOneInputResponse: any = await this.OLD_inputClient.findOne(
idRequest,
);
findOneInputResponse.input = this.adjustInputPayload(
findOneInputResponse.input,
);
return findOneInputResponse;
} catch (err) {
throw new HttpException(err.message, HttpStatus.NOT_FOUND);
}
const findOneInputResponse: any = await lastValueFrom(
this.inputReadService.InputFindOne(idRequest),
);
findOneInputResponse.input = this.adjustInputPayload(
findOneInputResponse.input,
);
return findOneInputResponse;
}
async update(id: string, data, info: Info) {
@@ -1,6 +1,5 @@
import {
BadRequestException,
HttpException,
Inject,
InternalServerErrorException,
OnModuleInit,
+15
View File
@@ -267,6 +267,21 @@ export function EnrichErrorCode(code: string) {
'Houve um erro interno ao buscar por sua pipeline. Caso o erro persista, entre em contato com o suporte',
code,
};
case ErrorCodes.INPUT.NOT_FOUND:
return {
statusCode: HttpStatus.NOT_FOUND,
error: 'Oops... O recurso que você buscou não está disponível',
message:
'Não encontramos o recurso buscado. Caso o erro persista, entre em contato com o suporte',
code,
};
case ErrorCodes.NOT_IMPLEMENTED:
return {
statusCode: HttpStatus.NOT_FOUND,
error: 'Oops... O serviço que você está tentando acessar não existe!',
message: 'Caso o erro persista, entre em contato com o suporte',
code,
};
case ErrorCodes.INTERNAL:
case ErrorCodes.UNKNOWN:
default:
+9
View File
@@ -57,10 +57,17 @@ const PIPELINE = {
PLATFORM_BAD_REQUEST: 'PIPELINE.PLATFORM_BAD_REQUEST',
PLATFORM_UNKNOWN: 'PIPELINE.PLATFORM_UNKNOWN',
};
const INPUT = {
NOT_FOUND: 'INPUT.NOT_FOUND',
};
const TRANSFORMATION = {
NOT_FOUND: 'TRANSFORMATION.NOT_FOUND',
};
const ErrorCodes = {
UNKNOWN: 'UNKNOWN',
RATE_LIMIT: 'RATE_LIMIT',
INTERNAL: 'INTERNAL',
NOT_IMPLEMENTED: 'NOT_IMPLEMENTED',
AUTH,
ROLE,
TERMS_OF_USE,
@@ -68,6 +75,8 @@ const ErrorCodes = {
CUSTOMER,
CONNECTION_TEST,
PIPELINE,
INPUT,
TRANSFORMATION,
};
export default ErrorCodes;
+1 -1
View File
File diff suppressed because one or more lines are too long