Initial commit
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
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()
|
||||
}
|
||||
Reference in New Issue
Block a user