Files
id/composer.json
T
Maurice PreußandClaude Opus 5.5 8de737641e App subscriptions: manage a user's subscriptions with the app's own token
- $user->appSubscriptions(): create (idempotency_key), find, all, checkout, revoke, pause,
  resume, update against /v1/client/subscriptions with a client credentials token, so apps don't
  depend on the user's login
- user id from the billable's anikeen_id (AnikeenId::useUserIdField())
- ApiException with status, stable error code, isNotFound/isConflict/isTemporary; network
  errors no longer escape as raw Guzzle exceptions
- rejected app tokens are renewed once; asApp() never changes the shared client's token
- tests (testbench + Guzzle mock) and CI

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:02:16 +01:00

55 lines
1.3 KiB
JSON

{
"name": "anikeen/id",
"description": "PHP AnikeenId API Client for Laravel 10+",
"license": "MIT",
"authors": [
{
"name": "René Preuß",
"email": "rene@anikeen.com"
},
{
"name": "Maurice Preuß",
"email": "maurice@anikeen.com"
}
],
"require": {
"php": "^8.1",
"ext-json": "*",
"illuminate/support": "^10.0|^11.0|^12.0|^13.0",
"illuminate/console": "^10.0|^11.0|^12.0|^13.0",
"guzzlehttp/guzzle": "^6.3|^7.0",
"socialiteproviders/manager": "^3.4|^4.0.1",
"firebase/php-jwt": "^7.0"
},
"require-dev": {
"phpunit/phpunit": "^11.0|^12.0",
"laravel/framework": "^10.0|^11.0|^12.0|^13.0",
"orchestra/testbench": "^9.0|^10.0|^11.0"
},
"autoload": {
"psr-4": {
"Anikeen\\Id\\": "src/Id",
"Anikeen\\Support\\": "src/Support"
}
},
"autoload-dev": {
"psr-4": {
"Anikeen\\Id\\Tests\\": "tests/Id"
}
},
"scripts": {
"test": "vendor/bin/phpunit",
"docs": "php generator/generate-docs.php"
},
"extra": {
"laravel": {
"providers": [
"Anikeen\\Id\\Providers\\AnikeenIdServiceProvider"
],
"aliases": {
"AnikeenId": "Anikeen\\Id\\Facades\\AnikeenId"
}
}
}
}