package api import ( "os" "rockhu-bot/local/controller" "rockhu-bot/local/job" "rockhu-bot/local/utl/common" "rockhu-bot/local/utl/configs" "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/basicauth" "go.uber.org/dig" ) // Routes // Initializes web api controllers and its corresponding routes. // // Args: // *fiber.App: Fiber Application func Init(di *dig.Container, app *fiber.App) { groups := app.Group(configs.Prefix) basicAuthConfig := basicauth.New(basicauth.Config{ Users: map[string]string{ "admin": os.Getenv("PASSWORD"), }, }) routeGroups := &common.RouteGroups{ Concert: groups.Group("/concert"), } routeGroups.Concert.Use(basicAuthConfig) err := di.Provide(func() *common.RouteGroups { return routeGroups }) if err != nil { panic("unable to bind routes") } controller.InitializeControllers(di) job.InitializeJobs(di) }