Messaging/pkg/internal/http/api/realms_api.go

24 lines
579 B
Go
Raw Normal View History

package api
2024-05-04 17:04:14 +00:00
import (
"fmt"
"git.solsynth.dev/hypernet/messaging/pkg/internal/gap"
"git.solsynth.dev/hypernet/passport/pkg/authkit"
2024-09-11 15:58:02 +00:00
2024-05-04 17:04:14 +00:00
"github.com/gofiber/fiber/v2"
)
func realmMiddleware(c *fiber.Ctx) error {
realmAlias := c.Params("realm")
if len(realmAlias) > 0 && realmAlias != "global" {
realm, err := authkit.GetRealmByAlias(gap.Nx, realmAlias)
2024-05-04 17:04:14 +00:00
if err != nil {
return fiber.NewError(fiber.StatusInternalServerError, fmt.Sprintf("requested channel with realm, but realm was not found: %v", err))
} else {
c.Locals("realm", realm)
}
}
return c.Next()
}