@@ -38,6 +38,15 @@ var eventParseFuncMap = map[dto.OPCode]map[dto.EventType]eventParseFunc{
38
38
39
39
dto .EventMessageAuditPass : messageAuditHandler ,
40
40
dto .EventMessageAuditReject : messageAuditHandler ,
41
+
42
+ dto .EventForumThreadCreate : threadHandler ,
43
+ dto .EventForumThreadUpdate : threadHandler ,
44
+ dto .EventForumThreadDelete : threadHandler ,
45
+ dto .EventForumPostCreate : postHandler ,
46
+ dto .EventForumPostDelete : postHandler ,
47
+ dto .EventForumReplyCreate : replyHandler ,
48
+ dto .EventForumReplyDelete : replyHandler ,
49
+ dto .EventForumAuditResult : forumAuditHandler ,
41
50
},
42
51
}
43
52
@@ -143,6 +152,50 @@ func audioHandler(event *dto.WSPayload, message []byte) error {
143
152
return nil
144
153
}
145
154
155
+ func threadHandler (event * dto.WSPayload , message []byte ) error {
156
+ data := & dto.WSThreadData {}
157
+ if err := parseData (message , data ); err != nil {
158
+ return err
159
+ }
160
+ if websocket .DefaultHandlers .Thread != nil {
161
+ return websocket .DefaultHandlers .Thread (event , data )
162
+ }
163
+ return nil
164
+ }
165
+
166
+ func postHandler (event * dto.WSPayload , message []byte ) error {
167
+ data := & dto.WSPostData {}
168
+ if err := parseData (message , data ); err != nil {
169
+ return err
170
+ }
171
+ if websocket .DefaultHandlers .Post != nil {
172
+ return websocket .DefaultHandlers .Post (event , data )
173
+ }
174
+ return nil
175
+ }
176
+
177
+ func replyHandler (event * dto.WSPayload , message []byte ) error {
178
+ data := & dto.WSReplyData {}
179
+ if err := parseData (message , data ); err != nil {
180
+ return err
181
+ }
182
+ if websocket .DefaultHandlers .Reply != nil {
183
+ return websocket .DefaultHandlers .Reply (event , data )
184
+ }
185
+ return nil
186
+ }
187
+
188
+ func forumAuditHandler (event * dto.WSPayload , message []byte ) error {
189
+ data := & dto.WSForumAuditData {}
190
+ if err := parseData (message , data ); err != nil {
191
+ return err
192
+ }
193
+ if websocket .DefaultHandlers .ForumAudit != nil {
194
+ return websocket .DefaultHandlers .ForumAudit (event , data )
195
+ }
196
+ return nil
197
+ }
198
+
146
199
func parseData (message []byte , target interface {}) error {
147
200
data := gjson .Get (string (message ), "d" )
148
201
return json .Unmarshal ([]byte (data .String ()), target )
0 commit comments