summaryrefslogtreecommitdiff
path: root/src/Errors/ErrorResponse.php
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2025-08-14 14:37:56 +0200
committerDaniel Weipert <git@mail.dweipert.de>2025-08-14 14:37:56 +0200
commitc135fcf9041c604b32827a1cb027010bca5915ab (patch)
tree95a2331d5f0bc4a736aa0e716330c39b3fa1ea26 /src/Errors/ErrorResponse.php
parent3f4b51b99a4f4dc41dbdce7f34afe7e15d3d426e (diff)
POST login possible
Diffstat (limited to 'src/Errors/ErrorResponse.php')
-rw-r--r--src/Errors/ErrorResponse.php30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/Errors/ErrorResponse.php b/src/Errors/ErrorResponse.php
new file mode 100644
index 0000000..6248659
--- /dev/null
+++ b/src/Errors/ErrorResponse.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace App\Errors;
+
+use Symfony\Component\HttpFoundation\JsonResponse;
+
+class ErrorResponse extends JsonResponse
+{
+ public function __construct(ErrorCode $code, string $message, int $httpCode)
+ {
+ parent::__construct(
+ [
+ "errcode" => $code,
+ "error" => $message,
+ ],
+ $httpCode
+ );
+ }
+
+ public static function fromException(Exception $exception): self
+ {
+ $self = new self($exception->getErrorCode(), $exception->getMessage(), $exception->getCode());
+
+ $self->setData(
+ json_decode($self->data, true) + $exception->getAdditionalData()
+ );
+
+ return $self;
+ }
+}