quzuu-api-dev / controller /event /event_list_controller.go
lifedebugger's picture
Deploy files from GitHub repository
e762600
package event
import (
"strconv"
"github.com/gin-gonic/gin"
"godp.abdanhafidz.com/controller"
"godp.abdanhafidz.com/models"
"godp.abdanhafidz.com/repositories"
"godp.abdanhafidz.com/services"
"godp.abdanhafidz.com/utils"
)
func EventList(c *gin.Context) {
limit, err := strconv.Atoi(c.DefaultQuery("limit", "10"))
if err != nil {
service := services.Service[any, any]{
Exception: models.Exception{
Message: "Invalid limit parameter",
},
}
utils.SendResponse(c, service)
return
}
offset, err := strconv.Atoi(c.DefaultQuery("offset", "0"))
if err != nil {
service := services.Service[any, any]{
Exception: models.Exception{
Message: "Invalid offset parameter",
},
}
utils.SendResponse(c, service)
return
}
filter := c.DefaultQuery("filter", "")
filterBy := c.DefaultQuery("filter_by", "")
pagination := repositories.PaginationConstructor{
Limit: limit,
Offset: offset,
Filter: filter,
FilterBy: filterBy,
}
eventsService := services.GetAllEventService{}
getAllEventController := controller.Controller[any, models.Events, []models.Events]{
Service: &eventsService.Service,
}
eventsService.Retrieve(pagination)
getAllEventController.Response(c)
}