// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. // Lexicon schema: chat.bsky.convo.getMessages package chat import ( "context" "encoding/json" "fmt" lexutil "github.com/bluesky-social/indigo/lex/util" ) // ConvoGetMessages_Output is the output of a chat.bsky.convo.getMessages call. type ConvoGetMessages_Output struct { Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"` Messages []*ConvoGetMessages_Output_Messages_Elem `json:"messages" cborgen:"messages"` // relatedProfiles: Set of all members who authored or reacted to the returned messages. Members referred to by system messages are also included. RelatedProfiles []*ActorDefs_ProfileViewBasic `json:"relatedProfiles,omitempty" cborgen:"relatedProfiles,omitempty"` } type ConvoGetMessages_Output_Messages_Elem struct { ConvoDefs_MessageView *ConvoDefs_MessageView ConvoDefs_DeletedMessageView *ConvoDefs_DeletedMessageView ConvoDefs_SystemMessageView *ConvoDefs_SystemMessageView } func (t *ConvoGetMessages_Output_Messages_Elem) MarshalJSON() ([]byte, error) { if t.ConvoDefs_MessageView != nil { t.ConvoDefs_MessageView.LexiconTypeID = "chat.bsky.convo.defs#messageView" return json.Marshal(t.ConvoDefs_MessageView) } if t.ConvoDefs_DeletedMessageView != nil { t.ConvoDefs_DeletedMessageView.LexiconTypeID = "chat.bsky.convo.defs#deletedMessageView" return json.Marshal(t.ConvoDefs_DeletedMessageView) } if t.ConvoDefs_SystemMessageView != nil { t.ConvoDefs_SystemMessageView.LexiconTypeID = "chat.bsky.convo.defs#systemMessageView" return json.Marshal(t.ConvoDefs_SystemMessageView) } return nil, fmt.Errorf("can not marshal empty union as JSON") } func (t *ConvoGetMessages_Output_Messages_Elem) UnmarshalJSON(b []byte) error { typ, err := lexutil.TypeExtract(b) if err != nil { return err } switch typ { case "chat.bsky.convo.defs#messageView": t.ConvoDefs_MessageView = new(ConvoDefs_MessageView) return json.Unmarshal(b, t.ConvoDefs_MessageView) case "chat.bsky.convo.defs#deletedMessageView": t.ConvoDefs_DeletedMessageView = new(ConvoDefs_DeletedMessageView) return json.Unmarshal(b, t.ConvoDefs_DeletedMessageView) case "chat.bsky.convo.defs#systemMessageView": t.ConvoDefs_SystemMessageView = new(ConvoDefs_SystemMessageView) return json.Unmarshal(b, t.ConvoDefs_SystemMessageView) default: return nil } } // ConvoGetMessages calls the XRPC method "chat.bsky.convo.getMessages". func ConvoGetMessages(ctx context.Context, c lexutil.LexClient, convoId string, cursor string, limit int64) (*ConvoGetMessages_Output, error) { var out ConvoGetMessages_Output params := map[string]interface{}{} params["convoId"] = convoId if cursor != "" { params["cursor"] = cursor } if limit != 0 { params["limit"] = limit } if err := c.LexDo(ctx, lexutil.Query, "", "chat.bsky.convo.getMessages", params, nil, &out); err != nil { return nil, err } return &out, nil }