Signed-off-by: brookjeynes me@brookjeynes.dev
+29
-24
internal/server/handlers/activity.go
+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
brookjeynes.dev
submitted
#0
1 commit
expand
collapse
feat(handlers/activity): use slogger
Signed-off-by: brookjeynes <me@brookjeynes.dev>
expand 0 comments
pull request successfully merged