• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ilpanich / axiam-php-sdk / 29513547170
89%

Build:
DEFAULT BRANCH: main
Ran 16 Jul 2026 03:58PM UTC
Jobs 1
Files 37
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 Jul 2026 03:58PM UTC coverage: 90.158% (+0.9%) from 89.29%
29513547170

push

github

web-flow
feat(attributes): add #[RequireAccess]/#[RequireAuth]/#[RequireRole] with Laravel + Symfony enforcement (CONTRACT §11) (#5)

* docs(contract): sync CONTRACT.md §11 declarative authorization helpers

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5foj8NVCeS9qUW94kJ13g

* feat(attributes): add #[RequireAccess]/#[RequireAuth]/#[RequireRole] with Laravel + Symfony enforcement (CONTRACT §11)

Adds the CONTRACT.md §11 declarative authorization layer on top of the existing
§10 middleware/subscriber guard: three framework-agnostic PHP 8 attributes
(Axiam\Sdk\Attributes\RequireAuth/RequireAccess/RequireRole) and one shared
enforcement service (Axiam\Sdk\AccessEnforcer) implementing resource resolution,
subject propagation, and the 401/400/403/503 error-mapping table exactly once.

Both framework bridges delegate to it: Axiam\Sdk\Symfony\AxiamAccessAttributeListener
(a kernel.controller listener reflecting the resolved controller for the
attributes) and Axiam\Sdk\Laravel\AxiamAccessMiddleware (the axiam.access route
middleware, supporting both the attribute style and a string-param style).

AxiamClient::checkAccess() (and AuthzDispatcher/AuthzRestClient underneath) gained
an additive, optional subjectId parameter so the shared enforcement service can
check the REQUEST's authenticated user rather than whichever session the calling
AxiamClient instance itself holds (CONTRACT.md §11.2.2) — existing call sites are
unaffected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5foj8NVCeS9qUW94kJ13g

---------

Co-authored-by: Claude <noreply@anthropic.com>

216 of 231 new or added lines in 9 files covered. (93.51%)

1026 of 1138 relevant lines covered (90.16%)

12.11 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
91.78
src/Laravel/AxiamAccessMiddleware.php
5
90.0
src/Symfony/AxiamAccessAttributeListener.php
3
96.59
src/AccessEnforcer.php
1
20.41
0.0% src/AuthzDispatcher.php
Jobs
ID Job ID Ran Files Coverage
1 29513547170.1 16 Jul 2026 03:58PM UTC 37
90.16
GitHub Action Run
Source Files on build 29513547170
  • Tree
  • List 37
  • Changed 5
  • Source Changed 5
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29513547170
  • b4ecc226 on github
  • Prev Build on main (#29417379862)
  • Next Build on main (#29527017681)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc