28 lines
845 B
Go
28 lines
845 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/:webSocketSession", ApiKeyValidation, wssessions.AddUserWebSocketSession)
|
|
wsc.Get("/:userId/:webSocketSession", ApiKeyValidation, wssessions.ExistsUserWebSocketSession)
|
|
wsc.Get("/:userId", ApiKeyValidation, wssessions.GetUserWebSocketSessions)
|
|
wsc.Delete("/:userId/:webSocketSession", 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()
|
|
}
|