This commit is contained in:
2023-06-12 20:01:07 +02:00
parent edc42e3750
commit 59b4eb582e
43 changed files with 1799 additions and 245 deletions

37
src/exception.filter.ts Normal file
View File

@@ -0,0 +1,37 @@
import {
ExceptionFilter,
Catch,
ArgumentsHost,
HttpException,
} from '@nestjs/common';
import { Request, Response } from 'express';
@Catch(HttpException)
export class HttpExceptionFilter implements ExceptionFilter {
catch(exception: HttpException, host: ArgumentsHost) {
const ctx = host.switchToHttp();
const response = ctx.getResponse<Response>();
const request = ctx.getRequest<Request>();
const status = exception.getStatus();
if (status === 400) {
const errorsResponse = {
errorsMessages: [],
};
const responseBody: any = exception.getResponse();
if (typeof responseBody.message === 'object') {
responseBody.message.forEach((e) =>
errorsResponse.errorsMessages.push(e),
);
} else {
errorsResponse.errorsMessages.push(responseBody.message);
}
response.status(status).json(errorsResponse);
} else {
response.status(status).json({
statusCode: status,
timestamp: new Date().toISOString(),
path: request.url,
});
}
}
}