mirror of
https://github.com/anikeen-com/id.git
synced 2026-11-04 22:59:41 +00:00
Throw ApiException for requests with the user's token too
Requests with the user's token threw a bare ResourceException with a message like "… for resource [Anikeen\Id\Resources\Order]" and no error code, while app requests threw ApiException. Both throw ApiException now: status (also getCode()), Anikeen ID's error code and message, isNotFound(), isConflict(), isTemporary(). Failed lists throw CollectionException, now a subclass of ApiException. A request without a response (connection refused, timeout) throws ApiException with status 0 instead of a Guzzle exception. ApiException extends ResourceException, so existing catch blocks keep working. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a4345e72ec
commit
57ce0b4a79
8 files changed
+196
-33
No files matched your search
@@ -30,13 +30,13 @@ CI (`.github/workflows/tests.yml`) runs PHPUnit on PHP 8.3 and 8.4.
|
||||
attributes and break `save()`). Add a new cache property there when a concern caches.
|
||||
- `src/Id/Concerns/` – one trait per API area. Traits on `AnikeenId` act as the app/client;
|
||||
traits on `Billable` act for one user.
|
||||
- `src/Id/Resources/` – `BaseResource` (single object, throws `ResourceException`, or
|
||||
`ConfirmationRequiredException` for `confirmation_required`) and `BaseCollection` (lists,
|
||||
lazily built via `::builder()`).
|
||||
- `src/Id/Resources/` – `BaseResource` (single object) and `BaseCollection` (lists, built via
|
||||
`::builder()`). Failed requests throw `ApiException::fromResult()` (`CollectionException` for
|
||||
lists), no response `::unreachable()`, `confirmation_required` a `ConfirmationRequiredException`.
|
||||
All extend `ResourceException`.
|
||||
- `src/Id/Resources/App*` – "app" variants that use the app's own client-credentials token
|
||||
(`AnikeenId::asApp()`, `Support/AppRequest`) instead of the user's token, for trusted apps.
|
||||
They throw `Exceptions/ApiException` with a stable `error` code and must not send any request
|
||||
until a method is called.
|
||||
They must not send any request until a method is called.
|
||||
- `src/Id/Auth/`, `Providers/AnikeenIdServiceProvider.php`, `Http/Middleware/` – the `anikeen`
|
||||
guard driver and user provider, JWT validation (`Helpers/JwtParser.php` with the bundled
|
||||
`oauth-public*.key`), scope middleware.
|
||||
|
||||
Reference in new issue
Block a user