MCPcopy Index your code
hub / github.com/Preloading/TwitterAPIBridge / GetUsersLists

Function GetUsersLists

twitterv1/lists.go:12–98  ·  view source on GitHub ↗

https://web.archive.org/web/20120807220901/https://dev.twitter.com/docs/api/1/get/lists

(c *fiber.Ctx)

Source from the content-addressed store, hash-verified

10
11// https://web.archive.org/web/20120807220901/https://dev.twitter.com/docs/api/1/get/lists
12func GetUsersLists(c *fiber.Ctx) error {
13
14 screen_name := c.Params("user")
15 if screen_name == "" {
16 screen_name = c.Query("screen_name")
17 }
18
19 if screen_name == "" {
20 userIDStr := c.Query("user_id")
21 userID, err := strconv.ParseInt(userIDStr, 10, 64)
22 if err != nil {
23 return ReturnError(c, "Invalid user_id provided", 195, fiber.StatusForbidden)
24 }
25 screen_namePtr, err := bridge.TwitterIDToBlueSky(&userID) // yup
26 if err != nil {
27 return ReturnError(c, "Failed to find ID pointer (post does not exist or this tweet has never been seen on this server)", 195, fiber.StatusForbidden)
28 }
29 if screen_namePtr == nil {
30 return ReturnError(c, "Failed to find ID pointer (post does not exist or this tweet has never been seen on this server)", 195, fiber.StatusForbidden)
31 }
32 screen_name = *screen_namePtr
33 }
34
35 userDID, pds, _, oauthToken, err := GetAuthFromReq(c)
36
37 if err != nil {
38 blankstring := ""
39 oauthToken = &blankstring
40 }
41
42 if screen_name == "" {
43 if userDID == nil {
44 return ReturnError(c, "Invalid user_id provided", 195, fiber.StatusForbidden)
45 }
46 screen_name = *userDID
47 }
48
49 cursor := c.Query("cursor")
50
51 lists, err := blueskyapi.GetUsersLists(*pds, *oauthToken, screen_name, 20, cursor)
52 if err != nil {
53 return HandleBlueskyError(c, err.Error(), "app.bsky.graph.getLists", GetUsersLists)
54 }
55
56 listsOwner, err := blueskyapi.GetUserInfo(*pds, *oauthToken, screen_name, false)
57 if err != nil {
58 return HandleBlueskyError(c, err.Error(), "app.bsky.actor.getProfile", GetUsersLists)
59 }
60
61 twitterLists := []bridge.TwitterList{}
62
63 for _, list := range lists.Lists {
64 listDID, _, listRKEY := blueskyapi.GetURIComponents(list.URI)
65 id := bridge.BlueSkyToTwitterID(list.URI)
66
67 twitterLists = append(twitterLists, bridge.TwitterList{
68 Slug: listRKEY,
69 Name: list.Name,

Callers

nothing calls this directly

Calls 7

TwitterIDToBlueSkyFunction · 0.92
BlueSkyToTwitterIDFunction · 0.92
TidToNumFunction · 0.92
ReturnErrorFunction · 0.85
GetAuthFromReqFunction · 0.85
HandleBlueskyErrorFunction · 0.85
EncodeAndSendFunction · 0.85

Tested by

no test coverage detected