MIF_E31222379_BE/internal/handler/collector_handler.go

37 lines
896 B
Go

package handler
import (
"rijig/internal/services"
"rijig/utils"
"github.com/gofiber/fiber/v2"
)
type CollectorHandler struct {
service services.CollectorService
}
func NewCollectorHandler(service services.CollectorService) *CollectorHandler {
return &CollectorHandler{service}
}
func (h *CollectorHandler) ConfirmRequestPickup(c *fiber.Ctx) error {
collectorId, ok := c.Locals("userID").(string)
if !ok || collectorId == "" {
return utils.GenericResponse(c, fiber.StatusUnauthorized, "Unauthorized: User session not found")
}
requestPickupId := c.Params("id")
if requestPickupId == "" {
return utils.ErrorResponse(c, "RequestPickup ID is required")
}
req, err := h.service.ConfirmRequestPickup(requestPickupId, collectorId)
if err != nil {
return utils.ErrorResponse(c, err.Error())
}
return utils.SuccessResponse(c, req, "Request pickup confirmed successfully")
}