46 lines
979 B
Go
46 lines
979 B
Go
package api
|
|
|
|
import (
|
|
"acc-server-manager/local/controller"
|
|
"acc-server-manager/local/utl/common"
|
|
"acc-server-manager/local/utl/configs"
|
|
"os"
|
|
|
|
"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{
|
|
Api: groups.Group("/api"),
|
|
Server: groups.Group("/server"),
|
|
Config: groups.Group("/server/:id").Group("/config"),
|
|
Lookup: groups.Group("/lookup"),
|
|
}
|
|
|
|
groups.Use(basicAuthConfig)
|
|
|
|
err := di.Provide(func() *common.RouteGroups {
|
|
return routeGroups
|
|
})
|
|
if err != nil {
|
|
panic("unable to bind routes")
|
|
}
|
|
|
|
controller.InitializeControllers(di)
|
|
}
|