Skip to content

Error Model

  • Error names are centralized in backend/src/Shared/Errors.ts.
  • Errors are tagged by layer (domain, application, infrastructure, presentation, shared).
  • Middleware maps error names to HTTP status and stable JSON payload.
{
"code": "VALIDATION_FAILED",
"message": "Request validation failed",
"error": "walletId is required",
"errors": [{ "path": "walletId", "message": "walletId is required" }]
}
  • 400: invalid payload, missing fields, invalid identifiers.
  • 401: unauthenticated or invalid token.
  • 403: permission/ownership violations.
  • 404: missing resource.
  • 409: unique/constraint conflicts.
  • 422: validation failures.
  • 500+: internal/infrastructure/provider failures.
  • Error definitions and defaults: backend/src/Shared/Errors.ts.
  • Serialization and status mapping: backend/src/Presentation/Middlewares/errorsMiddleware.ts.