fork of indigo with slightly nicer lexgen
at main 2.5 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) 14 15// ModerationGetMessageContext_Output is the output of a chat.bsky.moderation.getMessageContext call. 16type ModerationGetMessageContext_Output struct { 17 Messages []*ModerationGetMessageContext_Output_Messages_Elem `json:"messages" cborgen:"messages"` 18} 19 20type ModerationGetMessageContext_Output_Messages_Elem struct { 21 ConvoDefs_MessageView *ConvoDefs_MessageView 22 ConvoDefs_DeletedMessageView *ConvoDefs_DeletedMessageView 23} 24 25func (t *ModerationGetMessageContext_Output_Messages_Elem) MarshalJSON() ([]byte, error) { 26 if t.ConvoDefs_MessageView != nil { 27 t.ConvoDefs_MessageView.LexiconTypeID = "chat.bsky.convo.defs#messageView" 28 return json.Marshal(t.ConvoDefs_MessageView) 29 } 30 if t.ConvoDefs_DeletedMessageView != nil { 31 t.ConvoDefs_DeletedMessageView.LexiconTypeID = "chat.bsky.convo.defs#deletedMessageView" 32 return json.Marshal(t.ConvoDefs_DeletedMessageView) 33 } 34 return nil, fmt.Errorf("cannot marshal empty enum") 35} 36func (t *ModerationGetMessageContext_Output_Messages_Elem) UnmarshalJSON(b []byte) error { 37 typ, err := util.TypeExtract(b) 38 if err != nil { 39 return err 40 } 41 42 switch typ { 43 case "chat.bsky.convo.defs#messageView": 44 t.ConvoDefs_MessageView = new(ConvoDefs_MessageView) 45 return json.Unmarshal(b, t.ConvoDefs_MessageView) 46 case "chat.bsky.convo.defs#deletedMessageView": 47 t.ConvoDefs_DeletedMessageView = new(ConvoDefs_DeletedMessageView) 48 return json.Unmarshal(b, t.ConvoDefs_DeletedMessageView) 49 50 default: 51 return nil 52 } 53} 54 55// ModerationGetMessageContext calls the XRPC method "chat.bsky.moderation.getMessageContext". 56// 57// convoId: Conversation that the message is from. NOTE: this field will eventually be required. 58func ModerationGetMessageContext(ctx context.Context, c util.LexClient, after int64, before int64, convoId string, messageId string) (*ModerationGetMessageContext_Output, error) { 59 var out ModerationGetMessageContext_Output 60 61 params := map[string]interface{}{} 62 if after != 0 { 63 params["after"] = after 64 } 65 if before != 0 { 66 params["before"] = before 67 } 68 if convoId != "" { 69 params["convoId"] = convoId 70 } 71 params["messageId"] = messageId 72 if err := c.LexDo(ctx, util.Query, "", "chat.bsky.moderation.getMessageContext", params, nil, &out); err != nil { 73 return nil, err 74 } 75 76 return &out, nil 77}