[WIP] music platform user data scraper
teal-fm atproto
at main 2.2 kB view raw
1// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 3package chat 4 5// schema: chat.bsky.convo.getMessages 6 7import ( 8 "context" 9 "encoding/json" 10 "fmt" 11 12 "github.com/bluesky-social/indigo/lex/util" 13 "github.com/bluesky-social/indigo/xrpc" 14) 15 16// ConvoGetMessages_Output is the output of a chat.bsky.convo.getMessages call. 17type ConvoGetMessages_Output struct { 18 Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"` 19 Messages []*ConvoGetMessages_Output_Messages_Elem `json:"messages" cborgen:"messages"` 20} 21 22type ConvoGetMessages_Output_Messages_Elem struct { 23 ConvoDefs_MessageView *ConvoDefs_MessageView 24 ConvoDefs_DeletedMessageView *ConvoDefs_DeletedMessageView 25} 26 27func (t *ConvoGetMessages_Output_Messages_Elem) MarshalJSON() ([]byte, error) { 28 if t.ConvoDefs_MessageView != nil { 29 t.ConvoDefs_MessageView.LexiconTypeID = "chat.bsky.convo.defs#messageView" 30 return json.Marshal(t.ConvoDefs_MessageView) 31 } 32 if t.ConvoDefs_DeletedMessageView != nil { 33 t.ConvoDefs_DeletedMessageView.LexiconTypeID = "chat.bsky.convo.defs#deletedMessageView" 34 return json.Marshal(t.ConvoDefs_DeletedMessageView) 35 } 36 return nil, fmt.Errorf("cannot marshal empty enum") 37} 38func (t *ConvoGetMessages_Output_Messages_Elem) UnmarshalJSON(b []byte) error { 39 typ, err := util.TypeExtract(b) 40 if err != nil { 41 return err 42 } 43 44 switch typ { 45 case "chat.bsky.convo.defs#messageView": 46 t.ConvoDefs_MessageView = new(ConvoDefs_MessageView) 47 return json.Unmarshal(b, t.ConvoDefs_MessageView) 48 case "chat.bsky.convo.defs#deletedMessageView": 49 t.ConvoDefs_DeletedMessageView = new(ConvoDefs_DeletedMessageView) 50 return json.Unmarshal(b, t.ConvoDefs_DeletedMessageView) 51 52 default: 53 return nil 54 } 55} 56 57// ConvoGetMessages calls the XRPC method "chat.bsky.convo.getMessages". 58func ConvoGetMessages(ctx context.Context, c *xrpc.Client, convoId string, cursor string, limit int64) (*ConvoGetMessages_Output, error) { 59 var out ConvoGetMessages_Output 60 61 params := map[string]interface{}{ 62 "convoId": convoId, 63 "cursor": cursor, 64 "limit": limit, 65 } 66 if err := c.Do(ctx, xrpc.Query, "", "chat.bsky.convo.getMessages", params, nil, &out); err != nil { 67 return nil, err 68 } 69 70 return &out, nil 71}