Monorepo for Tangled tangled.org
5

Configure Feed

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

1package xrpc 2 3import ( 4 "net/http" 5 "strconv" 6 7 "tangled.org/core/api/tangled" 8 "tangled.org/core/knotserver/db" 9 xrpcerr "tangled.org/core/xrpc/errors" 10) 11 12func (x *Xrpc) ListMembers(w http.ResponseWriter, r *http.Request) { 13 p, err := parseListParams(r) 14 if err != nil { 15 writeError(w, xrpcerr.NewXrpcError( 16 xrpcerr.WithTag("InvalidRequest"), 17 xrpcerr.WithMessage(err.Error()), 18 ), http.StatusBadRequest) 19 return 20 } 21 22 members, next, err := db.ListKnotMembers(x.Db, p) 23 if err != nil { 24 x.Logger.Error("failed to list knot members", "error", err) 25 writeError(w, xrpcerr.NewXrpcError( 26 xrpcerr.WithTag("InternalServerError"), 27 xrpcerr.WithMessage("failed to list knot members"), 28 ), http.StatusInternalServerError) 29 return 30 } 31 32 response := tangled.KnotListMembers_Output{ 33 Items: mapSlice(members, func(m db.KnotMember) *tangled.KnotListMembers_ListItem { 34 return &tangled.KnotListMembers_ListItem{ 35 Subject: m.Subject.String(), 36 AddedBy: m.Did.String(), 37 CreatedAt: m.Created, 38 } 39 }), 40 } 41 if next != nil { 42 cur := strconv.Itoa(*next) 43 response.Cursor = &cur 44 } 45 46 x.writeJson(w, response) 47}