backend for xcvr appview
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix dependencies, sql query, and update endpoint

rachel-mp4 f3190597 e35a95f3

+16 -14
+4 -2
server/go.mod
··· 3 3 go 1.24.2 4 4 5 5 require ( 6 - github.com/bluesky-social/indigo v0.0.0-20250612212613-34115b57349c 6 + github.com/bluesky-social/indigo v0.0.0-20250616202859-d4516ea1d6cf 7 7 github.com/gorilla/sessions v1.4.0 8 8 github.com/haileyok/atproto-oauth-golang v0.0.2 9 9 github.com/jackc/pgx/v5 v5.7.4 ··· 22 22 github.com/go-logr/stdr v1.2.2 // indirect 23 23 github.com/goccy/go-json v0.10.2 // indirect 24 24 github.com/gogo/protobuf v1.3.2 // indirect 25 - github.com/golang-jwt/jwt/v5 v5.2.1 // indirect 25 + github.com/golang-jwt/jwt/v5 v5.2.2 // indirect 26 26 github.com/google/uuid v1.6.0 // indirect 27 27 github.com/gorilla/securecookie v1.1.2 // indirect 28 28 github.com/gorilla/websocket v1.5.3 // indirect ··· 89 89 google.golang.org/protobuf v1.36.6 // indirect 90 90 lukechampine.com/blake3 v1.2.1 // indirect 91 91 ) 92 + 93 + replace github.com/haileyok/atproto-oauth-golang => github.com/rachel-mp4/atproto-oauth-golang v0.0.0-20250616212213-a55a5f62b82d
+6 -6
server/go.sum
··· 2 2 github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= 3 3 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= 4 4 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= 5 - github.com/bluesky-social/indigo v0.0.0-20250612212613-34115b57349c h1:nnOI4tOIqlmxUohPWqaFdYh+SbkwxciQrWAUZTyTOC8= 6 - github.com/bluesky-social/indigo v0.0.0-20250612212613-34115b57349c/go.mod h1:ovyxp8AMO1Hoe838vMJUbqHTZaAR8ABM3g3TXu+A5Ng= 5 + github.com/bluesky-social/indigo v0.0.0-20250616202859-d4516ea1d6cf h1:LFlwtY9r95lAI1yYKolCLTQnwK5VjgWO87mNsKdj3Qs= 6 + github.com/bluesky-social/indigo v0.0.0-20250616202859-d4516ea1d6cf/go.mod h1:8FlFpF5cIq3DQG0kEHqyTkPV/5MDQoaWLcVwza5ZPJU= 7 7 github.com/carlmjohnson/versioninfo v0.22.5 h1:O00sjOLUAFxYQjlN/bzYTuZiS0y6fWDQjMRvwtKgwwc= 8 8 github.com/carlmjohnson/versioninfo v0.22.5/go.mod h1:QT9mph3wcVfISUKd0i9sZfVrPviHuSF+cUtLjm2WSf8= 9 9 github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= ··· 28 28 github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= 29 29 github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= 30 30 github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= 31 - github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= 32 - github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= 31 + github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8= 32 + github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= 33 33 github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= 34 34 github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= 35 35 github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= ··· 45 45 github.com/gorilla/sessions v1.4.0/go.mod h1:FLWm50oby91+hl7p/wRxDth9bWSuk0qVL2emc7lT5ik= 46 46 github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= 47 47 github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= 48 - github.com/haileyok/atproto-oauth-golang v0.0.2 h1:61KPkLB615LQXR2f5x1v3sf6vPe6dOXqNpTYCgZ0Fz8= 49 - github.com/haileyok/atproto-oauth-golang v0.0.2/go.mod h1:jcZ4GCjo5I5RuE/RsAXg1/b6udw7R4W+2rb/cGyTDK8= 50 48 github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= 51 49 github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= 52 50 github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxCsHI= ··· 159 157 github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= 160 158 github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= 161 159 github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= 160 + github.com/rachel-mp4/atproto-oauth-golang v0.0.0-20250616212213-a55a5f62b82d h1:FQ8YKfXnKmyEbKnO/blj3qWGhYdw+l3DtQCqSboJRvA= 161 + github.com/rachel-mp4/atproto-oauth-golang v0.0.0-20250616212213-a55a5f62b82d/go.mod h1:vVRo6BPEmWOZnYk9LtXLzBPzfkY63fUaBahA+o4h55Q= 162 162 github.com/rachel-mp4/lrcd v0.0.0-20250603192958-089ba44e79a5 h1:NMDkC4XYysiYebcoFDnsPdBVr8/NEuahKM6xqQJITp0= 163 163 github.com/rachel-mp4/lrcd v0.0.0-20250603192958-089ba44e79a5/go.mod h1:Hn8xgJ2JwdiFJM5WjamVv4lRTwB6CdcqPjrCvJM7234= 164 164 github.com/rachel-mp4/lrcproto v0.0.0-20250527205756-58da8216f98c h1:nOWeKeE7wph0IcwUyUBi0YBynUnAo4JW/J5DM88x4KM=
+1 -1
server/internal/db/db.go
··· 76 76 77 77 func (s *Store) StoreDidHandle(did string, handle string, ctx context.Context) error { 78 78 _, err := s.pool.Exec(ctx, `INSERT INTO did_handles ( 79 - handle 79 + handle, 80 80 did 81 81 ) VALUES ($1, $2)`, handle, did) 82 82 if err != nil {
+1 -1
server/internal/handler/handler.go
··· 36 36 // oauth handlers 37 37 mux.HandleFunc(oauthJWKSPath(), h.serveJWKS) 38 38 mux.HandleFunc("POST /oauth/login", h.oauthLogin) 39 - mux.HandleFunc("GET /oauth", h.getSession) 39 + mux.HandleFunc("GET /oauth/whoami", h.getSession) 40 40 mux.HandleFunc(oauthCallbackPath(), h.oauthCallback) 41 41 return h 42 42 }
+4 -4
server/internal/handler/oauthHandlers.go
··· 67 67 } 68 68 go func() { 69 69 err := h.db.StoreDidHandle(res.DID, handle, context.Background()) 70 + h.logger.Deprintln("storing....") 70 71 if err != nil { 71 72 h.logger.Deprintln("failed to store did handle: " + err.Error()) 72 73 } ··· 161 162 h.serverError(w, errors.New("error resolving handle")) 162 163 return 163 164 } 165 + h.logger.Deprintln("storing...") 164 166 err = h.db.StoreDidHandle(did, handle, r.Context()) 165 167 if err != nil { 166 168 h.logger.Deprintln("error storing did_handle in getSession: " + err.Error()) ··· 168 170 } 169 171 w.Header().Set("Content-Type", "application/json") 170 172 json.NewEncoder(w).Encode(map[string]any{ 171 - "id": map[string]any{ 172 - "did": did, 173 - "handle": handle, 174 - }, 173 + "did": did, 174 + "handle": handle, 175 175 }) 176 176 }