migrated out more modules and refactored db system

This commit is contained in:
2026-01-01 21:56:21 +11:00
parent 03095448d6
commit 8f6b4b0026
81 changed files with 462 additions and 5016 deletions

View File

@@ -2,6 +2,7 @@ package handler
import (
"context"
"database/sql"
"net/http"
"time"
@@ -10,10 +11,10 @@ import (
"projectreshoot/internal/view/page"
"projectreshoot/pkg/contexts"
"projectreshoot/pkg/cookies"
"projectreshoot/pkg/db"
"git.haelnorr.com/h/golib/hlog"
"github.com/pkg/errors"
"github.com/rs/zerolog"
)
// Renders the account page on the 'General' subpage
@@ -44,8 +45,8 @@ func AccountSubpage() http.Handler {
// Handles a request to change the users username
func ChangeUsername(
logger *zerolog.Logger,
conn *db.SafeConn,
logger *hlog.Logger,
conn *sql.DB,
) http.Handler {
return http.HandlerFunc(
func(w http.ResponseWriter, r *http.Request) {
@@ -53,7 +54,7 @@ func ChangeUsername(
defer cancel()
// Start the transaction
tx, err := conn.Begin(ctx)
tx, err := conn.BeginTx(ctx, nil)
if err != nil {
logger.Warn().Err(err).Msg("Error updating username")
w.WriteHeader(http.StatusServiceUnavailable)
@@ -61,7 +62,7 @@ func ChangeUsername(
}
r.ParseForm()
newUsername := r.FormValue("username")
unique, err := models.CheckUsernameUnique(ctx, tx, newUsername)
unique, err := models.CheckUsernameUnique(tx, newUsername)
if err != nil {
tx.Rollback()
logger.Error().Err(err).Msg("Error updating username")
@@ -75,7 +76,7 @@ func ChangeUsername(
return
}
user := contexts.GetUser(r.Context())
err = user.ChangeUsername(ctx, tx, newUsername)
err = user.ChangeUsername(tx, newUsername)
if err != nil {
tx.Rollback()
logger.Error().Err(err).Msg("Error updating username")
@@ -90,8 +91,8 @@ func ChangeUsername(
// Handles a request to change the users bio
func ChangeBio(
logger *zerolog.Logger,
conn *db.SafeConn,
logger *hlog.Logger,
conn *sql.DB,
) http.Handler {
return http.HandlerFunc(
func(w http.ResponseWriter, r *http.Request) {
@@ -99,7 +100,7 @@ func ChangeBio(
defer cancel()
// Start the transaction
tx, err := conn.Begin(ctx)
tx, err := conn.BeginTx(ctx, nil)
if err != nil {
logger.Warn().Err(err).Msg("Error updating bio")
w.WriteHeader(http.StatusServiceUnavailable)
@@ -115,7 +116,7 @@ func ChangeBio(
return
}
user := contexts.GetUser(r.Context())
err = user.ChangeBio(ctx, tx, newBio)
err = user.ChangeBio(tx, newBio)
if err != nil {
tx.Rollback()
logger.Error().Err(err).Msg("Error updating bio")
@@ -144,8 +145,8 @@ func validateChangePassword(
// Handles a request to change the users password
func ChangePassword(
logger *zerolog.Logger,
conn *db.SafeConn,
logger *hlog.Logger,
conn *sql.DB,
) http.Handler {
return http.HandlerFunc(
func(w http.ResponseWriter, r *http.Request) {
@@ -153,7 +154,7 @@ func ChangePassword(
defer cancel()
// Start the transaction
tx, err := conn.Begin(ctx)
tx, err := conn.BeginTx(ctx, nil)
if err != nil {
logger.Warn().Err(err).Msg("Error updating password")
w.WriteHeader(http.StatusServiceUnavailable)
@@ -166,7 +167,7 @@ func ChangePassword(
return
}
user := contexts.GetUser(r.Context())
err = user.SetPassword(ctx, tx, newPass)
err = user.SetPassword(tx, newPass)
if err != nil {
tx.Rollback()
logger.Error().Err(err).Msg("Error updating password")