From e67fce3271c3fb38102a39274a00393674ca2cfd Mon Sep 17 00:00:00 2001 From: brookjeynes Date: Wed, 15 Oct 2025 08:54:00 +1000 Subject: [PATCH] feat(handlers/comment): use slogger Change-Id: lwxlwylqzwmlrtwsnlvmxvtlotrokkum Signed-off-by: brookjeynes --- internal/server/handlers/comment.go | 63 ++++++++++++++++------------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/internal/server/handlers/comment.go b/internal/server/handlers/comment.go index a1e1078..cd42f0c 100644 --- a/internal/server/handlers/comment.go +++ b/internal/server/handlers/comment.go @@ -1,7 +1,6 @@ package handlers import ( - "log" "net/http" "strings" "time" @@ -23,44 +22,46 @@ import ( ) func (h *Handler) HandleNewComment(w http.ResponseWriter, r *http.Request) { + l := h.Logger.With("handler", "HandleNewComment") + client, err := h.Oauth.AuthorizedClient(r) if err != nil { - log.Println("failed to get authorized client:", err) + l.Error("failed to get authorized client", "err", err) htmx.HxRedirect(w, "/login") return } user, err := bsky.GetUserWithBskyProfile(h.Oauth, r) if err != nil { - log.Println("failed to get logged-in user:", err) + l.Error("failed to get logged-in user", "err", err) htmx.HxRedirect(w, "/login") return } profile, err := db.GetProfile(h.Db, user.Did) if err != nil { - log.Println("failed to get logged-in user:", err) + l.Error("failed to get logged-in user", "err", err) htmx.HxRedirect(w, "/login") return } err = r.ParseForm() if err != nil { - log.Println("invalid comment form:", err) + l.Error("invalid comment form", "err", err) htmx.HxError(w, http.StatusBadRequest, "Unable to process comment, please try again later.") return } commentBody := r.FormValue("comment") if len(strings.TrimSpace(commentBody)) == 0 { - log.Println("invalid comment form: missing comment body") + l.Error("invalid comment form: missing comment body") htmx.HxError(w, http.StatusBadRequest, "Comment cannot be empty.") return } studySessionUri := r.FormValue("study_session_uri") if len(studySessionUri) == 0 { - log.Println("invalid comment form: missing study session Uri") + l.Error("invalid comment form: missing study session Uri") htmx.HxError(w, http.StatusBadRequest, "Unable to create comment, please try again later.") return } @@ -100,7 +101,7 @@ func (h *Handler) HandleNewComment(w http.ResponseWriter, r *http.Request) { }, }) if err != nil { - log.Println("failed to create comment record:", err) + l.Error("failed to create comment record", "err", err) htmx.HxError(w, http.StatusInternalServerError, "Failed to create comment, try again later.") return } @@ -121,7 +122,7 @@ func (h *Handler) HandleNewComment(w http.ResponseWriter, r *http.Request) { err = h.Posthog.Enqueue(event) if err != nil { - log.Println("failed to enqueue posthog event:", err) + l.Error("failed to enqueue posthog event", "err", err) } } @@ -153,15 +154,17 @@ func (h *Handler) HandleNewComment(w http.ResponseWriter, r *http.Request) { } func (h *Handler) HandleDeleteComment(w http.ResponseWriter, r *http.Request) { + l := h.Logger.With("handler", "HandleDeleteComment") + user := h.Oauth.GetUser(r) if user == nil { - log.Println("failed to get logged-in user") + l.Error("failed to get logged-in user") htmx.HxRedirect(w, "/login") return } client, err := h.Oauth.AuthorizedClient(r) if err != nil { - log.Println("failed to get authorized client:", err) + l.Error("failed to get authorized client", "err", err) htmx.HxRedirect(w, "/login") return } @@ -171,13 +174,13 @@ func (h *Handler) HandleDeleteComment(w http.ResponseWriter, r *http.Request) { rkey := chi.URLParam(r, "rkey") comment, err := db.GetCommentByRkey(h.Db, user.Did, rkey) if err != nil { - log.Println("failed to get comment from db:", err) + l.Error("failed to get comment from db", "err", err) htmx.HxError(w, http.StatusInternalServerError, "Failed to delete comment, try again later.") return } if user.Did != comment.Did { - log.Printf("user '%s' does not own record '%s'", user.Did, rkey) + l.Error("user does not own record", "did", user.Did, "commentDid", comment.Did) htmx.HxError(w, http.StatusUnauthorized, "You do not have permissions to delete this comment.") return } @@ -188,7 +191,7 @@ func (h *Handler) HandleDeleteComment(w http.ResponseWriter, r *http.Request) { Rkey: comment.Rkey, }) if err != nil { - log.Println("failed to delete comment from PDS:", err) + l.Error("failed to delete comment from PDS", "err", err) htmx.HxError(w, http.StatusInternalServerError, "Failed to delete comment, try again later.") return } @@ -209,7 +212,7 @@ func (h *Handler) HandleDeleteComment(w http.ResponseWriter, r *http.Request) { err = h.Posthog.Enqueue(event) if err != nil { - log.Println("failed to enqueue posthog event:", err) + l.Error("failed to enqueue posthog event", "err", err) } } @@ -218,9 +221,11 @@ func (h *Handler) HandleDeleteComment(w http.ResponseWriter, r *http.Request) { } func (h *Handler) HandleEditCommentPage(w http.ResponseWriter, r *http.Request) { + l := h.Logger.With("handler", "HandleEditCommentPage") + user, err := bsky.GetUserWithBskyProfile(h.Oauth, r) if err != nil { - log.Println("failed to get logged-in user:", err) + l.Error("failed to get logged-in user", "err", err) htmx.HxRedirect(w, "/login") return } @@ -228,13 +233,13 @@ func (h *Handler) HandleEditCommentPage(w http.ResponseWriter, r *http.Request) rkey := chi.URLParam(r, "rkey") comment, err := db.GetCommentByRkey(h.Db, user.Did, rkey) if err != nil { - log.Println("failed to get comment from db:", err) + l.Error("failed to get comment from db", "err", err) htmx.HxError(w, http.StatusInternalServerError, "Failed to update comment, try again later.") return } if user.Did != comment.Did { - log.Printf("user '%s' does not own record '%s'", user.Did, rkey) + l.Error("user does not own record", "did", user.Did, "commentDid", comment.Did) htmx.HxError(w, http.StatusUnauthorized, "You do not have permissions to edit this comment.") return } @@ -245,21 +250,21 @@ func (h *Handler) HandleEditCommentPage(w http.ResponseWriter, r *http.Request) case http.MethodPost: client, err := h.Oauth.AuthorizedClient(r) if err != nil { - log.Println("failed to get authorized client:", err) + l.Error("failed to get authorized client", "err", err) htmx.HxRedirect(w, "/login") return } err = r.ParseForm() if err != nil { - log.Println("invalid comment form:", err) + l.Error("invalid comment form", "err", err) htmx.HxError(w, http.StatusBadRequest, "Unable to process comment, please try again later.") return } commentBody := r.FormValue("comment") if len(strings.TrimSpace(commentBody)) == 0 { - log.Println("invalid comment form: missing comment body") + l.Error("invalid comment form: missing comment body") htmx.HxError(w, http.StatusBadRequest, "Comment cannot be empty.") return } @@ -303,7 +308,7 @@ func (h *Handler) HandleEditCommentPage(w http.ResponseWriter, r *http.Request) SwapRecord: cid, }) if err != nil { - log.Println("failed to update study session record:", err) + l.Error("failed to update study session record", "err", err) htmx.HxError(w, http.StatusInternalServerError, "Failed to update comment, try again later.") return } @@ -324,7 +329,7 @@ func (h *Handler) HandleEditCommentPage(w http.ResponseWriter, r *http.Request) err = h.Posthog.Enqueue(event) if err != nil { - log.Println("failed to enqueue posthog event:", err) + l.Error("failed to enqueue posthog event", "err", err) } } @@ -387,9 +392,11 @@ func assembleCommentFeed(localComments []db.CommentWithLocalProfile, bskyProfile } func (h *Handler) HandleReply(w http.ResponseWriter, r *http.Request) { + l := h.Logger.With("handler", "HandleReply") + user := h.Oauth.GetUser(r) if user == nil { - log.Println("failed to get logged-in user") + l.Error("failed to get logged-in user") htmx.HxRedirect(w, "/login") return } @@ -397,7 +404,7 @@ func (h *Handler) HandleReply(w http.ResponseWriter, r *http.Request) { studySessionUri := r.URL.Query().Get("root") parentCommentUri := r.URL.Query().Get("parent") if len(studySessionUri) == 0 || len(parentCommentUri) == 0 { - log.Println("invalid reply form: study session uri or parent comment uri is empty") + l.Error("invalid reply form: study session uri or parent comment uri is empty") htmx.HxError(w, http.StatusBadRequest, "Unable to process comment, please try again later.") return } @@ -409,9 +416,11 @@ func (h *Handler) HandleReply(w http.ResponseWriter, r *http.Request) { } func (h *Handler) HandleCancelCommentEdit(w http.ResponseWriter, r *http.Request) { + l := h.Logger.With("handler", "HandleCancelCommentEdit") + user, err := bsky.GetUserWithBskyProfile(h.Oauth, r) if err != nil { - log.Println("failed to get logged-in user:", err) + l.Error("failed to get logged-in user", "err", err) htmx.HxRedirect(w, "/login") return } @@ -419,7 +428,7 @@ func (h *Handler) HandleCancelCommentEdit(w http.ResponseWriter, r *http.Request rkey := chi.URLParam(r, "rkey") comment, err := db.GetCommentByRkey(h.Db, user.Did, rkey) if err != nil { - log.Println("failed to get comment from db:", err) + l.Error("failed to get comment from db", "err", err) htmx.HxError(w, http.StatusInternalServerError, "Failed to update comment, try again later.") return } -- 2.43.0