I am batman

This commit is contained in:
2026-06-20 11:07:01 -04:00
commit 013d01358c
52 changed files with 7615 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
package middlewares
import (
"github.com/gofiber/fiber/v2"
"gorm.io/gorm"
)
func OnlyAdmin(db *gorm.DB, fn fiber.Handler) fiber.Handler {
return func(c *fiber.Ctx) error {
role, ok := c.Locals("userRole").(string)
if !ok || role != "Admin" {
return c.Status(fiber.StatusForbidden).JSON(fiber.Map{"error": "Access denied"})
}
return fn(c)
}
}
func OnlyModerator(db *gorm.DB, fn fiber.Handler) fiber.Handler {
return func(c *fiber.Ctx) error {
role, ok := c.Locals("userRole").(string)
if !ok || (role != "Moderator" && role != "Admin") {
return c.Status(fiber.StatusForbidden).JSON(fiber.Map{"error": "Access denied"})
}
return fn(c)
}
}
func OnlyUser(db *gorm.DB, fn fiber.Handler) fiber.Handler {
return func(c *fiber.Ctx) error {
role, ok := c.Locals("userRole").(string)
if !ok || role != "User" {
return c.Status(fiber.StatusForbidden).JSON(fiber.Map{"error": "Access denied"})
}
return fn(c)
}
}