feat(handlers/activity): use slogger #12

merged
opened by brookjeynes.dev targeting master from push-trrpxxyxxmot
Changed files
+29 -24
internal
server
handlers
+29 -24
internal/server/handlers/activity.go
···
import (
"errors"
"fmt"
-
"log"
"net/http"
"time"
···
}
func (h *Handler) HandleNewActivityPage(w http.ResponseWriter, r *http.Request) {
+
l := h.Logger.With("handler", "HandleNewActivityPage")
+
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
}
···
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
}
newActivity, err := parseActivityForm(r)
if err != nil {
-
log.Println("invalid activity form:", err)
+
l.Error("invalid activity form", "err", err)
htmx.HxError(w, http.StatusBadRequest, "Failed to create activity, ensure all fields contain valid data.")
return
}
···
newActivity.CreatedAt = time.Now().UTC()
if err := db.ValidateActivity(newActivity); err != nil {
-
log.Println("invalid activity def:", err)
+
l.Error("invalid activity def", "err", err)
switch {
case errors.Is(err, db.ErrActivityNameEmpty):
htmx.HxError(w, http.StatusBadRequest, "Activity must have a name.")
···
},
})
if err != nil {
-
log.Println("failed to create activity record:", err)
+
l.Error("failed to create activity record", "err", err)
htmx.HxError(w, http.StatusInternalServerError, "Failed to create activity, try again later.")
return
}
err = SavePendingCreate(h, w, r, PendingActivityCreation, newActivity)
if err != nil {
-
log.Printf("failed to save yoten-session to add pending activity creation: %v", err)
+
l.Error("failed to save yoten-session to add pending activity creation", "err", err)
}
if !h.Config.Core.Dev {
···
Set("category_count", len(categoriesString)),
})
if err != nil {
-
log.Println("failed to enqueue posthog event:", err)
+
l.Error("failed to enqueue posthog event", "err", err)
}
}
···
}
func (h *Handler) HandleDeleteActivity(w http.ResponseWriter, r *http.Request) {
+
l := h.Logger.With("handler", "HandleDeleteActivity")
+
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.HxError(w, http.StatusUnauthorized, "Failed to delete activity, try again later.")
return
}
···
rkey := chi.URLParam(r, "rkey")
activity, err := db.GetActivityByRkey(h.Db, user.Did, rkey)
if err != nil {
-
log.Println("failed to get activity from db:", err)
+
l.Error("failed to get activity from db", "err", err)
htmx.HxError(w, http.StatusInternalServerError, "Failed to delete activity, try again later.")
return
}
if user.Did != activity.Did {
-
log.Printf("user '%s' does not own record '%s'", user.Did, rkey)
+
l.Error("user does not own record", "did", user.Did, "activityDid", activity.Did)
htmx.HxError(w, http.StatusUnauthorized, "You do not have permissions to edit this activity.")
return
}
···
Rkey: activity.Rkey,
})
if err != nil {
-
log.Println("failed to delete activity from PDS:", err)
+
l.Error("failed to delete activity from PDS", "err", err)
htmx.HxError(w, http.StatusInternalServerError, "Failed to delete activity, try again later.")
return
}
err = SavePendingDelete(h, w, r, PendingActivityDeletion, activity)
if err != nil {
-
log.Printf("failed to save yoten-session to add pending activity deletion: %v", err)
+
l.Error("failed to save yoten-session to add pending activity deletion", "err", err)
}
if !h.Config.Core.Dev {
···
Set("activity_id", activity.ID),
})
if err != nil {
-
log.Println("failed to enqueue posthog event:", err)
+
l.Error("failed to enqueue posthog event", "err", err)
}
}
···
}
func (h *Handler) HandleEditActivityPage(w http.ResponseWriter, r *http.Request) {
+
l := h.Logger.With("handler", "HandleEditActivityPage")
+
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
}
···
rkey := chi.URLParam(r, "rkey")
activity, err := db.GetActivityByRkey(h.Db, user.Did, rkey)
if err != nil {
-
log.Println("failed to get activity from db:", err)
+
l.Error("failed to get activity from db", "err", err)
htmx.HxError(w, http.StatusInternalServerError, "Failed to update activity, try again later.")
return
}
if user.Did != activity.Did {
-
log.Printf("user '%s' does not own record '%s'", user.Did, rkey)
+
l.Error("user does not own record", "did", user.Did, "activityDid", activity.Did)
htmx.HxError(w, http.StatusUnauthorized, "You do not have permissions to edit this activity.")
return
}
···
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
}
updatedActivity, err := parseActivityForm(r)
if err != nil {
-
log.Println("invalid activity form:", err)
+
l.Error("invalid activity form", "err", err)
htmx.HxError(w, http.StatusBadRequest, "Failed to create activity, ensure all fields contain valid data.")
return
}
···
updatedActivity.CreatedAt = activity.CreatedAt
if err := db.ValidateActivity(updatedActivity); err != nil {
-
log.Println("invalid activity def:", err)
+
l.Error("invalid activity def", "err", err)
switch {
case errors.Is(err, db.ErrActivityNameEmpty):
htmx.HxError(w, http.StatusBadRequest, "Activity must have a name.")
···
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 activity, try again later.")
return
}
err = SavePendingUpdate(h, w, r, PendingActivityUpdates, updatedActivity)
if err != nil {
-
log.Printf("failed to save yoten-session to add pending activity updates: %v", err)
+
l.Error("failed to save yoten-session to add pending activity updates", "err", err)
}
if !h.Config.Core.Dev {
···
Set("category_count", len(categoriesString)),
})
if err != nil {
-
log.Println("failed to enqueue posthog event:", err)
+
l.Error("failed to enqueue posthog event", "err", err)
}
}