Y艒ten: A social tracker for your language learning journey built on the atproto.

feat(handlers/activity): use slogger #12

merged opened by brookjeynes.dev targeting master from push-trrpxxyxxmot
Labels

None yet.

Participants 1
AT URI
at://did:plc:4mj54vc4ha3lh32ksxwunnbh/sh.tangled.repo.pull/3m3bmdlgblp22
+29 -24
Diff #0
+29 -24
internal/server/handlers/activity.go
··· 3 3 import ( 4 4 "errors" 5 5 "fmt" 6 - "log" 7 6 "net/http" 8 7 "time" 9 8 ··· 55 54 } 56 55 57 56 func (h *Handler) HandleNewActivityPage(w http.ResponseWriter, r *http.Request) { 57 + l := h.Logger.With("handler", "HandleNewActivityPage") 58 + 58 59 user, err := bsky.GetUserWithBskyProfile(h.Oauth, r) 59 60 if err != nil { 60 - log.Println("failed to get logged-in user:", err) 61 + l.Error("failed to get logged-in user", "err", err) 61 62 htmx.HxRedirect(w, "/login") 62 63 return 63 64 } ··· 71 72 case http.MethodPost: 72 73 client, err := h.Oauth.AuthorizedClient(r) 73 74 if err != nil { 74 - log.Println("failed to get authorized client:", err) 75 + l.Error("failed to get authorized client", "err", err) 75 76 htmx.HxRedirect(w, "/login") 76 77 return 77 78 } 78 79 79 80 newActivity, err := parseActivityForm(r) 80 81 if err != nil { 81 - log.Println("invalid activity form:", err) 82 + l.Error("invalid activity form", "err", err) 82 83 htmx.HxError(w, http.StatusBadRequest, "Failed to create activity, ensure all fields contain valid data.") 83 84 return 84 85 } ··· 87 88 newActivity.CreatedAt = time.Now().UTC() 88 89 89 90 if err := db.ValidateActivity(newActivity); err != nil { 90 - log.Println("invalid activity def:", err) 91 + l.Error("invalid activity def", "err", err) 91 92 switch { 92 93 case errors.Is(err, db.ErrActivityNameEmpty): 93 94 htmx.HxError(w, http.StatusBadRequest, "Activity must have a name.") ··· 123 124 }, 124 125 }) 125 126 if err != nil { 126 - log.Println("failed to create activity record:", err) 127 + l.Error("failed to create activity record", "err", err) 127 128 htmx.HxError(w, http.StatusInternalServerError, "Failed to create activity, try again later.") 128 129 return 129 130 } 130 131 131 132 err = SavePendingCreate(h, w, r, PendingActivityCreation, newActivity) 132 133 if err != nil { 133 - log.Printf("failed to save yoten-session to add pending activity creation: %v", err) 134 + l.Error("failed to save yoten-session to add pending activity creation", "err", err) 134 135 } 135 136 136 137 if !h.Config.Core.Dev { ··· 145 146 Set("category_count", len(categoriesString)), 146 147 }) 147 148 if err != nil { 148 - log.Println("failed to enqueue posthog event:", err) 149 + l.Error("failed to enqueue posthog event", "err", err) 149 150 } 150 151 } 151 152 ··· 154 155 } 155 156 156 157 func (h *Handler) HandleDeleteActivity(w http.ResponseWriter, r *http.Request) { 158 + l := h.Logger.With("handler", "HandleDeleteActivity") 159 + 157 160 user := h.Oauth.GetUser(r) 158 161 if user == nil { 159 - log.Println("failed to get logged-in user") 162 + l.Error("failed to get logged-in user") 160 163 htmx.HxRedirect(w, "/login") 161 164 return 162 165 } 163 166 client, err := h.Oauth.AuthorizedClient(r) 164 167 if err != nil { 165 - log.Println("failed to get authorized client:", err) 168 + l.Error("failed to get authorized client", "err", err) 166 169 htmx.HxError(w, http.StatusUnauthorized, "Failed to delete activity, try again later.") 167 170 return 168 171 } ··· 172 175 rkey := chi.URLParam(r, "rkey") 173 176 activity, err := db.GetActivityByRkey(h.Db, user.Did, rkey) 174 177 if err != nil { 175 - log.Println("failed to get activity from db:", err) 178 + l.Error("failed to get activity from db", "err", err) 176 179 htmx.HxError(w, http.StatusInternalServerError, "Failed to delete activity, try again later.") 177 180 return 178 181 } 179 182 180 183 if user.Did != activity.Did { 181 - log.Printf("user '%s' does not own record '%s'", user.Did, rkey) 184 + l.Error("user does not own record", "did", user.Did, "activityDid", activity.Did) 182 185 htmx.HxError(w, http.StatusUnauthorized, "You do not have permissions to edit this activity.") 183 186 return 184 187 } ··· 189 192 Rkey: activity.Rkey, 190 193 }) 191 194 if err != nil { 192 - log.Println("failed to delete activity from PDS:", err) 195 + l.Error("failed to delete activity from PDS", "err", err) 193 196 htmx.HxError(w, http.StatusInternalServerError, "Failed to delete activity, try again later.") 194 197 return 195 198 } 196 199 197 200 err = SavePendingDelete(h, w, r, PendingActivityDeletion, activity) 198 201 if err != nil { 199 - log.Printf("failed to save yoten-session to add pending activity deletion: %v", err) 202 + l.Error("failed to save yoten-session to add pending activity deletion", "err", err) 200 203 } 201 204 202 205 if !h.Config.Core.Dev { ··· 207 210 Set("activity_id", activity.ID), 208 211 }) 209 212 if err != nil { 210 - log.Println("failed to enqueue posthog event:", err) 213 + l.Error("failed to enqueue posthog event", "err", err) 211 214 } 212 215 } 213 216 ··· 216 219 } 217 220 218 221 func (h *Handler) HandleEditActivityPage(w http.ResponseWriter, r *http.Request) { 222 + l := h.Logger.With("handler", "HandleEditActivityPage") 223 + 219 224 user, err := bsky.GetUserWithBskyProfile(h.Oauth, r) 220 225 if err != nil { 221 - log.Println("failed to get logged-in user:", err) 226 + l.Error("failed to get logged-in user", "err", err) 222 227 htmx.HxRedirect(w, "/login") 223 228 return 224 229 } ··· 226 231 rkey := chi.URLParam(r, "rkey") 227 232 activity, err := db.GetActivityByRkey(h.Db, user.Did, rkey) 228 233 if err != nil { 229 - log.Println("failed to get activity from db:", err) 234 + l.Error("failed to get activity from db", "err", err) 230 235 htmx.HxError(w, http.StatusInternalServerError, "Failed to update activity, try again later.") 231 236 return 232 237 } 233 238 234 239 if user.Did != activity.Did { 235 - log.Printf("user '%s' does not own record '%s'", user.Did, rkey) 240 + l.Error("user does not own record", "did", user.Did, "activityDid", activity.Did) 236 241 htmx.HxError(w, http.StatusUnauthorized, "You do not have permissions to edit this activity.") 237 242 return 238 243 } ··· 247 252 case http.MethodPost: 248 253 client, err := h.Oauth.AuthorizedClient(r) 249 254 if err != nil { 250 - log.Println("failed to get authorized client:", err) 255 + l.Error("failed to get authorized client", "err", err) 251 256 htmx.HxRedirect(w, "/login") 252 257 return 253 258 } 254 259 255 260 updatedActivity, err := parseActivityForm(r) 256 261 if err != nil { 257 - log.Println("invalid activity form:", err) 262 + l.Error("invalid activity form", "err", err) 258 263 htmx.HxError(w, http.StatusBadRequest, "Failed to create activity, ensure all fields contain valid data.") 259 264 return 260 265 } ··· 263 268 updatedActivity.CreatedAt = activity.CreatedAt 264 269 265 270 if err := db.ValidateActivity(updatedActivity); err != nil { 266 - log.Println("invalid activity def:", err) 271 + l.Error("invalid activity def", "err", err) 267 272 switch { 268 273 case errors.Is(err, db.ErrActivityNameEmpty): 269 274 htmx.HxError(w, http.StatusBadRequest, "Activity must have a name.") ··· 306 311 SwapRecord: cid, 307 312 }) 308 313 if err != nil { 309 - log.Println("failed to update study session record:", err) 314 + l.Error("failed to update study session record", "err", err) 310 315 htmx.HxError(w, http.StatusInternalServerError, "Failed to update activity, try again later.") 311 316 return 312 317 } 313 318 314 319 err = SavePendingUpdate(h, w, r, PendingActivityUpdates, updatedActivity) 315 320 if err != nil { 316 - log.Printf("failed to save yoten-session to add pending activity updates: %v", err) 321 + l.Error("failed to save yoten-session to add pending activity updates", "err", err) 317 322 } 318 323 319 324 if !h.Config.Core.Dev { ··· 328 333 Set("category_count", len(categoriesString)), 329 334 }) 330 335 if err != nil { 331 - log.Println("failed to enqueue posthog event:", err) 336 + l.Error("failed to enqueue posthog event", "err", err) 332 337 } 333 338 } 334 339

History

1 round 0 comments
sign up or login to add to the discussion
brookjeynes.dev submitted #0
1 commit
expand
feat(handlers/activity): use slogger
expand 0 comments
pull request successfully merged