ManagementSystem/routers/router/router.go

44 lines
1.3 KiB
Go

package router
import (
"clickandjoin.app/managementsystem/modules/config"
"clickandjoin.app/managementsystem/routers/api/v1/chats"
"clickandjoin.app/managementsystem/routers/api/v1/stats"
"clickandjoin.app/managementsystem/routers/api/v1/user"
"clickandjoin.app/managementsystem/routers/api/v1/users"
"clickandjoin.app/managementsystem/routers/api/v1/wssessions"
"github.com/gofiber/fiber/v2"
)
func SetupRoutes(app *fiber.App) {
v1 := app.Group("/v1")
us := v1.Group("/users")
us.Get("/", ApiKeyValidation, users.GetAllUsers)
us.Get("/signupprocesses", ApiKeyValidation, users.GetAllUserSignUpProcesses)
us.Get("/relationships", ApiKeyValidation, users.GetAllUserRelationships)
us.Get("/privacysettings", ApiKeyValidation, users.GetAllUserPrivacySettings)
u := v1.Group("/user")
u.Patch("/:userId", ApiKeyValidation, user.UpdateUser)
wss := v1.Group("/wssessions")
wss.Get("/", ApiKeyValidation, wssessions.GetAllWsSessions)
c := v1.Group("/chats")
c.Get("/", ApiKeyValidation, chats.GetAllChats)
s := v1.Group("/stats")
s.Get("/", ApiKeyValidation, stats.GetStats)
}
func ApiKeyValidation(c *fiber.Ctx) error {
apiKey := c.GetReqHeaders()["X-Ms-Api"]
if apiKey != config.Cfg.ManagementSystemApiKey {
return c.SendStatus(fiber.StatusUnauthorized)
}
return c.Next()
}