api with functioning managment

This commit is contained in:
Fran Jurmanović
2025-02-05 00:26:12 +01:00
parent 954fe0ae82
commit 9118574203
26 changed files with 2017 additions and 55 deletions

View File

@@ -0,0 +1,93 @@
package controller
import (
"acc-server-manager/local/service"
"acc-server-manager/local/utl/common"
"github.com/gofiber/fiber/v2"
)
type LookupController struct {
service *service.LookupService
}
// NewLookupController
// Initializes LookupController.
//
// Args:
// *services.LookupService: Lookup service
// *Fiber.RouterGroup: Fiber Router Group
// Returns:
// *LookupController: Controller for "Lookup" interactions
func NewLookupController(as *service.LookupService, routeGroups *common.RouteGroups) *LookupController {
ac := &LookupController{
service: as,
}
routeGroups.Lookup.Get("/tracks", ac.getTracks)
routeGroups.Lookup.Get("/car-models", ac.getCarModels)
routeGroups.Lookup.Get("/driver-categories", ac.getDriverCategories)
routeGroups.Lookup.Get("/cup-categories", ac.getCupCategories)
routeGroups.Lookup.Get("/session-types", ac.getSessionTypes)
return ac
}
// getTracks returns Tracks
//
// @Summary Return Tracks Lookup
// @Description Return Tracks Lookup
// @Tags Lookup
// @Success 200 {array} string
// @Router /v1/lookup/tracks [get]
func (ac *LookupController) getTracks(c *fiber.Ctx) error {
LookupModel := ac.service.GetTracks(c)
return c.JSON(LookupModel)
}
// getCarModels returns CarModels
//
// @Summary Return CarModels Lookup
// @Description Return CarModels Lookup
// @Tags Lookup
// @Success 200 {array} string
// @Router /v1/lookup/car-models [get]
func (ac *LookupController) getCarModels(c *fiber.Ctx) error {
LookupModel := ac.service.GetCarModels(c)
return c.JSON(LookupModel)
}
// getDriverCategories returns DriverCategories
//
// @Summary Return DriverCategories Lookup
// @Description Return DriverCategories Lookup
// @Tags Lookup
// @Success 200 {array} string
// @Router /v1/lookup/driver-categories [get]
func (ac *LookupController) getDriverCategories(c *fiber.Ctx) error {
LookupModel := ac.service.GetDriverCategories(c)
return c.JSON(LookupModel)
}
// getCupCategories returns CupCategories
//
// @Summary Return CupCategories Lookup
// @Description Return CupCategories Lookup
// @Tags Lookup
// @Success 200 {array} string
// @Router /v1/lookup/cup-categories [get]
func (ac *LookupController) getCupCategories(c *fiber.Ctx) error {
LookupModel := ac.service.GetCupCategories(c)
return c.JSON(LookupModel)
}
// getSessionTypes returns SessionTypes
//
// @Summary Return SessionTypes Lookup
// @Description Return SessionTypes Lookup
// @Tags Lookup
// @Success 200 {array} string
// @Router /v1/lookup/session-types [get]
func (ac *LookupController) getSessionTypes(c *fiber.Ctx) error {
LookupModel := ac.service.GetSessionTypes(c)
return c.JSON(LookupModel)
}