feat(handlers/reaction): use slogger #16

merged
opened by brookjeynes.dev targeting master from push-trrpxxyxxmot
Changed files
+17 -17
internal
server
handlers
+17 -17
internal/server/handlers/reaction.go
···
package handlers
import (
-
"log"
"net/http"
"slices"
"strconv"
···
)
func (h *Handler) HandleReaction(w http.ResponseWriter, r *http.Request) {
+
l := h.Logger.With("handler", "HandleReaction")
+
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
}
···
}
if user.Did == session.Did {
-
log.Println("failed to react to study session, cannot react to your own study session")
+
l.Error("failed to react to study session, cannot react to your own study session")
htmx.HxError(w, http.StatusBadRequest, "You cannot react to your own study sessions.")
return
}
···
reaction, err := db.ReactionFromString(db.ReactionType(reactionId).String())
if err != nil {
-
log.Printf("failed to get reaction types: %v", err)
+
l.Error("failed to get reaction types", "err", err)
htmx.HxError(w, http.StatusInternalServerError, "Failed to get global study session feed, try again later.")
return
}
reactionEvents, err := db.GetReactionsForSession(h.Db, subjectDid, subjectRkey)
if err != nil {
-
log.Println("failed to get reactions for study session from db:", err)
+
l.Error("failed to get reactions for study session from db", "err", err)
htmx.HxError(w, http.StatusInternalServerError, "Failed to get global study session feed, try again later.")
return
}
···
case http.MethodPost:
reactionEvent, err := db.GetReactionEvent(h.Db, user.Did, session, reaction.ID)
if err != nil {
-
log.Println("failed to get reaction event from db:", err)
+
l.Error("failed to get reaction event from db", "err", err)
htmx.HxError(w, http.StatusInternalServerError, "Failed to add reaction, try again later.")
return
}
if reactionEvent != nil {
-
log.Println("failed to add reaction, user already reacted")
+
l.Error("failed to add reaction, user already reacted")
htmx.HxError(w, http.StatusBadRequest, "You cannot react multiple times with the same reaction.")
return
}
···
}},
})
if err != nil {
-
log.Println("failed to create reaction record:", err)
+
l.Error("failed to create reaction record", "err", err)
htmx.HxError(w, http.StatusInternalServerError, "Failed to add reaction, try again later.")
return
}
···
Set("session_rkey", subjectRkey),
})
if err != nil {
-
log.Println("failed to enqueue posthog event:", err)
+
l.Error("failed to enqueue posthog event", "err", err)
}
}
···
case http.MethodDelete:
reactionEvent, err := db.GetReactionEvent(h.Db, user.Did, session, reaction.ID)
if err != nil {
-
log.Println("failed to get reaction event from db:", err)
+
l.Error("failed to get reaction event from db", "err", err)
htmx.HxError(w, http.StatusInternalServerError, "Failed to remove reaction, try again later.")
return
}
···
Rkey: reactionEvent.Rkey,
})
if err != nil {
-
log.Println("failed to delete reaction record:", err)
+
l.Error("failed to delete reaction record", "err", err)
htmx.HxError(w, http.StatusInternalServerError, "Failed to remove reaction, try again later.")
return
}
···
Set("session_rkey", subjectRkey),
})
if err != nil {
-
log.Println("failed to enqueue posthog event:", err)
+
l.Error("failed to enqueue posthog event", "err", err)
}
}
···
})
partials.NewReactions(partials.NewReactionsProps{
-
User: user,
-
SessionRkey: subjectRkey,
-
SessionDid: subjectDid,
-
// Reactions: reactions,
+
User: user,
+
SessionRkey: subjectRkey,
+
SessionDid: subjectDid,
ReactionEvents: reactionEvents,
}).Render(r.Context(), w)
}