Commit Graph

8 Commits

Author SHA1 Message Date
kevin-asprec
6ea1f412a1 feat: data import module and payment fixes
- Add import module with CSV/Excel template download and bulk import endpoints
- Support client+subscription and outstanding invoice imports with per-row error handling
- Templates include Field Guide sheet with valid plan/area names
- Add manager role to unremitted payments endpoint
- Add createdAt field to remittance history response
2026-05-07 06:19:43 +08:00
kevin-asprec
7f9beaac2b feat: unremitted per-user filtering, EOD unremitted reminders, remittance breakdown
- Filter unremitted payments by current user only (remove manager exception)
- Add PaymentScheduler with 5PM daily cron for unremitted reminders
- Add getUnremittedBreakdown service for per-collector dashboard totals
- Register PaymentScheduler in SchedulerModule
2026-05-06 22:43:44 +08:00
kevin-asprec
59ee1fbe33 feat: add notification triggers, comment roles, mention list, and static file serving
- Notify users on ticket assignment and remittance confirm/reject
- Add collector role to comment endpoints
- Add /users/mention-list endpoint for @mention support
- Serve uploaded files via express.static
2026-05-06 14:30:08 +08:00
kevin-asprec
248f6b51ea fix: include invoice id in unremitted payments query
The invoice select was missing `id`, causing InvoiceSummary.fromJson
to crash on null — silently swallowing the error and showing an
empty unremitted list in the mobile app.
2026-05-06 07:22:36 +08:00
kevin-asprec
58c01d4580 fix: mobile app bugs - payment screen, remittance isolation, invoice sorting, ticket creation
- Fix record payment screen fetching invoice directly instead of relying on collection provider
- Fix getUnremittedPayments tenant isolation (remittance tenantId filter)
- Add invoice status filter and dueDate sort support in controller/service
- Allow technicians to create tickets (role decorator fix)
- Enhance seed data with 10 more pending-installation clients and installation tickets
2026-05-06 03:13:32 +08:00
kevin-asprec
c14521a41d fix: add collector role to API endpoints for mobile dashboard access
Collector users were blocked from ticket, payment, invoice, and client
endpoints requiring 'technician' role. Added 'collector' to @Roles
decorators and the COLLECTOR role to the shared role hierarchy.
2026-05-06 02:15:20 +08:00
kevin-asprec
a5ed2cc666 fix: include full payment details in remittance history
findRemittances used `payments: true` which returned raw RemittancePayment
join records without actual payment data. Now fetches full Payment objects
via manual join and maps them to the remittance records so the mobile app
can display client names, amounts, and invoice numbers.
2026-05-03 14:35:27 +08:00
kevin-asprec
4a8f1e9318 initial: standalone repo from monorepo split 2026-04-13 09:36:55 +08:00