From 94aa9a8b1befdb0eaf1bdd4234e972953e26109a Mon Sep 17 00:00:00 2001 From: sebastianMindee <130448732+sebastianMindee@users.noreply.github.com> Date: Mon, 20 Jul 2026 17:48:41 +0200 Subject: [PATCH 1/2] :sparkles: add webhook error response --- src/V2/Parsing/FailedInferenceResponse.php | 61 +++++++++++++++++++ .../Parsing/FailedInferenceResponseTest.php | 50 +++++++++++++++ tests/resources | 2 +- 3 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 src/V2/Parsing/FailedInferenceResponse.php create mode 100644 tests/V2/Parsing/FailedInferenceResponseTest.php diff --git a/src/V2/Parsing/FailedInferenceResponse.php b/src/V2/Parsing/FailedInferenceResponse.php new file mode 100644 index 00000000..bbf324ee --- /dev/null +++ b/src/V2/Parsing/FailedInferenceResponse.php @@ -0,0 +1,61 @@ +> $rawResponse Raw server response array. + * @throws Exception if the date can't be constructed. + */ + public function __construct(array $rawResponse) + { + parent::__construct($rawResponse); + + $this->inferenceId = $rawResponse["inference_id"]; + $this->modelId = $rawResponse["model_id"]; + $this->fileName = $rawResponse["file_name"]; + $this->fileAlias = $rawResponse["file_alias"]; + $this->error = new ErrorResponse($rawResponse["error"]); + $this->createdAt = new DateTimeImmutable($rawResponse["created_at"]); + } +} diff --git a/tests/V2/Parsing/FailedInferenceResponseTest.php b/tests/V2/Parsing/FailedInferenceResponseTest.php new file mode 100644 index 00000000..44914dcb --- /dev/null +++ b/tests/V2/Parsing/FailedInferenceResponseTest.php @@ -0,0 +1,50 @@ +inferenceId); + self::assertSame("default_sample.jpg", $response->fileName); + self::assertSame("dummy-alias.jpg", $response->fileAlias); + self::assertInstanceOf(DateTimeImmutable::class, $response->createdAt); + self::assertNotNull($response->error); + self::assertInstanceOf(ErrorResponse::class, $response->error); + self::assertSame(500, $response->error->status); + self::assertSame("500-012", $response->error->code); + } +} diff --git a/tests/resources b/tests/resources index 13093f3a..e41ab97c 160000 --- a/tests/resources +++ b/tests/resources @@ -1 +1 @@ -Subproject commit 13093f3a48de212ef26889df71199c1a2a9d1478 +Subproject commit e41ab97c2833f15ea5c4edf221c2d197d212f632 From 24b31b569bacadbb3760caa6a4b230dfb9ecf51b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?ianar=C3=A9=20s=C3=A9vi?= Date: Mon, 20 Jul 2026 22:39:25 +0200 Subject: [PATCH 2/2] move to inference dir --- .../{ => Inference}/FailedInferenceResponse.php | 3 +-- tests/V2/Parsing/FailedInferenceResponseTest.php | 11 +---------- 2 files changed, 2 insertions(+), 12 deletions(-) rename src/V2/Parsing/{ => Inference}/FailedInferenceResponse.php (95%) diff --git a/src/V2/Parsing/FailedInferenceResponse.php b/src/V2/Parsing/Inference/FailedInferenceResponse.php similarity index 95% rename from src/V2/Parsing/FailedInferenceResponse.php rename to src/V2/Parsing/Inference/FailedInferenceResponse.php index bbf324ee..b64a791e 100644 --- a/src/V2/Parsing/FailedInferenceResponse.php +++ b/src/V2/Parsing/Inference/FailedInferenceResponse.php @@ -2,12 +2,11 @@ declare(strict_types=1); -namespace Mindee\V2\Parsing; +namespace Mindee\V2\Parsing\Inference; use DateTimeImmutable; use Exception; use Mindee\V2\Parsing\Error\ErrorResponse; -use Mindee\V2\Parsing\Inference\BaseResponse; /** * Webhook payload returned when an inference fails before producing a result. diff --git a/tests/V2/Parsing/FailedInferenceResponseTest.php b/tests/V2/Parsing/FailedInferenceResponseTest.php index 44914dcb..551d79bf 100644 --- a/tests/V2/Parsing/FailedInferenceResponseTest.php +++ b/tests/V2/Parsing/FailedInferenceResponseTest.php @@ -5,17 +5,8 @@ namespace V2\Parsing; use DateTimeImmutable; -use Mindee\Geometry\Point; -use Mindee\Input\LocalResponse; -use Mindee\V2\Parsing\Error\ErrorItem; use Mindee\V2\Parsing\Error\ErrorResponse; -use Mindee\V2\Parsing\FailedInferenceResponse; -use Mindee\V2\Parsing\Inference\Field\FieldConfidence; -use Mindee\V2\Parsing\Inference\Field\ListField; -use Mindee\V2\Parsing\Inference\Field\ObjectField; -use Mindee\V2\Parsing\Inference\Field\SimpleField; -use Mindee\V2\Parsing\Job\JobResponse; -use Mindee\V2\Product\Extraction\ExtractionResponse; +use Mindee\V2\Parsing\Inference\FailedInferenceResponse; use PHPUnit\Framework\TestCase; use TestingUtilities;