diff --git a/conditions.lisp b/conditions.lisp index f16464a..d010aa6 100644 --- a/conditions.lisp +++ b/conditions.lisp @@ -109,39 +109,47 @@ (not-found-error (e) (api-output `(("status" . "error") ("message" . ,(error-message e))) + :message (error-message e) :status 404)) (authentication-error (e) (api-output `(("status" . "error") ("message" . ,(error-message e))) + :message (error-message e) :status 401)) (authorization-error (e) (api-output `(("status" . "error") ("message" . ,(error-message e))) + :message (error-message e) :status 403)) (validation-error (e) (api-output `(("status" . "error") ("message" . ,(error-message e))) + :message (error-message e) :status 400)) (database-error (e) (format t "Database error: ~a~%" e) (api-output `(("status" . "error") ("message" . "Database operation failed")) + :message "Database operation failed" :status 500)) (asteroid-stream-error (e) (format t "Stream error: ~a~%" e) (api-output `(("status" . "error") ("message" . "Stream operation failed")) + :message "Stream operation failed" :status 500)) (asteroid-error (e) (format t "Asteroid error: ~a~%" e) (api-output `(("status" . "error") ("message" . ,(error-message e))) + :message (error-message e) :status 500)) (error (e) (format t "Unexpected error: ~a~%" e) (api-output `(("status" . "error") ("message" . "An unexpected error occurred")) - :status 500)))) + :status 500 + :message "An unexpected error occurred")))) (defmacro with-db-error-handling (operation &body body) "Wrap database operations with error handling.