Files
pocketmovie/internal/middleware/apikeychecker/apikeychecker.go
2025-11-04 13:52:36 +01:00

29 lines
593 B
Go

package apikeychecker
import (
"strings"
"git.itsigo.dev/istigo/pocketmovie/internal/database"
"github.com/gofiber/fiber/v3"
)
type Config struct {
DB database.Queries
}
func configDefault(config ...Config) Config {
cfg := config[0]
return cfg
}
func New(config Config) fiber.Handler {
return func(c fiber.Ctx) error {
setting, _ := config.DB.ListSetting(c, 2)
referer := string(c.Request().Header.Referer())
if setting.Value == "" && !strings.Contains(referer, "apikey") {
return c.Redirect().Status(fiber.StatusMovedPermanently).To("/apikey")
}
return c.Next()
}
}