[WIP] music platform user data scraper
teal-fm atproto
at main 2.4 kB view raw
1// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 3package chat 4 5// schema: chat.bsky.moderation.getMessageContext 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// ModerationGetMessageContext_Output is the output of a chat.bsky.moderation.getMessageContext call. 17type ModerationGetMessageContext_Output struct { 18 Messages []*ModerationGetMessageContext_Output_Messages_Elem `json:"messages" cborgen:"messages"` 19} 20 21type ModerationGetMessageContext_Output_Messages_Elem struct { 22 ConvoDefs_MessageView *ConvoDefs_MessageView 23 ConvoDefs_DeletedMessageView *ConvoDefs_DeletedMessageView 24} 25 26func (t *ModerationGetMessageContext_Output_Messages_Elem) MarshalJSON() ([]byte, error) { 27 if t.ConvoDefs_MessageView != nil { 28 t.ConvoDefs_MessageView.LexiconTypeID = "chat.bsky.convo.defs#messageView" 29 return json.Marshal(t.ConvoDefs_MessageView) 30 } 31 if t.ConvoDefs_DeletedMessageView != nil { 32 t.ConvoDefs_DeletedMessageView.LexiconTypeID = "chat.bsky.convo.defs#deletedMessageView" 33 return json.Marshal(t.ConvoDefs_DeletedMessageView) 34 } 35 return nil, fmt.Errorf("cannot marshal empty enum") 36} 37func (t *ModerationGetMessageContext_Output_Messages_Elem) UnmarshalJSON(b []byte) error { 38 typ, err := util.TypeExtract(b) 39 if err != nil { 40 return err 41 } 42 43 switch typ { 44 case "chat.bsky.convo.defs#messageView": 45 t.ConvoDefs_MessageView = new(ConvoDefs_MessageView) 46 return json.Unmarshal(b, t.ConvoDefs_MessageView) 47 case "chat.bsky.convo.defs#deletedMessageView": 48 t.ConvoDefs_DeletedMessageView = new(ConvoDefs_DeletedMessageView) 49 return json.Unmarshal(b, t.ConvoDefs_DeletedMessageView) 50 51 default: 52 return nil 53 } 54} 55 56// ModerationGetMessageContext calls the XRPC method "chat.bsky.moderation.getMessageContext". 57// 58// convoId: Conversation that the message is from. NOTE: this field will eventually be required. 59func ModerationGetMessageContext(ctx context.Context, c *xrpc.Client, after int64, before int64, convoId string, messageId string) (*ModerationGetMessageContext_Output, error) { 60 var out ModerationGetMessageContext_Output 61 62 params := map[string]interface{}{ 63 "after": after, 64 "before": before, 65 "convoId": convoId, 66 "messageId": messageId, 67 } 68 if err := c.Do(ctx, xrpc.Query, "", "chat.bsky.moderation.getMessageContext", params, nil, &out); err != nil { 69 return nil, err 70 } 71 72 return &out, nil 73}