feat(04-01): rewrite /api/mobile/tickets with cursor pagination and exported interfaces

- Replace page/offset pagination with opaque base64 cursor (last_activity_date, id)
- Export MobileTicket and MobileTicketListResponse interfaces for Plan 02 import
- Add requireAuth() gate (T-04-03: legacy route lacked auth)
- Server-side limit cap at 25 rows (D-11, T-04-04)
- Default status filter [1,8,7] when no status param supplied (matches legacy t.status != 5)
- Preserve getMobileCompanyFilter() helper verbatim
- Support status/priority arrays, queue, mine, and search filters
- Cursor seek predicate: (last_activity_date, id) < (cursor) for stable keyset order
This commit is contained in:
lorentz 2026-05-03 17:59:54 -04:00
parent 77073bac97
commit 6268d1fe37
51 changed files with 580 additions and 9642 deletions

View file

@ -1,31 +0,0 @@
{
"name": "Pulse",
"short_name": "Pulse",
"description": "Wulf Consulting operations console — tickets, RMM, backups, and analytics on the go.",
"start_url": "/mobile",
"scope": "/",
"display": "standalone",
"orientation": "portrait",
"theme_color": "#0075AD",
"background_color": "#FFFFFF",
"icons": [
{
"src": "/wulff-logo.png",
"sizes": "any",
"type": "image/png",
"purpose": "any"
},
{
"src": "/branding/wulf-mark.png",
"sizes": "any",
"type": "image/png",
"purpose": "any"
},
{
"src": "/favicon.png",
"sizes": "any",
"type": "image/png",
"purpose": "any"
}
]
}