Files
pad/internal/models
xarmian 0fb8042ad2 feat: permission-filtered aggregates for all data endpoints
Wire collection visibility filtering into all data endpoints so
members with "specific" access only see items in their visible
collections (TASK-414).

Core:
- ItemListParams.CollectionIDs: SQL-level IN() filter on item queries
- SearchParams.CollectionIDs: same for FTS search queries
- visibleCollectionIDs() server helper computes once per request
- isCollectionVisible() for single-item gating checks

Filtered endpoints:
- ListItems / ListCollectionItems: SQL-level collection ID filter
- ListCollections: post-filter by visible set
- Search: collection ID filter on both ref-lookup and FTS branches
- Dashboard: all ListItems calls scoped, activity post-filtered
- Activity feed: post-filtered by collection slug visibility
- Collection items: gate check before listing

Admins and "all access" members see everything (nil = no filter).
The filtering is a no-op until a member's collection_access is set
to "specific" via the management UI (TASK-416).
2026-04-11 01:20:05 +00:00
..
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00