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() }