feat: miler duty/break tracking, delivery confirmation, earnings, notifications, and support
Adds MilerDutyLog, MilerBreakLog, MilerSupportTicket models and earnings fields on BookingAssignment, plus a new milerAppController.go wiring 10 endpoints under /api/v1/miler for the rider app: duty start/end/status, break start/end, own-bookings listing, delivery confirmation (writes DeliveryProof, completes the assignment, publishes booking.outcome via NATS, and pushes an FCM delivery notification), earnings summaries (daily/weekly/monthly), synthetic notifications, and support tickets. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -125,6 +125,32 @@ func RegisterRoutes(app *fiber.App, cfg *config.Config) {
|
||||
milerAuth.Get("/consignments/logs/:consignmentid", controllers.GetConsignmentLogs)
|
||||
milerAuth.Get("/consignments/userlogs/:userid", controllers.GetUserConsignmentLogs)
|
||||
|
||||
// Duty management
|
||||
milerAuth.Post("/duty/start", controllers.MilerStartDuty)
|
||||
milerAuth.Put("/duty/end", controllers.MilerEndDuty)
|
||||
milerAuth.Get("/duty/current", controllers.MilerGetDutyStatus)
|
||||
|
||||
// Break management
|
||||
milerAuth.Post("/breaks/start", controllers.MilerStartBreak)
|
||||
milerAuth.Put("/breaks/end", controllers.MilerEndBreak)
|
||||
|
||||
// Miler's own bookings
|
||||
milerAuth.Get("/bookings", controllers.MilerGetMyBookings)
|
||||
|
||||
// Delivery confirmation
|
||||
milerAuth.Post("/consignments/:id/deliver", controllers.MilerDeliverConsignment)
|
||||
|
||||
// Earnings
|
||||
milerAuth.Get("/earnings", controllers.MilerGetEarnings)
|
||||
|
||||
// Notifications
|
||||
milerAuth.Get("/notifications", controllers.MilerGetNotifications)
|
||||
milerAuth.Patch("/notifications/:id/read", controllers.MilerMarkNotificationRead)
|
||||
|
||||
// Support
|
||||
milerAuth.Post("/support", controllers.MilerCreateTicket)
|
||||
milerAuth.Get("/support", controllers.MilerGetTickets)
|
||||
|
||||
// --------------------
|
||||
// ADMIN CONSOLE APIS — all open, no token required
|
||||
// --------------------
|
||||
|
||||
Reference in New Issue
Block a user