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