157 lines
3.4 KiB
Go
157 lines
3.4 KiB
Go
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,
|
|
})
|
|
}
|