// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. // Lexicon schema: chat.bsky.convo.listConvoRequests package chat import ( "context" "encoding/json" "fmt" lexutil "github.com/bluesky-social/indigo/lex/util" ) // ConvoListConvoRequests_Output is the output of a chat.bsky.convo.listConvoRequests call. type ConvoListConvoRequests_Output struct { Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"` Requests []*ConvoListConvoRequests_Output_Requests_Elem `json:"requests" cborgen:"requests"` } type ConvoListConvoRequests_Output_Requests_Elem struct { ConvoDefs_ConvoView *ConvoDefs_ConvoView GroupDefs_JoinRequestConvoView *GroupDefs_JoinRequestConvoView } func (t *ConvoListConvoRequests_Output_Requests_Elem) MarshalJSON() ([]byte, error) { if t.ConvoDefs_ConvoView != nil { t.ConvoDefs_ConvoView.LexiconTypeID = "chat.bsky.convo.defs#convoView" return json.Marshal(t.ConvoDefs_ConvoView) } if t.GroupDefs_JoinRequestConvoView != nil { t.GroupDefs_JoinRequestConvoView.LexiconTypeID = "chat.bsky.group.defs#joinRequestConvoView" return json.Marshal(t.GroupDefs_JoinRequestConvoView) } return nil, fmt.Errorf("can not marshal empty union as JSON") } func (t *ConvoListConvoRequests_Output_Requests_Elem) UnmarshalJSON(b []byte) error { typ, err := lexutil.TypeExtract(b) if err != nil { return err } switch typ { case "chat.bsky.convo.defs#convoView": t.ConvoDefs_ConvoView = new(ConvoDefs_ConvoView) return json.Unmarshal(b, t.ConvoDefs_ConvoView) case "chat.bsky.group.defs#joinRequestConvoView": t.GroupDefs_JoinRequestConvoView = new(GroupDefs_JoinRequestConvoView) return json.Unmarshal(b, t.GroupDefs_JoinRequestConvoView) default: return nil } } // ConvoListConvoRequests calls the XRPC method "chat.bsky.convo.listConvoRequests". func ConvoListConvoRequests(ctx context.Context, c lexutil.LexClient, cursor string, limit int64) (*ConvoListConvoRequests_Output, error) { var out ConvoListConvoRequests_Output params := map[string]interface{}{} if cursor != "" { params["cursor"] = cursor } if limit != 0 { params["limit"] = limit } if err := c.LexDo(ctx, lexutil.Query, "", "chat.bsky.convo.listConvoRequests", params, nil, &out); err != nil { return nil, err } return &out, nil }