feat(auth): #154 send verification mails

This commit is contained in:
2024-09-07 22:51:50 +02:00
parent 5172a30781
commit f6aaccc1aa
13 changed files with 353 additions and 100 deletions

View File

@@ -4,6 +4,7 @@ import (
"log/slog"
"me-fit/template"
"me-fit/template/workout"
"me-fit/utils"
"database/sql"
"net/http"
@@ -13,9 +14,9 @@ import (
func HandleWorkoutPage(db *sql.DB) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
user := verifySessionAndReturnUser(db, r)
user := utils.GetUser(r)
if user == nil {
http.Redirect(w, r, "/auth/signin", http.StatusSeeOther)
utils.DoRedirect(w, r, "/auth/signin")
return
}
@@ -28,9 +29,9 @@ func HandleWorkoutPage(db *sql.DB) http.HandlerFunc {
func HandleWorkoutNewComp(db *sql.DB) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
user := verifySessionAndReturnUser(db, r)
user := utils.GetUser(r)
if user == nil {
w.Header().Add("HX-Redirect", "/auth/signin")
utils.DoRedirect(w, r, "/auth/signin")
return
}
@@ -63,7 +64,7 @@ func HandleWorkoutNewComp(db *sql.DB) http.HandlerFunc {
}
var rowId int
err = db.QueryRow("INSERT INTO workout (user_id, date, type, sets, reps) VALUES (?, ?, ?, ?, ?) RETURNING rowid", user.id, date, typeStr, sets, reps).Scan(&rowId)
err = db.QueryRow("INSERT INTO workout (user_id, date, type, sets, reps) VALUES (?, ?, ?, ?, ?) RETURNING rowid", user.Id, date, typeStr, sets, reps).Scan(&rowId)
if err != nil {
slog.Error(err.Error())
http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -83,13 +84,13 @@ func HandleWorkoutNewComp(db *sql.DB) http.HandlerFunc {
func HandleWorkoutGetComp(db *sql.DB) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
user := verifySessionAndReturnUser(db, r)
user := utils.GetUser(r)
if user == nil {
w.Header().Add("HX-Redirect", "/auth/signin")
utils.DoRedirect(w, r, "/auth/signin")
return
}
rows, err := db.Query("SELECT rowid, date, type, sets, reps FROM workout WHERE user_id = ? ORDER BY date desc", user.id)
rows, err := db.Query("SELECT rowid, date, type, sets, reps FROM workout WHERE user_id = ? ORDER BY date desc", user.Id)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
@@ -120,9 +121,9 @@ func HandleWorkoutGetComp(db *sql.DB) http.HandlerFunc {
func HandleWorkoutDeleteComp(db *sql.DB) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
user := verifySessionAndReturnUser(db, r)
user := utils.GetUser(r)
if user == nil {
w.Header().Add("HX-Redirect", "/auth/signin")
utils.DoRedirect(w, r, "/auth/signin")
return
}
@@ -132,7 +133,7 @@ func HandleWorkoutDeleteComp(db *sql.DB) http.HandlerFunc {
return
}
res, err := db.Exec("DELETE FROM workout WHERE user_id = ? AND rowid = ?", user.id, rowId)
res, err := db.Exec("DELETE FROM workout WHERE user_id = ? AND rowid = ?", user.Id, rowId)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return