package middlewares import ( "github.com/gofiber/fiber/v2" "github.com/gookit/validate" "github.com/sujit-baniya/fiber-boilerplate/pkg/auth" "github.com/sujit-baniya/fiber-boilerplate/pkg/models" ) func RedirectToHomePageOnLogin(c *fiber.Ctx) error { if auth.IsLoggedIn(c) { return c.Redirect("/app/dashboard") } return c.Next() } func ValidateLoginPost(c *fiber.Ctx) error { var login models.Login if err := c.BodyParser(&login); err != nil { return c.JSON(fiber.Map{ "status": "error", "message": err.Error(), }) } v := validate.Struct(login) if !v.Validate() { return c.JSON(fiber.Map{ "status": "error", "message": v.Errors.One(), }) } user, err := login.CheckLogin() if err != nil { return c.JSON(fiber.Map{ "status": "error", "message": err.Error(), }) } c.Locals("user", user) return c.Next() }