fix(pipelines): 任务脚本不得为空

This commit is contained in:
Ivan Li
2021-07-10 18:50:01 +08:00
parent c3c73fbe65
commit ec351d12f2
5 changed files with 27 additions and 5 deletions

View File

@ -6,13 +6,18 @@ import {
HttpStatus,
} from '@nestjs/common';
import { ApolloError } from 'apollo-server-errors';
import { PinoLogger, InjectPinoLogger } from 'nestjs-pino';
@Catch(HttpException)
export class HttpExceptionFilter implements ExceptionFilter {
constructor(
@InjectPinoLogger(HttpExceptionFilter.name)
private readonly logger: PinoLogger,
) {}
catch(exception: HttpException, host: ArgumentsHost) {
switch (host.getType<'http' | 'graphql' | string>()) {
case 'graphql': {
const message = exception.message;
const errorName = exception.message;
const extensions: Record<string, any> = {};
const err = exception.getResponse();
if (typeof err === 'string') {
@ -21,8 +26,10 @@ export class HttpExceptionFilter implements ExceptionFilter {
Object.assign(extensions, (err as any).extension);
extensions.message = (err as any).message;
}
extensions.error = errorName;
this.logger.error(extensions);
return new ApolloError(
message,
extensions.message,
exception.getStatus().toString(),
extensions,
);