package controllers import ( "nearle/services" "net/http" "strconv" "github.com/gofiber/fiber/v2" ) type PartnerController struct { partnerService services.PartnerService } func NewPartnerController(partnerService services.PartnerService) *PartnerController { return &PartnerController{partnerService: partnerService} } func (ctl *PartnerController) GetActiveRiders(c *fiber.Ctx) error { pid, _ := strconv.Atoi(c.Query("partnerid")) aid, _ := strconv.Atoi(c.Query("applocationid")) uid, _ := strconv.Atoi(c.Query("userid")) tid,_ := strconv.Atoi(c.Query("tenantid")) result, err := ctl.partnerService.GetActiveRiders(pid, aid, uid, tid) if err != nil { return c.JSON(fiber.Map{ "status": false, "code": http.StatusInternalServerError, "message": err.Error(), }) } return c.JSON(fiber.Map{ "status": true, "code": http.StatusOK, "message": "Successful", "details": result, }) } func (ctl *PartnerController) GetPartners(c *fiber.Ctx) error { pid, _ := strconv.Atoi(c.Query("partnerid")) aid, _ := strconv.Atoi(c.Query("applocationid")) uid, _ := strconv.Atoi(c.Query("userid")) result, err := ctl.partnerService.GetPartners(aid, pid, uid) if err != nil { return c.JSON(fiber.Map{ "status": false, "code": http.StatusInternalServerError, "message": err.Error(), }) } return c.JSON(fiber.Map{ "status": true, "code": http.StatusOK, "message": "Successful", "details": result, }) } func (ctl *PartnerController) GetRiderShifts(c *fiber.Ctx) error { aid, _ := strconv.Atoi(c.Query("applocationid")) result, err := ctl.partnerService.GetRiderShifts(aid) if err != nil { return c.JSON(fiber.Map{ "status": false, "code": http.StatusInternalServerError, "message": err.Error(), }) } return c.JSON(fiber.Map{ "status": true, "code": http.StatusOK, "message": "Successful", "details": result, }) } func (ctl *PartnerController) GetLocationConfig(c *fiber.Ctx) error { uid, _ := strconv.Atoi(c.Query("userid")) cid, _ := strconv.Atoi(c.Query("configid")) result, err := ctl.partnerService.GetLocationConfig(uid, cid) if err != nil { return c.JSON(fiber.Map{ "status": false, "code": http.StatusInternalServerError, "message": err.Error(), }) } return c.JSON(fiber.Map{ "status": true, "code": http.StatusOK, "message": "Successful", "details": result, }) } func (ctl *PartnerController) GetRiderLogs(c *fiber.Ctx) error { pid, _ := strconv.Atoi(c.Query("partnerid")) aid, _ := strconv.Atoi(c.Query("applocationid")) fdate := c.Query("fromdate") tdate := c.Query("fromdate") data, err := ctl.partnerService.GetRiderLogs(pid, aid, fdate, tdate) if err != nil { return c.JSON(fiber.Map{ "status": false, "code": http.StatusInternalServerError, "message": err.Error(), }) } return c.JSON(fiber.Map{ "status": true, "code": http.StatusOK, "message": "Successful", "details": data, }) } func (ctl *PartnerController) GetRiderInfo(c *fiber.Ctx) error { uid, _ := strconv.Atoi(c.Query("userid")) result, err := ctl.partnerService.GetRiderInfo(uid) if err != nil { return c.Status(http.StatusInternalServerError).JSON(fiber.Map{ "status": false, "code": http.StatusInternalServerError, "message": err.Error(), }) } return c.JSON(fiber.Map{ "status": true, "code": http.StatusOK, "message": "Successful", "details": result, }) }