Spaces:
Runtime error
Runtime error
| 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) | |
| } | |