feat: inc generic metric if error occurs #161

This commit is contained in:
2024-09-09 23:16:27 +02:00
parent 0e186940cc
commit 37c3b2a780
3 changed files with 33 additions and 14 deletions

View File

@@ -5,7 +5,6 @@ import (
"crypto/subtle"
"database/sql"
"encoding/base64"
"log/slog"
"net/http"
"net/mail"
"strings"
@@ -96,12 +95,12 @@ func HandleSignUpVerifyResponsePage(db *sql.DB) http.HandlerFunc {
`, token)
if err != nil {
slog.Error("Could not update user: " + err.Error())
utils.LogError("Could not update user", err)
return
}
i, err := result.RowsAffected()
if err != nil {
slog.Error("Could not get rows affected: " + err.Error())
utils.LogError("Could not get rows affected", err)
return
}
@@ -144,7 +143,7 @@ func HandleSignUpComp(db *sql.DB) http.HandlerFunc {
userId, err := uuid.NewRandom()
if err != nil {
slog.Error("Could not generate UUID: %v", err)
utils.LogError("Could not generate UUID", err)
auth.Error("Internal Server Error").Render(r.Context(), w)
return
}
@@ -152,7 +151,7 @@ func HandleSignUpComp(db *sql.DB) http.HandlerFunc {
salt := make([]byte, 16)
_, err = rand.Read(salt)
if err != nil {
slog.Error("Could not generate salt: %v", err)
utils.LogError("Could not generate salt", err)
auth.Error("Internal Server Error").Render(r.Context(), w)
return
}
@@ -172,7 +171,7 @@ func HandleSignUpComp(db *sql.DB) http.HandlerFunc {
}
auth.Error("Internal Server Error").Render(r.Context(), w)
slog.Error("Could not insert user: %v", err)
utils.LogError("Could not insert user", err)
return
}
@@ -250,7 +249,7 @@ func HandleSignOutComp(db *sql.DB) http.HandlerFunc {
if user != nil {
_, err := db.Exec("DELETE FROM session WHERE session_id = ?", user.SessionId)
if err != nil {
slog.Error("Could not delete session: %v", err)
utils.LogError("Could not delete session%v", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
@@ -289,14 +288,14 @@ func sendVerificationEmail(db *sql.DB, r *http.Request, userId string, email str
var b []byte = make([]byte, 32)
_, err := rand.Reader.Read(b)
if err != nil {
slog.Error("Could not generate token: " + err.Error())
utils.LogError("Could not generate token", err)
return
}
token := base64.StdEncoding.EncodeToString(b)
_, err = db.Exec("INSERT INTO user_token (user_uuid, type, token, created_at) VALUES (?, 'email_verify', ?, datetime())", userId, token)
if err != nil {
slog.Error("Could not insert token: " + err.Error())
utils.LogError("Could not insert token", err)
return
}
@@ -310,7 +309,7 @@ func tryCreateSessionAndSetCookie(r *http.Request, w http.ResponseWriter, db *sq
var session_id_bytes []byte = make([]byte, 32)
_, err := rand.Reader.Read(session_id_bytes)
if err != nil {
slog.Error("Could not generate session ID: " + err.Error())
utils.LogError("Could not generate session ID", err)
auth.Error("Internal Server Error").Render(r.Context(), w)
return false
}
@@ -319,12 +318,12 @@ func tryCreateSessionAndSetCookie(r *http.Request, w http.ResponseWriter, db *sq
// Delete old inactive sessions
_, err = db.Exec("DELETE FROM session WHERE created_at < datetime('now','-8 hours') AND user_uuid = ?", user_uuid)
if err != nil {
slog.Error("Could not delete old sessions: " + err.Error())
utils.LogError("Could not delete old sessions", err)
}
_, err = db.Exec("INSERT INTO session (session_id, user_uuid, created_at) VALUES (?, ?, datetime())", session_id, user_uuid)
if err != nil {
slog.Error("Could not insert session: " + err.Error())
utils.LogError("Could not insert session", err)
auth.Error("Internal Server Error").Render(r.Context(), w)
return false
}

View File

@@ -1,7 +1,6 @@
package service
import (
"log/slog"
"me-fit/template"
"me-fit/template/workout"
"me-fit/utils"
@@ -66,7 +65,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)
if err != nil {
slog.Error(err.Error())
utils.LogError("Could not insert workout", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}