feat: hub console backend — complete API surface

This commit is contained in:
2026-07-04 16:14:12 +05:30
parent c8adaf7815
commit 707323b68c
10 changed files with 1302 additions and 42 deletions

View File

@@ -1144,47 +1144,11 @@ func AdminAssignMiler(c *fiber.Ctx) error {
return utils.BadRequest(c, "invalid request body")
}
tx := db.DB.Begin()
var booking models.PickupBooking
if err := tx.First(&booking, id).Error; err != nil {
tx.Rollback()
return utils.NotFound(c, "booking not found")
}
booking.Status = constants.BookingMilerAssigned
booking.Assignedmileruserid = &req.Mileruserid
booking.Updatedat = time.Now()
tx.Save(&booking)
adminUserID := c.Locals("userid").(int)
assignment := models.BookingAssignment{
Bookingid: booking.Bookingid,
Mileruserid: req.Mileruserid,
Assignedbyuserid: &adminUserID,
Assignmentstatus: constants.AssignmentAssigned,
}
tx.Create(&assignment)
// Update Miler status
tx.Model(&models.MilerProfile{}).Where("userid = ?", req.Mileruserid).Update("availabilitystatus", constants.MilerAssigned)
tx.Commit()
if db.Js != nil {
payload := map[string]interface{}{
"booking_id": booking.Bookingid,
"booking_no": booking.Bookingno,
"status": booking.Status,
"miler_id": req.Mileruserid,
"updated_at": time.Now().UnixMilli(),
}
if data, err := json.Marshal(payload); err == nil {
if _, err := db.Js.Publish("api.v1.bookings.update", data); err != nil {
utils.Warn("Failed to publish booking.update to NATS", "booking_id", booking.Bookingid, "error", err)
}
}
booking, err := AssignMilerToBooking(id, req.Mileruserid, &adminUserID)
if err != nil {
return utils.NotFound(c, "booking not found")
}
return utils.OK(c, booking)