chore(deps): remove dependencies from handler package
This commit is contained in:
@@ -7,9 +7,9 @@ import (
|
||||
"me-fit/types"
|
||||
"me-fit/utils"
|
||||
|
||||
"database/sql"
|
||||
"errors"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -18,14 +18,12 @@ type HandlerAuth interface {
|
||||
}
|
||||
|
||||
type HandlerAuthImpl struct {
|
||||
db *sql.DB
|
||||
service service.AuthService
|
||||
serverSettings *types.ServerSettings
|
||||
}
|
||||
|
||||
func NewHandlerAuth(db *sql.DB, service service.AuthService, serverSettings *types.ServerSettings) HandlerAuth {
|
||||
func NewHandlerAuth(service service.AuthService, serverSettings *types.ServerSettings) HandlerAuth {
|
||||
return HandlerAuthImpl{
|
||||
db: db,
|
||||
service: service,
|
||||
serverSettings: serverSettings,
|
||||
}
|
||||
@@ -37,7 +35,7 @@ func (handler HandlerAuthImpl) Handle(router *http.ServeMux) {
|
||||
router.Handle("/auth/signup", handler.handleSignUpPage())
|
||||
router.Handle("/auth/verify", handler.handleSignUpVerifyPage()) // Hint for the user to verify their email
|
||||
router.Handle("/auth/delete-account", handler.handleDeleteAccountPage())
|
||||
router.Handle("/auth/verify-email", service.HandleSignUpVerifyResponsePage(handler.db)) // The link contained in the email
|
||||
router.Handle("/auth/verify-email", handler.HandleSignUpVerifyResponsePage()) // The link contained in the email
|
||||
router.Handle("/auth/change-password", handler.handleChangePasswordPage())
|
||||
router.Handle("/auth/reset-password", handler.handleResetPasswordPage())
|
||||
router.Handle("/api/auth/signup", handler.handleSignUp())
|
||||
@@ -46,8 +44,8 @@ func (handler HandlerAuthImpl) Handle(router *http.ServeMux) {
|
||||
router.Handle("/api/auth/delete-account", handler.HandleDeleteAccountComp())
|
||||
router.Handle("/api/auth/verify-resend", handler.HandleVerifyResendComp())
|
||||
router.Handle("/api/auth/change-password", handler.HandleChangePasswordComp())
|
||||
router.Handle("/api/auth/reset-password", service.HandleResetPasswordComp(handler.db, handler.serverSettings))
|
||||
router.Handle("/api/auth/reset-password-actual", service.HandleActualResetPasswordComp(handler.db))
|
||||
router.Handle("/api/auth/reset-password", handler.HandleForgotPasswordComp())
|
||||
router.Handle("/api/auth/reset-password-actual", handler.HandleForgotPasswordResponseComp())
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -356,3 +354,63 @@ func (handler HandlerAuthImpl) HandleChangePasswordComp() http.HandlerFunc {
|
||||
utils.TriggerToast(w, r, "success", "Password changed")
|
||||
}
|
||||
}
|
||||
|
||||
func (handler HandlerAuthImpl) HandleSignUpVerifyResponsePage() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
token := r.URL.Query().Get("token")
|
||||
|
||||
err := handler.service.VerifyUserEmail(token)
|
||||
|
||||
if err != nil {
|
||||
utils.DoRedirect(w, r, "/auth/signin")
|
||||
} else {
|
||||
utils.DoRedirect(w, r, "/")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (handler HandlerAuthImpl) HandleForgotPasswordComp() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
email := r.FormValue("email")
|
||||
if email == "" {
|
||||
utils.TriggerToast(w, r, "error", "Please enter an email")
|
||||
return
|
||||
}
|
||||
|
||||
err := handler.service.ForgotPassword(email)
|
||||
if err != nil {
|
||||
utils.TriggerToast(w, r, "error", "Internal Server Error")
|
||||
} else {
|
||||
utils.TriggerToast(w, r, "info", "If the email exists, an email has been sent")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (handler HandlerAuthImpl) HandleForgotPasswordResponseComp() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
pageUrl, err := url.Parse(r.Header.Get("HX-Current-URL"))
|
||||
if err != nil {
|
||||
utils.LogError("Could not get current URL", err)
|
||||
utils.TriggerToast(w, r, "error", "Internal Server Error")
|
||||
return
|
||||
}
|
||||
|
||||
token := pageUrl.Query().Get("token")
|
||||
if token == "" {
|
||||
utils.TriggerToast(w, r, "error", "No token")
|
||||
return
|
||||
}
|
||||
|
||||
newPass := r.FormValue("new-password")
|
||||
|
||||
err = handler.service.ForgotPasswordResponse(token, newPass)
|
||||
if err != nil {
|
||||
utils.TriggerToast(w, r, "error", err.Error())
|
||||
} else {
|
||||
utils.TriggerToast(w, r, "success", "Password changed")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user