This commit is contained in:
Alex Holliday
2025-07-21 10:34:16 -07:00
parent 846564a17e
commit bfa6832beb
83 changed files with 338 additions and 1249 deletions
+9 -53
View File
@@ -10,67 +10,31 @@ class AppError extends Error {
}
}
export const createError = (
message,
status = 500,
service = null,
method = null,
details = null
) => {
export const createError = (message, status = 500, service = null, method = null, details = null) => {
return new AppError(message, status, service, method, details);
};
export const createValidationError = (
message,
details = null,
service = null,
method = null
) => {
export const createValidationError = (message, details = null, service = null, method = null) => {
return createError(message, 422, service, method, details);
};
export const createAuthError = (
message,
details = null,
service = null,
method = null
) => {
export const createAuthError = (message, details = null, service = null, method = null) => {
return createError(message, 401, service, method, details);
};
export const createForbiddenError = (
message,
details = null,
service = null,
method = null
) => {
export const createForbiddenError = (message, details = null, service = null, method = null) => {
return createError(message, 403, service, method, details);
};
export const createNotFoundError = (
message,
details = null,
service = null,
method = null
) => {
export const createNotFoundError = (message, details = null, service = null, method = null) => {
return createError(message, 404, service, method, details);
};
export const createConflictError = (
message,
details = null,
service = null,
method = null
) => {
export const createConflictError = (message, details = null, service = null, method = null) => {
return createError(message, 409, service, method, details);
};
export const createServerError = (
message,
details = null,
service = null,
method = null
) => {
export const createServerError = (message, details = null, service = null, method = null) => {
return createError(message, 500, service, method, details);
};
@@ -81,12 +45,7 @@ export const asyncHandler = (fn, serviceName, methodName) => {
} catch (error) {
// Handle validation errors
if (error.isJoi || error.name === "ValidationError") {
const validationError = createValidationError(
error.message,
error.details,
serviceName,
methodName
);
const validationError = createValidationError(error.message, error.details, serviceName, methodName);
return next(validationError);
}
@@ -107,10 +66,7 @@ export const asyncHandler = (fn, serviceName, methodName) => {
}
// For unknown errors, create a server error
const appError = createServerError(
error.message || "An unexpected error occurred",
{ originalError: error.message, stack: error.stack }
);
const appError = createServerError(error.message || "An unexpected error occurred", { originalError: error.message, stack: error.stack });
appError.service = serviceName;
appError.method = methodName;
appError.stack = error.stack; // Preserve original stack