|
|
c272a33fa6
|
feat: 14 new endpoints closing jupiter->Doormile API gaps, plus two tenant-scoping bug fixes
New endpoints:
- Admin: partner CRUD (GET/POST /admin/partners, GET/PUT/DELETE
/admin/partners/:id), bulk express booking create
(POST /admin/expressbooking/bulk), bulk cancel
(POST /admin/bookings/bulk-cancel), reports (GET /admin/reports),
password change (PUT /admin/profile/password), miler notify
(POST /admin/milers/:id/notify)
- Miler: PIN reset (POST /miler/reset-pin), cancel assignment
(POST /miler/bookings/:bookingid/cancel), skip delivery
(POST /miler/consignments/:id/skip)
- Hub: batch assign (POST /hub/bookings/batch-assign) - greedy
nearest-rider queue clearing, capped per rider
Bug fixes:
- BookingPickupComplete now sets Consignment.Tenantid from the
booking's tenant instead of the completing miler's own tenant
(fixes cross-tenant shipment mis-attribution)
- GetHubUnassignedBookings/GetHubBookingsRange now scoped via
scopeBookingsToOwnTenant (fixes partner hub staff seeing other
tenants' bookings)
Also: CRM booking routes renamed to expressbooking to end the naming
collision with the separate CRM clients feature; PickupBooking gains
nullable Tenantid; adds CLAUDE.md project memory.
Verified: go build ./... and go vet ./... both clean.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-05 12:22:39 +05:30 |
|
|
|
c91c887726
|
Add assignment engine, FCM, WebSockets, city gate, and internal APIs
- internal/assignment: GEORADIUS miler assignment with retry/escalation,
customer-side provider scoring, FCM notifications on assign
- internal/notify: Firebase Admin SDK (FCM) client initialisation
- internal/ws: WebSocket handlers for live parcel tracking and
customer↔miler chat
- middlewares: city gate (pincode prefix validation), internal API key
auth, WebSocket JWT auth
- controllers: InternalNotify + InternalReassign for machine-to-machine
calls; pricing helpers wired into CreateCustomerBooking and CreateCRMBooking
- routes: /internal/*, /ws/bookings/:id/track, /ws/bookings/:id/chat
- models/users, models/doormile_pricing: new fields for device tokens,
assignment state, pricing bands
- seed_data.sql: initial pricing seed rows
.env and Firebase service-account JSON intentionally excluded.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-25 12:31:53 +05:30 |
|