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/v4"
7)
8
9func (s *TestServer) handleProfile(e echo.Context) error {
10 authArgs, authed, err := s.getOauthSessionAuthArgs(e)
11 if err != nil {
12 return err
13 }
14
15 if !authed {
16 return e.Redirect(302, "/login")
17 }
18
19 var out bsky.ActorDefs_ProfileViewDetailed
20 if err := s.xrpcCli.Do(e.Request().Context(), authArgs, xrpc.Query, "", "app.bsky.actor.getProfile", map[string]any{"actor": authArgs.Did}, nil, &out); err != nil {
21 return err
22 }
23
24 var dn string
25 if out.DisplayName != nil {
26 dn = *out.DisplayName
27 }
28
29 var desc string
30 if out.Description != nil {
31 desc = *out.Description
32 }
33
34 return e.Render(200, "profile.html", map[any]any{
35 "DisplayName": dn,
36 "Description": desc,
37 "Handle": out.Handle,
38 })
39}