Skip to content

Commit

Permalink
fix(redwood): fix incorrect error type thrown (#1659)
Browse files Browse the repository at this point in the history
  • Loading branch information
ymc9 authored Aug 24, 2024
1 parent 32c258c commit 1d81325
Show file tree
Hide file tree
Showing 5 changed files with 6 additions and 7 deletions.
5 changes: 2 additions & 3 deletions packages/misc/redwood/src/graphql.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { ForbiddenError } from '@redwoodjs/graphql-server';
import { ForbiddenError, ValidationError } from '@redwoodjs/graphql-server';
import {
CrudFailureReason,
EnhancementOptions,
PrismaErrorCode,
ValidationError,
enhance,
isPrismaClientKnownRequestError,
type AuthUser,
Expand Down Expand Up @@ -47,7 +46,7 @@ export function useZenStack<PrismaClient extends object>(

// Transforms ZenStack errors into appropriate RedwoodJS errors
function transformError(error: unknown) {
if (isPrismaClientKnownRequestError(error) && error.code === PrismaErrorCode.CONSTRAINED_FAILED) {
if (isPrismaClientKnownRequestError(error) && error.code === PrismaErrorCode.CONSTRAINT_FAILED) {
if (
error.meta?.reason === CrudFailureReason.ACCESS_POLICY_VIOLATION ||
error.meta?.reason === CrudFailureReason.RESULT_NOT_READABLE
Expand Down
2 changes: 1 addition & 1 deletion packages/runtime/src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export enum PrismaErrorCode {
/**
* A constraint failed on the database
*/
CONSTRAINED_FAILED = 'P2004',
CONSTRAINT_FAILED = 'P2004',

/**
* The required connected records were not found
Expand Down
2 changes: 1 addition & 1 deletion packages/runtime/src/enhancements/policy/policy-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1215,7 +1215,7 @@ export class PolicyUtil extends QueryUtils {
reason?: CrudFailureReason,
zodErrors?: ZodError
) {
const args: any = { clientVersion: getVersion(), code: PrismaErrorCode.CONSTRAINED_FAILED, meta: {} };
const args: any = { clientVersion: getVersion(), code: PrismaErrorCode.CONSTRAINT_FAILED, meta: {} };
if (reason) {
args.meta.reason = reason;
}
Expand Down
2 changes: 1 addition & 1 deletion packages/server/src/api/rest/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1589,7 +1589,7 @@ class RequestHandler extends APIHandlerBase {

private handlePrismaError(err: unknown) {
if (isPrismaClientKnownRequestError(err)) {
if (err.code === PrismaErrorCode.CONSTRAINED_FAILED) {
if (err.code === PrismaErrorCode.CONSTRAINT_FAILED) {
if (err.meta?.reason === CrudFailureReason.DATA_VALIDATION_VIOLATION) {
return this.makeError(
'validationError',
Expand Down
2 changes: 1 addition & 1 deletion packages/server/src/api/rpc/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { logError, registerCustomSerializers } from '../utils';
registerCustomSerializers();

const ERROR_STATUS_MAPPING: Record<string, number> = {
[PrismaErrorCode.CONSTRAINED_FAILED]: 403,
[PrismaErrorCode.CONSTRAINT_FAILED]: 403,
[PrismaErrorCode.REQUIRED_CONNECTED_RECORD_NOT_FOUND]: 404,
[PrismaErrorCode.DEPEND_ON_RECORD_NOT_FOUND]: 404,
};
Expand Down

0 comments on commit 1d81325

Please sign in to comment.