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

feat(handlers/follow): use slogger

Signed-off-by: brookjeynes <me@brookjeynes.dev>

authored by brookjeynes.dev and committed by

Tangled 5cc3bbb3 ee2d9d7e

+11 -10
+11 -10
internal/server/handlers/follow.go
··· 1 package handlers 2 3 import ( 4 - "log" 5 "net/http" 6 "time" 7 ··· 20 ) 21 22 func (h *Handler) HandleFollow(w http.ResponseWriter, r *http.Request) { 23 client, err := h.Oauth.AuthorizedClient(r) 24 if err != nil { 25 - log.Println("failed to get authorized client:", err) 26 htmx.HxRedirect(w, "/login") 27 return 28 } 29 30 user, err := bsky.GetUserWithBskyProfile(h.Oauth, r) 31 if err != nil { 32 - log.Println("failed to get logged-in user:", err) 33 htmx.HxRedirect(w, "/login") 34 return 35 } ··· 42 43 subjectIdent, err := h.IdResolver.ResolveIdent(r.Context(), subject) 44 if err != nil { 45 - log.Println("failed to follow, invalid did:", err) 46 htmx.HxError(w, http.StatusBadRequest, "Failed to follow profile, try again later.") 47 return 48 } 49 50 if user.Did == subjectIdent.DID.String() { 51 - log.Println("failed to follow, cannot follow yourself") 52 htmx.HxError(w, http.StatusBadRequest, "You cannot follow yourself.") 53 return 54 } ··· 68 }}, 69 }) 70 if err != nil { 71 - log.Println("failed to create follow record:", err) 72 htmx.HxError(w, http.StatusInternalServerError, "Failed to follow profile, try again later.") 73 return 74 } ··· 84 Set("is_mutual_follow", followStatus == db.IsMutual), 85 }) 86 if err != nil { 87 - log.Println("failed to enqueue posthog event:", err) 88 } 89 } 90 ··· 95 case http.MethodDelete: 96 follow, err := db.GetFollow(h.Db, user.Did, subjectIdent.DID.String()) 97 if err != nil { 98 - log.Println("failed to get follow relationship:", err) 99 htmx.HxError(w, http.StatusInternalServerError, "Failed to unfollow profile, try again later.") 100 return 101 } ··· 106 Rkey: follow.Rkey, 107 }) 108 if err != nil { 109 - log.Println("failed to delete follow record:", err) 110 htmx.HxError(w, http.StatusInternalServerError, "Failed to unfollow profile, try again later.") 111 return 112 } ··· 119 Set("subject_did", subjectIdent.DID.String()), 120 }) 121 if err != nil { 122 - log.Println("failed to enqueue posthog event:", err) 123 } 124 } 125
··· 1 package handlers 2 3 import ( 4 "net/http" 5 "time" 6 ··· 19 ) 20 21 func (h *Handler) HandleFollow(w http.ResponseWriter, r *http.Request) { 22 + l := h.Logger.With("handler", "HandleFollow") 23 + 24 client, err := h.Oauth.AuthorizedClient(r) 25 if err != nil { 26 + l.Error("failed to get authorized client", "err", err) 27 htmx.HxRedirect(w, "/login") 28 return 29 } 30 31 user, err := bsky.GetUserWithBskyProfile(h.Oauth, r) 32 if err != nil { 33 + l.Error("failed to get logged-in user", "err", err) 34 htmx.HxRedirect(w, "/login") 35 return 36 } ··· 43 44 subjectIdent, err := h.IdResolver.ResolveIdent(r.Context(), subject) 45 if err != nil { 46 + l.Error("failed to follow, invalid did", "err", err) 47 htmx.HxError(w, http.StatusBadRequest, "Failed to follow profile, try again later.") 48 return 49 } 50 51 if user.Did == subjectIdent.DID.String() { 52 + l.Error("failed to follow, cannot follow yourself") 53 htmx.HxError(w, http.StatusBadRequest, "You cannot follow yourself.") 54 return 55 } ··· 69 }}, 70 }) 71 if err != nil { 72 + l.Error("failed to create follow record", "err", err) 73 htmx.HxError(w, http.StatusInternalServerError, "Failed to follow profile, try again later.") 74 return 75 } ··· 85 Set("is_mutual_follow", followStatus == db.IsMutual), 86 }) 87 if err != nil { 88 + l.Error("failed to enqueue posthog event", "err", err) 89 } 90 } 91 ··· 96 case http.MethodDelete: 97 follow, err := db.GetFollow(h.Db, user.Did, subjectIdent.DID.String()) 98 if err != nil { 99 + l.Error("failed to get follow relationship", "err", err) 100 htmx.HxError(w, http.StatusInternalServerError, "Failed to unfollow profile, try again later.") 101 return 102 } ··· 107 Rkey: follow.Rkey, 108 }) 109 if err != nil { 110 + l.Error("failed to delete follow record", "err", err) 111 htmx.HxError(w, http.StatusInternalServerError, "Failed to unfollow profile, try again later.") 112 return 113 } ··· 120 Set("subject_did", subjectIdent.DID.String()), 121 }) 122 if err != nil { 123 + l.Error("failed to enqueue posthog event", "err", err) 124 } 125 } 126