A fork of https://github.com/teal-fm/piper
1// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
2
3package ozone
4
5// schema: tools.ozone.moderation.emitEvent
6
7import (
8 "context"
9 "encoding/json"
10 "fmt"
11
12 comatprototypes "github.com/bluesky-social/indigo/api/atproto"
13 "github.com/bluesky-social/indigo/lex/util"
14 "github.com/bluesky-social/indigo/xrpc"
15)
16
17// ModerationEmitEvent_Input is the input argument to a tools.ozone.moderation.emitEvent call.
18type ModerationEmitEvent_Input struct {
19 CreatedBy string `json:"createdBy" cborgen:"createdBy"`
20 Event *ModerationEmitEvent_Input_Event `json:"event" cborgen:"event"`
21 Subject *ModerationEmitEvent_Input_Subject `json:"subject" cborgen:"subject"`
22 SubjectBlobCids []string `json:"subjectBlobCids,omitempty" cborgen:"subjectBlobCids,omitempty"`
23}
24
25type ModerationEmitEvent_Input_Event struct {
26 ModerationDefs_ModEventTakedown *ModerationDefs_ModEventTakedown
27 ModerationDefs_ModEventAcknowledge *ModerationDefs_ModEventAcknowledge
28 ModerationDefs_ModEventEscalate *ModerationDefs_ModEventEscalate
29 ModerationDefs_ModEventComment *ModerationDefs_ModEventComment
30 ModerationDefs_ModEventLabel *ModerationDefs_ModEventLabel
31 ModerationDefs_ModEventReport *ModerationDefs_ModEventReport
32 ModerationDefs_ModEventMute *ModerationDefs_ModEventMute
33 ModerationDefs_ModEventUnmute *ModerationDefs_ModEventUnmute
34 ModerationDefs_ModEventMuteReporter *ModerationDefs_ModEventMuteReporter
35 ModerationDefs_ModEventUnmuteReporter *ModerationDefs_ModEventUnmuteReporter
36 ModerationDefs_ModEventReverseTakedown *ModerationDefs_ModEventReverseTakedown
37 ModerationDefs_ModEventResolveAppeal *ModerationDefs_ModEventResolveAppeal
38 ModerationDefs_ModEventEmail *ModerationDefs_ModEventEmail
39 ModerationDefs_ModEventDivert *ModerationDefs_ModEventDivert
40 ModerationDefs_ModEventTag *ModerationDefs_ModEventTag
41 ModerationDefs_AccountEvent *ModerationDefs_AccountEvent
42 ModerationDefs_IdentityEvent *ModerationDefs_IdentityEvent
43 ModerationDefs_RecordEvent *ModerationDefs_RecordEvent
44 ModerationDefs_ModEventPriorityScore *ModerationDefs_ModEventPriorityScore
45}
46
47func (t *ModerationEmitEvent_Input_Event) MarshalJSON() ([]byte, error) {
48 if t.ModerationDefs_ModEventTakedown != nil {
49 t.ModerationDefs_ModEventTakedown.LexiconTypeID = "tools.ozone.moderation.defs#modEventTakedown"
50 return json.Marshal(t.ModerationDefs_ModEventTakedown)
51 }
52 if t.ModerationDefs_ModEventAcknowledge != nil {
53 t.ModerationDefs_ModEventAcknowledge.LexiconTypeID = "tools.ozone.moderation.defs#modEventAcknowledge"
54 return json.Marshal(t.ModerationDefs_ModEventAcknowledge)
55 }
56 if t.ModerationDefs_ModEventEscalate != nil {
57 t.ModerationDefs_ModEventEscalate.LexiconTypeID = "tools.ozone.moderation.defs#modEventEscalate"
58 return json.Marshal(t.ModerationDefs_ModEventEscalate)
59 }
60 if t.ModerationDefs_ModEventComment != nil {
61 t.ModerationDefs_ModEventComment.LexiconTypeID = "tools.ozone.moderation.defs#modEventComment"
62 return json.Marshal(t.ModerationDefs_ModEventComment)
63 }
64 if t.ModerationDefs_ModEventLabel != nil {
65 t.ModerationDefs_ModEventLabel.LexiconTypeID = "tools.ozone.moderation.defs#modEventLabel"
66 return json.Marshal(t.ModerationDefs_ModEventLabel)
67 }
68 if t.ModerationDefs_ModEventReport != nil {
69 t.ModerationDefs_ModEventReport.LexiconTypeID = "tools.ozone.moderation.defs#modEventReport"
70 return json.Marshal(t.ModerationDefs_ModEventReport)
71 }
72 if t.ModerationDefs_ModEventMute != nil {
73 t.ModerationDefs_ModEventMute.LexiconTypeID = "tools.ozone.moderation.defs#modEventMute"
74 return json.Marshal(t.ModerationDefs_ModEventMute)
75 }
76 if t.ModerationDefs_ModEventUnmute != nil {
77 t.ModerationDefs_ModEventUnmute.LexiconTypeID = "tools.ozone.moderation.defs#modEventUnmute"
78 return json.Marshal(t.ModerationDefs_ModEventUnmute)
79 }
80 if t.ModerationDefs_ModEventMuteReporter != nil {
81 t.ModerationDefs_ModEventMuteReporter.LexiconTypeID = "tools.ozone.moderation.defs#modEventMuteReporter"
82 return json.Marshal(t.ModerationDefs_ModEventMuteReporter)
83 }
84 if t.ModerationDefs_ModEventUnmuteReporter != nil {
85 t.ModerationDefs_ModEventUnmuteReporter.LexiconTypeID = "tools.ozone.moderation.defs#modEventUnmuteReporter"
86 return json.Marshal(t.ModerationDefs_ModEventUnmuteReporter)
87 }
88 if t.ModerationDefs_ModEventReverseTakedown != nil {
89 t.ModerationDefs_ModEventReverseTakedown.LexiconTypeID = "tools.ozone.moderation.defs#modEventReverseTakedown"
90 return json.Marshal(t.ModerationDefs_ModEventReverseTakedown)
91 }
92 if t.ModerationDefs_ModEventResolveAppeal != nil {
93 t.ModerationDefs_ModEventResolveAppeal.LexiconTypeID = "tools.ozone.moderation.defs#modEventResolveAppeal"
94 return json.Marshal(t.ModerationDefs_ModEventResolveAppeal)
95 }
96 if t.ModerationDefs_ModEventEmail != nil {
97 t.ModerationDefs_ModEventEmail.LexiconTypeID = "tools.ozone.moderation.defs#modEventEmail"
98 return json.Marshal(t.ModerationDefs_ModEventEmail)
99 }
100 if t.ModerationDefs_ModEventDivert != nil {
101 t.ModerationDefs_ModEventDivert.LexiconTypeID = "tools.ozone.moderation.defs#modEventDivert"
102 return json.Marshal(t.ModerationDefs_ModEventDivert)
103 }
104 if t.ModerationDefs_ModEventTag != nil {
105 t.ModerationDefs_ModEventTag.LexiconTypeID = "tools.ozone.moderation.defs#modEventTag"
106 return json.Marshal(t.ModerationDefs_ModEventTag)
107 }
108 if t.ModerationDefs_AccountEvent != nil {
109 t.ModerationDefs_AccountEvent.LexiconTypeID = "tools.ozone.moderation.defs#accountEvent"
110 return json.Marshal(t.ModerationDefs_AccountEvent)
111 }
112 if t.ModerationDefs_IdentityEvent != nil {
113 t.ModerationDefs_IdentityEvent.LexiconTypeID = "tools.ozone.moderation.defs#identityEvent"
114 return json.Marshal(t.ModerationDefs_IdentityEvent)
115 }
116 if t.ModerationDefs_RecordEvent != nil {
117 t.ModerationDefs_RecordEvent.LexiconTypeID = "tools.ozone.moderation.defs#recordEvent"
118 return json.Marshal(t.ModerationDefs_RecordEvent)
119 }
120 if t.ModerationDefs_ModEventPriorityScore != nil {
121 t.ModerationDefs_ModEventPriorityScore.LexiconTypeID = "tools.ozone.moderation.defs#modEventPriorityScore"
122 return json.Marshal(t.ModerationDefs_ModEventPriorityScore)
123 }
124 return nil, fmt.Errorf("cannot marshal empty enum")
125}
126func (t *ModerationEmitEvent_Input_Event) UnmarshalJSON(b []byte) error {
127 typ, err := util.TypeExtract(b)
128 if err != nil {
129 return err
130 }
131
132 switch typ {
133 case "tools.ozone.moderation.defs#modEventTakedown":
134 t.ModerationDefs_ModEventTakedown = new(ModerationDefs_ModEventTakedown)
135 return json.Unmarshal(b, t.ModerationDefs_ModEventTakedown)
136 case "tools.ozone.moderation.defs#modEventAcknowledge":
137 t.ModerationDefs_ModEventAcknowledge = new(ModerationDefs_ModEventAcknowledge)
138 return json.Unmarshal(b, t.ModerationDefs_ModEventAcknowledge)
139 case "tools.ozone.moderation.defs#modEventEscalate":
140 t.ModerationDefs_ModEventEscalate = new(ModerationDefs_ModEventEscalate)
141 return json.Unmarshal(b, t.ModerationDefs_ModEventEscalate)
142 case "tools.ozone.moderation.defs#modEventComment":
143 t.ModerationDefs_ModEventComment = new(ModerationDefs_ModEventComment)
144 return json.Unmarshal(b, t.ModerationDefs_ModEventComment)
145 case "tools.ozone.moderation.defs#modEventLabel":
146 t.ModerationDefs_ModEventLabel = new(ModerationDefs_ModEventLabel)
147 return json.Unmarshal(b, t.ModerationDefs_ModEventLabel)
148 case "tools.ozone.moderation.defs#modEventReport":
149 t.ModerationDefs_ModEventReport = new(ModerationDefs_ModEventReport)
150 return json.Unmarshal(b, t.ModerationDefs_ModEventReport)
151 case "tools.ozone.moderation.defs#modEventMute":
152 t.ModerationDefs_ModEventMute = new(ModerationDefs_ModEventMute)
153 return json.Unmarshal(b, t.ModerationDefs_ModEventMute)
154 case "tools.ozone.moderation.defs#modEventUnmute":
155 t.ModerationDefs_ModEventUnmute = new(ModerationDefs_ModEventUnmute)
156 return json.Unmarshal(b, t.ModerationDefs_ModEventUnmute)
157 case "tools.ozone.moderation.defs#modEventMuteReporter":
158 t.ModerationDefs_ModEventMuteReporter = new(ModerationDefs_ModEventMuteReporter)
159 return json.Unmarshal(b, t.ModerationDefs_ModEventMuteReporter)
160 case "tools.ozone.moderation.defs#modEventUnmuteReporter":
161 t.ModerationDefs_ModEventUnmuteReporter = new(ModerationDefs_ModEventUnmuteReporter)
162 return json.Unmarshal(b, t.ModerationDefs_ModEventUnmuteReporter)
163 case "tools.ozone.moderation.defs#modEventReverseTakedown":
164 t.ModerationDefs_ModEventReverseTakedown = new(ModerationDefs_ModEventReverseTakedown)
165 return json.Unmarshal(b, t.ModerationDefs_ModEventReverseTakedown)
166 case "tools.ozone.moderation.defs#modEventResolveAppeal":
167 t.ModerationDefs_ModEventResolveAppeal = new(ModerationDefs_ModEventResolveAppeal)
168 return json.Unmarshal(b, t.ModerationDefs_ModEventResolveAppeal)
169 case "tools.ozone.moderation.defs#modEventEmail":
170 t.ModerationDefs_ModEventEmail = new(ModerationDefs_ModEventEmail)
171 return json.Unmarshal(b, t.ModerationDefs_ModEventEmail)
172 case "tools.ozone.moderation.defs#modEventDivert":
173 t.ModerationDefs_ModEventDivert = new(ModerationDefs_ModEventDivert)
174 return json.Unmarshal(b, t.ModerationDefs_ModEventDivert)
175 case "tools.ozone.moderation.defs#modEventTag":
176 t.ModerationDefs_ModEventTag = new(ModerationDefs_ModEventTag)
177 return json.Unmarshal(b, t.ModerationDefs_ModEventTag)
178 case "tools.ozone.moderation.defs#accountEvent":
179 t.ModerationDefs_AccountEvent = new(ModerationDefs_AccountEvent)
180 return json.Unmarshal(b, t.ModerationDefs_AccountEvent)
181 case "tools.ozone.moderation.defs#identityEvent":
182 t.ModerationDefs_IdentityEvent = new(ModerationDefs_IdentityEvent)
183 return json.Unmarshal(b, t.ModerationDefs_IdentityEvent)
184 case "tools.ozone.moderation.defs#recordEvent":
185 t.ModerationDefs_RecordEvent = new(ModerationDefs_RecordEvent)
186 return json.Unmarshal(b, t.ModerationDefs_RecordEvent)
187 case "tools.ozone.moderation.defs#modEventPriorityScore":
188 t.ModerationDefs_ModEventPriorityScore = new(ModerationDefs_ModEventPriorityScore)
189 return json.Unmarshal(b, t.ModerationDefs_ModEventPriorityScore)
190
191 default:
192 return nil
193 }
194}
195
196type ModerationEmitEvent_Input_Subject struct {
197 AdminDefs_RepoRef *comatprototypes.AdminDefs_RepoRef
198 RepoStrongRef *comatprototypes.RepoStrongRef
199}
200
201func (t *ModerationEmitEvent_Input_Subject) MarshalJSON() ([]byte, error) {
202 if t.AdminDefs_RepoRef != nil {
203 t.AdminDefs_RepoRef.LexiconTypeID = "com.atproto.admin.defs#repoRef"
204 return json.Marshal(t.AdminDefs_RepoRef)
205 }
206 if t.RepoStrongRef != nil {
207 t.RepoStrongRef.LexiconTypeID = "com.atproto.repo.strongRef"
208 return json.Marshal(t.RepoStrongRef)
209 }
210 return nil, fmt.Errorf("cannot marshal empty enum")
211}
212func (t *ModerationEmitEvent_Input_Subject) UnmarshalJSON(b []byte) error {
213 typ, err := util.TypeExtract(b)
214 if err != nil {
215 return err
216 }
217
218 switch typ {
219 case "com.atproto.admin.defs#repoRef":
220 t.AdminDefs_RepoRef = new(comatprototypes.AdminDefs_RepoRef)
221 return json.Unmarshal(b, t.AdminDefs_RepoRef)
222 case "com.atproto.repo.strongRef":
223 t.RepoStrongRef = new(comatprototypes.RepoStrongRef)
224 return json.Unmarshal(b, t.RepoStrongRef)
225
226 default:
227 return nil
228 }
229}
230
231// ModerationEmitEvent calls the XRPC method "tools.ozone.moderation.emitEvent".
232func ModerationEmitEvent(ctx context.Context, c *xrpc.Client, input *ModerationEmitEvent_Input) (*ModerationDefs_ModEventView, error) {
233 var out ModerationDefs_ModEventView
234 if err := c.Do(ctx, xrpc.Procedure, "application/json", "tools.ozone.moderation.emitEvent", nil, input, &out); err != nil {
235 return nil, err
236 }
237
238 return &out, nil
239}