Utility package that finds the appropriate Http Status Code and message for Prisma exceptions when using Prisma in Backend Framework
npm install prisma-common-error-handlenpm i prisma-common-error-handle
PrismaClientKnowRequestError.
findPrismaErrorInfo() function provides specific error messages and HTTP status Code that fit each Prisma error.
PrismaCommonErrCode enumeration contains a frequently used Prisma error code.
PrismaClientKnowRequestError.
PrismaClientKnownRequestError
typescript
import { ArgumentsHost, Catch } from "@nestjs/common";
import { BaseExceptionFilter } from "@nestjs/core";
import { PrismaClientKnownRequestError } from "@prisma/client";
import { Request, Response } from "express";
import { findPrismaErrorInfo } from "prisma-common-error-handle";
@Catch(PrismaClientKnownRequestError)
export class PrismaClientExceptionFilter extends BaseExceptionFilter {
catch(exception: PrismaClientKnownRequestError, host: ArgumentsHost) {
const ctx = host.switchToHttp();
const response = ctx.getResponse();
const request = ctx.getRequest();
const { message, status } = findPrismaErrorInfo(exception);
response.status(status).json({
message,
statusCode: status,
timestamp: new Date().toISOString(),
path: request.url,
});
}
}
`
- simple example
- Exception type must be PrismaClientKnownRequestError
`typescript
const { message, status } = findPrismaErrorInfo(exception);
``