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

safe-global / safe-client-gateway / 36992672606
90%

Build:
DEFAULT BRANCH: main
Ran 02 Oct 2026 10:07AM UTC
Jobs 2
Files 1043
Run time 4min
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

02 Oct 2026 09:56AM UTC coverage: 89.481% (+0.03%) from 89.455%
36992672606

push

github

web-flow
feat(entitlements): return entitlements for all the caller's workspaces (#3534)

Adds `GET /v1/spaces/entitlements`, which returns the entitlements of every workspace the caller is an `ACTIVE` member of in one request, keyed by workspace UUID. Each value is exactly what `GET /v1/spaces/:spaceId/entitlements` returns for that workspace. Workspaces the caller is only invited to are left out, and a caller in no workspace gets `{}`. This is the entitlements counterpart of `GET /v1/spaces/safes`.

Authorization (R-024): there is no `assertMember`, because there is no single workspace to check. The route is behind `AuthGuard`, the caller's id comes from the verified JWT, and the membership query (`user: Equal(userId)`, `status: 'ACTIVE'`) is what limits the result to the caller's own workspaces. The service and controller tests cover a pending invite and another user's workspace being excluded.

Reads are batched: one membership query, then features, active subscriptions, usage counters and Safe seat counts are each read once for every workspace. The query count stays the same however many workspaces the caller has. The response is not paginated, matching `GET /v1/spaces/safes`.

---------

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

4575 of 5369 branches covered (85.21%)

Branch coverage included in aggregate %.

70 of 71 new or added lines in 4 files covered. (98.59%)

11656 of 12770 relevant lines covered (91.28%)

508.88 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
93.94
-0.18% src/modules/entitlements/domain/space-feature-usage.repository.ts
Jobs
ID Job ID Ran Files Coverage
1 run-unit-tests - 36992672606.1 02 Oct 2026 10:07AM UTC 1043
67.08
GitHub Action Run
2 run-integration-tests - 36992672606.2 02 Oct 2026 10:08AM UTC 1043
64.85
GitHub Action Run
Source Files on build 36992672606
  • Tree
  • List 1043
  • Changed 8
  • Source Changed 7
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #36992672606
  • ecb600a7 on github
  • Prev Build on main (#36992366810)
  • Next Build on main (#37004366400)
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