A fork of https://github.com/teal-fm/piper
1// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
2
3package chat
4
5// schema: chat.bsky.convo.getLog
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// ConvoGetLog_Output is the output of a chat.bsky.convo.getLog call.
17type ConvoGetLog_Output struct {
18 Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"`
19 Logs []*ConvoGetLog_Output_Logs_Elem `json:"logs" cborgen:"logs"`
20}
21
22type ConvoGetLog_Output_Logs_Elem struct {
23 ConvoDefs_LogBeginConvo *ConvoDefs_LogBeginConvo
24 ConvoDefs_LogAcceptConvo *ConvoDefs_LogAcceptConvo
25 ConvoDefs_LogLeaveConvo *ConvoDefs_LogLeaveConvo
26 ConvoDefs_LogMuteConvo *ConvoDefs_LogMuteConvo
27 ConvoDefs_LogUnmuteConvo *ConvoDefs_LogUnmuteConvo
28 ConvoDefs_LogCreateMessage *ConvoDefs_LogCreateMessage
29 ConvoDefs_LogDeleteMessage *ConvoDefs_LogDeleteMessage
30 ConvoDefs_LogReadMessage *ConvoDefs_LogReadMessage
31 ConvoDefs_LogAddReaction *ConvoDefs_LogAddReaction
32 ConvoDefs_LogRemoveReaction *ConvoDefs_LogRemoveReaction
33}
34
35func (t *ConvoGetLog_Output_Logs_Elem) MarshalJSON() ([]byte, error) {
36 if t.ConvoDefs_LogBeginConvo != nil {
37 t.ConvoDefs_LogBeginConvo.LexiconTypeID = "chat.bsky.convo.defs#logBeginConvo"
38 return json.Marshal(t.ConvoDefs_LogBeginConvo)
39 }
40 if t.ConvoDefs_LogAcceptConvo != nil {
41 t.ConvoDefs_LogAcceptConvo.LexiconTypeID = "chat.bsky.convo.defs#logAcceptConvo"
42 return json.Marshal(t.ConvoDefs_LogAcceptConvo)
43 }
44 if t.ConvoDefs_LogLeaveConvo != nil {
45 t.ConvoDefs_LogLeaveConvo.LexiconTypeID = "chat.bsky.convo.defs#logLeaveConvo"
46 return json.Marshal(t.ConvoDefs_LogLeaveConvo)
47 }
48 if t.ConvoDefs_LogMuteConvo != nil {
49 t.ConvoDefs_LogMuteConvo.LexiconTypeID = "chat.bsky.convo.defs#logMuteConvo"
50 return json.Marshal(t.ConvoDefs_LogMuteConvo)
51 }
52 if t.ConvoDefs_LogUnmuteConvo != nil {
53 t.ConvoDefs_LogUnmuteConvo.LexiconTypeID = "chat.bsky.convo.defs#logUnmuteConvo"
54 return json.Marshal(t.ConvoDefs_LogUnmuteConvo)
55 }
56 if t.ConvoDefs_LogCreateMessage != nil {
57 t.ConvoDefs_LogCreateMessage.LexiconTypeID = "chat.bsky.convo.defs#logCreateMessage"
58 return json.Marshal(t.ConvoDefs_LogCreateMessage)
59 }
60 if t.ConvoDefs_LogDeleteMessage != nil {
61 t.ConvoDefs_LogDeleteMessage.LexiconTypeID = "chat.bsky.convo.defs#logDeleteMessage"
62 return json.Marshal(t.ConvoDefs_LogDeleteMessage)
63 }
64 if t.ConvoDefs_LogReadMessage != nil {
65 t.ConvoDefs_LogReadMessage.LexiconTypeID = "chat.bsky.convo.defs#logReadMessage"
66 return json.Marshal(t.ConvoDefs_LogReadMessage)
67 }
68 if t.ConvoDefs_LogAddReaction != nil {
69 t.ConvoDefs_LogAddReaction.LexiconTypeID = "chat.bsky.convo.defs#logAddReaction"
70 return json.Marshal(t.ConvoDefs_LogAddReaction)
71 }
72 if t.ConvoDefs_LogRemoveReaction != nil {
73 t.ConvoDefs_LogRemoveReaction.LexiconTypeID = "chat.bsky.convo.defs#logRemoveReaction"
74 return json.Marshal(t.ConvoDefs_LogRemoveReaction)
75 }
76 return nil, fmt.Errorf("cannot marshal empty enum")
77}
78func (t *ConvoGetLog_Output_Logs_Elem) UnmarshalJSON(b []byte) error {
79 typ, err := util.TypeExtract(b)
80 if err != nil {
81 return err
82 }
83
84 switch typ {
85 case "chat.bsky.convo.defs#logBeginConvo":
86 t.ConvoDefs_LogBeginConvo = new(ConvoDefs_LogBeginConvo)
87 return json.Unmarshal(b, t.ConvoDefs_LogBeginConvo)
88 case "chat.bsky.convo.defs#logAcceptConvo":
89 t.ConvoDefs_LogAcceptConvo = new(ConvoDefs_LogAcceptConvo)
90 return json.Unmarshal(b, t.ConvoDefs_LogAcceptConvo)
91 case "chat.bsky.convo.defs#logLeaveConvo":
92 t.ConvoDefs_LogLeaveConvo = new(ConvoDefs_LogLeaveConvo)
93 return json.Unmarshal(b, t.ConvoDefs_LogLeaveConvo)
94 case "chat.bsky.convo.defs#logMuteConvo":
95 t.ConvoDefs_LogMuteConvo = new(ConvoDefs_LogMuteConvo)
96 return json.Unmarshal(b, t.ConvoDefs_LogMuteConvo)
97 case "chat.bsky.convo.defs#logUnmuteConvo":
98 t.ConvoDefs_LogUnmuteConvo = new(ConvoDefs_LogUnmuteConvo)
99 return json.Unmarshal(b, t.ConvoDefs_LogUnmuteConvo)
100 case "chat.bsky.convo.defs#logCreateMessage":
101 t.ConvoDefs_LogCreateMessage = new(ConvoDefs_LogCreateMessage)
102 return json.Unmarshal(b, t.ConvoDefs_LogCreateMessage)
103 case "chat.bsky.convo.defs#logDeleteMessage":
104 t.ConvoDefs_LogDeleteMessage = new(ConvoDefs_LogDeleteMessage)
105 return json.Unmarshal(b, t.ConvoDefs_LogDeleteMessage)
106 case "chat.bsky.convo.defs#logReadMessage":
107 t.ConvoDefs_LogReadMessage = new(ConvoDefs_LogReadMessage)
108 return json.Unmarshal(b, t.ConvoDefs_LogReadMessage)
109 case "chat.bsky.convo.defs#logAddReaction":
110 t.ConvoDefs_LogAddReaction = new(ConvoDefs_LogAddReaction)
111 return json.Unmarshal(b, t.ConvoDefs_LogAddReaction)
112 case "chat.bsky.convo.defs#logRemoveReaction":
113 t.ConvoDefs_LogRemoveReaction = new(ConvoDefs_LogRemoveReaction)
114 return json.Unmarshal(b, t.ConvoDefs_LogRemoveReaction)
115
116 default:
117 return nil
118 }
119}
120
121// ConvoGetLog calls the XRPC method "chat.bsky.convo.getLog".
122func ConvoGetLog(ctx context.Context, c *xrpc.Client, cursor string) (*ConvoGetLog_Output, error) {
123 var out ConvoGetLog_Output
124
125 params := map[string]interface{}{
126 "cursor": cursor,
127 }
128 if err := c.Do(ctx, xrpc.Query, "", "chat.bsky.convo.getLog", params, nil, &out); err != nil {
129 return nil, err
130 }
131
132 return &out, nil
133}