this repo has no description
1package main 2 3import ( 4 "github.com/bluesky-social/indigo/api/bsky" 5 "github.com/bluesky-social/indigo/xrpc" 6 "github.com/labstack/echo-contrib/session" 7 "github.com/labstack/echo/v4" 8) 9 10func (s *TestServer) handleProfile(e echo.Context) error { 11 sess, err := session.Get("session", e) 12 if err != nil { 13 return err 14 } 15 16 did, ok := sess.Values["did"] 17 if !ok { 18 return e.Redirect(302, "/login") 19 } 20 21 var oauthSession OauthSession 22 if err := s.db.Raw("SELECT * FROM oauth_sessions WHERE did = ?", did).Scan(&oauthSession).Error; err != nil { 23 return err 24 } 25 26 args, err := authedReqArgsFromSession(&oauthSession) 27 if err != nil { 28 return err 29 } 30 31 var out bsky.ActorDefs_ProfileViewDetailed 32 if err := s.xrpcCli.Do(e.Request().Context(), args, xrpc.Query, "", "app.bsky.actor.getProfile", map[string]any{"actor": oauthSession.Did}, nil, &out); err != nil { 33 return err 34 } 35 36 var dn string 37 if out.DisplayName != nil { 38 dn = *out.DisplayName 39 } 40 41 var desc string 42 if out.Description != nil { 43 desc = *out.Description 44 } 45 46 return e.Render(200, "profile.html", map[any]any{ 47 "DisplayName": dn, 48 "Description": desc, 49 "Handle": out.Handle, 50 }) 51}