ManagementSystem/routers/router/router.go

28 lines
836 B
Go

package router
import (
"clickandjoin.app/managementsystem/modules/config"
wssessions "clickandjoin.app/managementsystem/routers/api/v1/wssessions"
"github.com/gofiber/fiber/v2"
)
func SetupRoutes(app *fiber.App) {
v1 := app.Group("/v1")
wsc := v1.Group("/wsconnections")
wsc.Post("/:userId/:wsSessionId", ApiKeyValidation, wssessions.AddUserWebSocketSessionId)
wsc.Get("/:userId/:wsSessionId", ApiKeyValidation, wssessions.ExistsUserWebSocketSessionId)
wsc.Get("/:userId", ApiKeyValidation, wssessions.GetUserWebSocketSessionIds)
wsc.Delete("/:userId/:wsSessionId", ApiKeyValidation, wssessions.RemoveConnection)
}
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()
}