They are in different folders and all loaded in controllers/router.go. This means that you only have to create a folder with a router.go file and import this folder in main router.go to add a handler.
46 lignes
1,2 Kio
Go
46 lignes
1,2 Kio
Go
package userController
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/NyaaPantsu/nyaa/templates"
|
|
"github.com/NyaaPantsu/nyaa/utils/cookies"
|
|
msg "github.com/NyaaPantsu/nyaa/utils/messages"
|
|
"github.com/NyaaPantsu/nyaa/utils/validator"
|
|
"github.com/NyaaPantsu/nyaa/utils/validator/user"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// UserLoginFormHandler : Getting View User Login
|
|
func UserLoginFormHandler(c *gin.Context) {
|
|
_, _, errorUser := cookies.CurrentUser(c)
|
|
// User is already connected, redirect to home
|
|
if errorUser == nil {
|
|
c.Redirect(http.StatusSeeOther, "/")
|
|
return
|
|
}
|
|
|
|
loginForm := userValidator.LoginForm{
|
|
RedirectTo: c.DefaultQuery("redirectTo", ""),
|
|
}
|
|
templates.Form(c, "site/user/login.jet.html", loginForm)
|
|
}
|
|
|
|
// UserLoginPostHandler : Post Login controller
|
|
func UserLoginPostHandler(c *gin.Context) {
|
|
b := userValidator.LoginForm{}
|
|
c.Bind(&b)
|
|
messages := msg.GetMessages(c)
|
|
|
|
validator.ValidateForm(&b, messages)
|
|
if !messages.HasErrors() {
|
|
_, _, errorUser := cookies.CreateUserAuthentication(c, &b)
|
|
if errorUser == nil {
|
|
url := c.DefaultPostForm("redirectTo", "/")
|
|
c.Redirect(http.StatusSeeOther, url)
|
|
return
|
|
}
|
|
messages.ErrorT(errorUser)
|
|
}
|
|
UserLoginFormHandler(c)
|
|
}
|