polyv-live-cli 1.2.17 → 1.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/dist/commands/ai.commands.d.ts +12 -0
  2. package/dist/commands/ai.commands.d.ts.map +1 -0
  3. package/dist/commands/ai.commands.js +126 -0
  4. package/dist/commands/ai.commands.js.map +1 -0
  5. package/dist/commands/card-push.commands.d.ts +15 -0
  6. package/dist/commands/card-push.commands.d.ts.map +1 -0
  7. package/dist/commands/card-push.commands.js +257 -0
  8. package/dist/commands/card-push.commands.js.map +1 -0
  9. package/dist/commands/chat.commands.d.ts.map +1 -1
  10. package/dist/commands/chat.commands.js +152 -0
  11. package/dist/commands/chat.commands.js.map +1 -1
  12. package/dist/commands/checkin.commands.d.ts +4 -0
  13. package/dist/commands/checkin.commands.d.ts.map +1 -0
  14. package/dist/commands/checkin.commands.js +228 -0
  15. package/dist/commands/checkin.commands.js.map +1 -0
  16. package/dist/commands/donate.commands.d.ts +5 -0
  17. package/dist/commands/donate.commands.d.ts.map +1 -0
  18. package/dist/commands/donate.commands.js +177 -0
  19. package/dist/commands/donate.commands.js.map +1 -0
  20. package/dist/commands/index.d.ts +1 -0
  21. package/dist/commands/index.d.ts.map +1 -1
  22. package/dist/commands/index.js +3 -1
  23. package/dist/commands/index.js.map +1 -1
  24. package/dist/commands/lottery.commands.d.ts +5 -0
  25. package/dist/commands/lottery.commands.d.ts.map +1 -0
  26. package/dist/commands/lottery.commands.js +330 -0
  27. package/dist/commands/lottery.commands.js.map +1 -0
  28. package/dist/commands/platform-label.commands.d.ts +11 -0
  29. package/dist/commands/platform-label.commands.d.ts.map +1 -0
  30. package/dist/commands/platform-label.commands.js +173 -0
  31. package/dist/commands/platform-label.commands.js.map +1 -0
  32. package/dist/commands/platform.commands.d.ts +13 -0
  33. package/dist/commands/platform.commands.d.ts.map +1 -0
  34. package/dist/commands/platform.commands.js +366 -0
  35. package/dist/commands/platform.commands.js.map +1 -0
  36. package/dist/commands/promotion.commands.d.ts +12 -0
  37. package/dist/commands/promotion.commands.d.ts.map +1 -0
  38. package/dist/commands/promotion.commands.js +98 -0
  39. package/dist/commands/promotion.commands.js.map +1 -0
  40. package/dist/commands/qa.commands.d.ts +4 -0
  41. package/dist/commands/qa.commands.d.ts.map +1 -0
  42. package/dist/commands/qa.commands.js +159 -0
  43. package/dist/commands/qa.commands.js.map +1 -0
  44. package/dist/commands/questionnaire.commands.d.ts +4 -0
  45. package/dist/commands/questionnaire.commands.d.ts.map +1 -0
  46. package/dist/commands/questionnaire.commands.js +187 -0
  47. package/dist/commands/questionnaire.commands.js.map +1 -0
  48. package/dist/commands/transmit.commands.d.ts +12 -0
  49. package/dist/commands/transmit.commands.d.ts.map +1 -0
  50. package/dist/commands/transmit.commands.js +98 -0
  51. package/dist/commands/transmit.commands.js.map +1 -0
  52. package/dist/commands/viewer.commands.d.ts +5 -0
  53. package/dist/commands/viewer.commands.d.ts.map +1 -0
  54. package/dist/commands/viewer.commands.js +257 -0
  55. package/dist/commands/viewer.commands.js.map +1 -0
  56. package/dist/commands/watch-condition.commands.d.ts +5 -0
  57. package/dist/commands/watch-condition.commands.d.ts.map +1 -0
  58. package/dist/commands/watch-condition.commands.js +158 -0
  59. package/dist/commands/watch-condition.commands.js.map +1 -0
  60. package/dist/commands/whitelist.commands.d.ts +5 -0
  61. package/dist/commands/whitelist.commands.d.ts.map +1 -0
  62. package/dist/commands/whitelist.commands.js +216 -0
  63. package/dist/commands/whitelist.commands.js.map +1 -0
  64. package/dist/handlers/ai-digital-human.handler.d.ts +18 -0
  65. package/dist/handlers/ai-digital-human.handler.d.ts.map +1 -0
  66. package/dist/handlers/ai-digital-human.handler.js +134 -0
  67. package/dist/handlers/ai-digital-human.handler.js.map +1 -0
  68. package/dist/handlers/card-push.handler.d.ts +25 -0
  69. package/dist/handlers/card-push.handler.d.ts.map +1 -0
  70. package/dist/handlers/card-push.handler.js +287 -0
  71. package/dist/handlers/card-push.handler.js.map +1 -0
  72. package/dist/handlers/chat.handler.d.ts +17 -1
  73. package/dist/handlers/chat.handler.d.ts.map +1 -1
  74. package/dist/handlers/chat.handler.js +272 -0
  75. package/dist/handlers/chat.handler.js.map +1 -1
  76. package/dist/handlers/checkin.handler.d.ts +22 -0
  77. package/dist/handlers/checkin.handler.d.ts.map +1 -0
  78. package/dist/handlers/checkin.handler.js +261 -0
  79. package/dist/handlers/checkin.handler.js.map +1 -0
  80. package/dist/handlers/donate.handler.d.ts +18 -0
  81. package/dist/handlers/donate.handler.d.ts.map +1 -0
  82. package/dist/handlers/donate.handler.js +221 -0
  83. package/dist/handlers/donate.handler.js.map +1 -0
  84. package/dist/handlers/lottery.handler.d.ts +29 -0
  85. package/dist/handlers/lottery.handler.d.ts.map +1 -0
  86. package/dist/handlers/lottery.handler.js +386 -0
  87. package/dist/handlers/lottery.handler.js.map +1 -0
  88. package/dist/handlers/platform-label.handler.d.ts +18 -0
  89. package/dist/handlers/platform-label.handler.d.ts.map +1 -0
  90. package/dist/handlers/platform-label.handler.js +113 -0
  91. package/dist/handlers/platform-label.handler.js.map +1 -0
  92. package/dist/handlers/platform.handler.d.ts +24 -0
  93. package/dist/handlers/platform.handler.d.ts.map +1 -0
  94. package/dist/handlers/platform.handler.js +302 -0
  95. package/dist/handlers/platform.handler.js.map +1 -0
  96. package/dist/handlers/promotion.handler.d.ts +16 -0
  97. package/dist/handlers/promotion.handler.d.ts.map +1 -0
  98. package/dist/handlers/promotion.handler.js +103 -0
  99. package/dist/handlers/promotion.handler.js.map +1 -0
  100. package/dist/handlers/qa-questionnaire.handler.d.ts +27 -0
  101. package/dist/handlers/qa-questionnaire.handler.d.ts.map +1 -0
  102. package/dist/handlers/qa-questionnaire.handler.js +386 -0
  103. package/dist/handlers/qa-questionnaire.handler.js.map +1 -0
  104. package/dist/handlers/transmit.handler.d.ts +15 -0
  105. package/dist/handlers/transmit.handler.d.ts.map +1 -0
  106. package/dist/handlers/transmit.handler.js +86 -0
  107. package/dist/handlers/transmit.handler.js.map +1 -0
  108. package/dist/handlers/viewer.handler.d.ts +23 -0
  109. package/dist/handlers/viewer.handler.d.ts.map +1 -0
  110. package/dist/handlers/viewer.handler.js +322 -0
  111. package/dist/handlers/viewer.handler.js.map +1 -0
  112. package/dist/handlers/watch-condition.handler.d.ts +18 -0
  113. package/dist/handlers/watch-condition.handler.d.ts.map +1 -0
  114. package/dist/handlers/watch-condition.handler.js +178 -0
  115. package/dist/handlers/watch-condition.handler.js.map +1 -0
  116. package/dist/handlers/whitelist.handler.d.ts +20 -0
  117. package/dist/handlers/whitelist.handler.d.ts.map +1 -0
  118. package/dist/handlers/whitelist.handler.js +241 -0
  119. package/dist/handlers/whitelist.handler.js.map +1 -0
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +30 -4
  122. package/dist/index.js.map +1 -1
  123. package/dist/services/ai-digital-human-service.d.ts +10 -0
  124. package/dist/services/ai-digital-human-service.d.ts.map +1 -0
  125. package/dist/services/ai-digital-human-service.js +64 -0
  126. package/dist/services/ai-digital-human-service.js.map +1 -0
  127. package/dist/services/card-push-service.d.ts +16 -0
  128. package/dist/services/card-push-service.d.ts.map +1 -0
  129. package/dist/services/card-push-service.js +153 -0
  130. package/dist/services/card-push-service.js.map +1 -0
  131. package/dist/services/chat.service.sdk.d.ts +39 -1
  132. package/dist/services/chat.service.sdk.d.ts.map +1 -1
  133. package/dist/services/chat.service.sdk.js +60 -0
  134. package/dist/services/chat.service.sdk.js.map +1 -1
  135. package/dist/services/checkin-service.d.ts +14 -0
  136. package/dist/services/checkin-service.d.ts.map +1 -0
  137. package/dist/services/checkin-service.js +89 -0
  138. package/dist/services/checkin-service.js.map +1 -0
  139. package/dist/services/donate-service.d.ts +12 -0
  140. package/dist/services/donate-service.d.ts.map +1 -0
  141. package/dist/services/donate-service.js +59 -0
  142. package/dist/services/donate-service.js.map +1 -0
  143. package/dist/services/lottery-service.d.ts +17 -0
  144. package/dist/services/lottery-service.d.ts.map +1 -0
  145. package/dist/services/lottery-service.js +84 -0
  146. package/dist/services/lottery-service.js.map +1 -0
  147. package/dist/services/platform-label-service.d.ts +21 -0
  148. package/dist/services/platform-label-service.d.ts.map +1 -0
  149. package/dist/services/platform-label-service.js +56 -0
  150. package/dist/services/platform-label-service.js.map +1 -0
  151. package/dist/services/platform-service.d.ts +47 -0
  152. package/dist/services/platform-service.d.ts.map +1 -0
  153. package/dist/services/platform-service.js +144 -0
  154. package/dist/services/platform-service.js.map +1 -0
  155. package/dist/services/promotion-service.d.ts +12 -0
  156. package/dist/services/promotion-service.d.ts.map +1 -0
  157. package/dist/services/promotion-service.js +54 -0
  158. package/dist/services/promotion-service.js.map +1 -0
  159. package/dist/services/qa-questionnaire-service.d.ts +15 -0
  160. package/dist/services/qa-questionnaire-service.d.ts.map +1 -0
  161. package/dist/services/qa-questionnaire-service.js +102 -0
  162. package/dist/services/qa-questionnaire-service.js.map +1 -0
  163. package/dist/services/stream.service.sdk.d.ts.map +1 -1
  164. package/dist/services/stream.service.sdk.js +8 -12
  165. package/dist/services/stream.service.sdk.js.map +1 -1
  166. package/dist/services/transmit-service.d.ts +9 -0
  167. package/dist/services/transmit-service.d.ts.map +1 -0
  168. package/dist/services/transmit-service.js +45 -0
  169. package/dist/services/transmit-service.js.map +1 -0
  170. package/dist/services/viewer-service.d.ts +29 -0
  171. package/dist/services/viewer-service.d.ts.map +1 -0
  172. package/dist/services/viewer-service.js +106 -0
  173. package/dist/services/viewer-service.js.map +1 -0
  174. package/dist/services/watch-condition-service.d.ts +16 -0
  175. package/dist/services/watch-condition-service.d.ts.map +1 -0
  176. package/dist/services/watch-condition-service.js +38 -0
  177. package/dist/services/watch-condition-service.js.map +1 -0
  178. package/dist/services/whitelist-service.d.ts +50 -0
  179. package/dist/services/whitelist-service.d.ts.map +1 -0
  180. package/dist/services/whitelist-service.js +56 -0
  181. package/dist/services/whitelist-service.js.map +1 -0
  182. package/dist/types/ai-digital-human.d.ts +49 -0
  183. package/dist/types/ai-digital-human.d.ts.map +1 -0
  184. package/dist/types/ai-digital-human.js +3 -0
  185. package/dist/types/ai-digital-human.js.map +1 -0
  186. package/dist/types/card-push.d.ts +151 -0
  187. package/dist/types/card-push.d.ts.map +1 -0
  188. package/dist/types/card-push.js +3 -0
  189. package/dist/types/card-push.js.map +1 -0
  190. package/dist/types/chat.d.ts +35 -0
  191. package/dist/types/chat.d.ts.map +1 -1
  192. package/dist/types/checkin.d.ts +57 -0
  193. package/dist/types/checkin.d.ts.map +1 -0
  194. package/dist/types/checkin.js +3 -0
  195. package/dist/types/checkin.js.map +1 -0
  196. package/dist/types/donate.d.ts +92 -0
  197. package/dist/types/donate.d.ts.map +1 -0
  198. package/dist/types/donate.js +3 -0
  199. package/dist/types/donate.js.map +1 -0
  200. package/dist/types/index.d.ts +2 -0
  201. package/dist/types/index.d.ts.map +1 -1
  202. package/dist/types/index.js +2 -0
  203. package/dist/types/index.js.map +1 -1
  204. package/dist/types/lottery.d.ts +110 -0
  205. package/dist/types/lottery.d.ts.map +1 -0
  206. package/dist/types/lottery.js +3 -0
  207. package/dist/types/lottery.js.map +1 -0
  208. package/dist/types/platform-label.d.ts +29 -0
  209. package/dist/types/platform-label.d.ts.map +1 -0
  210. package/dist/types/platform-label.js +3 -0
  211. package/dist/types/platform-label.js.map +1 -0
  212. package/dist/types/platform.d.ts +44 -0
  213. package/dist/types/platform.d.ts.map +1 -0
  214. package/dist/types/platform.js +11 -0
  215. package/dist/types/platform.js.map +1 -0
  216. package/dist/types/promotion.d.ts +31 -0
  217. package/dist/types/promotion.d.ts.map +1 -0
  218. package/dist/types/promotion.js +3 -0
  219. package/dist/types/promotion.js.map +1 -0
  220. package/dist/types/qa.d.ts +90 -0
  221. package/dist/types/qa.d.ts.map +1 -0
  222. package/dist/types/qa.js +3 -0
  223. package/dist/types/qa.js.map +1 -0
  224. package/dist/types/transmit.d.ts +40 -0
  225. package/dist/types/transmit.d.ts.map +1 -0
  226. package/dist/types/transmit.js +3 -0
  227. package/dist/types/transmit.js.map +1 -0
  228. package/dist/types/viewer.d.ts +36 -0
  229. package/dist/types/viewer.d.ts.map +1 -0
  230. package/dist/types/viewer.js +3 -0
  231. package/dist/types/viewer.js.map +1 -0
  232. package/dist/types/watch-condition.d.ts +49 -0
  233. package/dist/types/watch-condition.d.ts.map +1 -0
  234. package/dist/types/watch-condition.js +18 -0
  235. package/dist/types/watch-condition.js.map +1 -0
  236. package/dist/types/whitelist.d.ts +36 -0
  237. package/dist/types/whitelist.d.ts.map +1 -0
  238. package/dist/types/whitelist.js +3 -0
  239. package/dist/types/whitelist.js.map +1 -0
  240. package/package.json +4 -4
@@ -113,6 +113,116 @@ class ChatHandler extends base_handler_1.BaseHandler {
113
113
  }
114
114
  return content.substring(0, maxLength - 3) + '...';
115
115
  }
116
+ async banUser(options) {
117
+ return this.executeWithErrorHandling(async () => {
118
+ this.validateBanOptions(options);
119
+ let result;
120
+ if (options.global) {
121
+ result = await this.chatService.updateBannedViewer({
122
+ viewerIds: options.userIds,
123
+ banned: 'Y'
124
+ });
125
+ this.displayBanResult(options, result, true);
126
+ }
127
+ else {
128
+ result = await this.chatService.updateBannedUser({
129
+ channelId: options.channelId,
130
+ userIds: options.userIds.join(','),
131
+ toBanned: 'Y'
132
+ });
133
+ this.displayBanResult(options, result, false);
134
+ }
135
+ }, 'chat.ban');
136
+ }
137
+ async unbanUser(options) {
138
+ return this.executeWithErrorHandling(async () => {
139
+ this.validateBanOptions(options);
140
+ let result;
141
+ if (options.global) {
142
+ result = await this.chatService.updateBannedViewer({
143
+ viewerIds: options.userIds,
144
+ banned: 'N'
145
+ });
146
+ this.displayUnbanResult(options, result, true);
147
+ }
148
+ else {
149
+ result = await this.chatService.updateBannedUser({
150
+ channelId: options.channelId,
151
+ userIds: options.userIds.join(','),
152
+ toBanned: 'N'
153
+ });
154
+ this.displayUnbanResult(options, result, false);
155
+ }
156
+ }, 'chat.unban');
157
+ }
158
+ async kickUser(options) {
159
+ return this.executeWithErrorHandling(async () => {
160
+ this.validateKickOptions(options);
161
+ let result;
162
+ if (options.global) {
163
+ result = await this.chatService.forbidKickUsers({
164
+ viewerIds: options.viewerIds,
165
+ nickNames: options.nickNames
166
+ });
167
+ }
168
+ else {
169
+ result = await this.chatService.forbidChannelKickUsers({
170
+ channelId: options.channelId,
171
+ viewerIds: options.viewerIds,
172
+ nickNames: options.nickNames
173
+ });
174
+ }
175
+ this.displayKickResult(options, result);
176
+ }, 'chat.kick');
177
+ }
178
+ async unkickUser(options) {
179
+ return this.executeWithErrorHandling(async () => {
180
+ this.validateKickOptions(options);
181
+ let result;
182
+ if (options.global) {
183
+ result = await this.chatService.forbidUnkickUsers({
184
+ viewerIds: options.viewerIds,
185
+ nickNames: options.nickNames
186
+ });
187
+ }
188
+ else {
189
+ result = await this.chatService.forbidChannelUnkickUsers({
190
+ channelId: options.channelId,
191
+ viewerIds: options.viewerIds,
192
+ nickNames: options.nickNames
193
+ });
194
+ }
195
+ this.displayUnkickResult(options, result);
196
+ }, 'chat.unkick');
197
+ }
198
+ async listBanned(options) {
199
+ return this.executeWithErrorHandling(async () => {
200
+ this.validateBannedListOptions(options);
201
+ let result;
202
+ if (options.type === 'badword') {
203
+ result = await this.chatService.getChannelBannedList({
204
+ channelId: options.channelId,
205
+ type: 'badword'
206
+ });
207
+ }
208
+ else {
209
+ result = await this.chatService.getChannelBannedUserList({
210
+ channelId: options.channelId,
211
+ type: options.type
212
+ });
213
+ }
214
+ this.displayBannedListResult(options, result);
215
+ }, 'chat.banned.list');
216
+ }
217
+ async listKicked(options) {
218
+ return this.executeWithErrorHandling(async () => {
219
+ this.validateKickedListOptions(options);
220
+ const result = await this.chatService.getChannelKickedUserList({
221
+ channelId: options.channelId
222
+ });
223
+ this.displayKickedListResult(options, result);
224
+ }, 'chat.kicked.list');
225
+ }
116
226
  validateSendOptions(options) {
117
227
  const errors = [];
118
228
  if (!options.channelId || options.channelId.trim() === '') {
@@ -165,6 +275,168 @@ class ChatHandler extends base_handler_1.BaseHandler {
165
275
  throw new errors_1.PolyVValidationError(`Chat delete options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
166
276
  }
167
277
  }
278
+ validateBanOptions(options) {
279
+ const errors = [];
280
+ if (!options.global && (!options.channelId || options.channelId.trim() === '')) {
281
+ errors.push('channelId is required when --global is not specified');
282
+ }
283
+ if (!options.userIds || options.userIds.length === 0) {
284
+ errors.push('userIds is required');
285
+ }
286
+ if (options.output && !['table', 'json'].includes(options.output)) {
287
+ errors.push('output must be either "table" or "json"');
288
+ }
289
+ if (errors.length > 0) {
290
+ throw new errors_1.PolyVValidationError(`Chat ban options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
291
+ }
292
+ }
293
+ validateKickOptions(options) {
294
+ const errors = [];
295
+ if (!options.global && (!options.channelId || options.channelId.trim() === '')) {
296
+ errors.push('channelId is required when --global is not specified');
297
+ }
298
+ if (!options.viewerIds && !options.nickNames) {
299
+ errors.push('viewerIds and nickNames are required');
300
+ }
301
+ if (options.viewerIds && options.nickNames && options.viewerIds.length !== options.nickNames.length) {
302
+ errors.push('viewerIds and nickNames must have the same length');
303
+ }
304
+ if (options.output && !['table', 'json'].includes(options.output)) {
305
+ errors.push('output must be either "table" or "json"');
306
+ }
307
+ if (errors.length > 0) {
308
+ throw new errors_1.PolyVValidationError(`Chat kick options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
309
+ }
310
+ }
311
+ validateBannedListOptions(options) {
312
+ const errors = [];
313
+ if (!options.channelId || options.channelId.trim() === '') {
314
+ errors.push('channelId is required');
315
+ }
316
+ if (!['userId', 'ip', 'badword'].includes(options.type)) {
317
+ errors.push('type must be one of: userId, ip, badword');
318
+ }
319
+ if (options.output && !['table', 'json'].includes(options.output)) {
320
+ errors.push('output must be either "table" or "json"');
321
+ }
322
+ if (errors.length > 0) {
323
+ throw new errors_1.PolyVValidationError(`Chat banned list options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
324
+ }
325
+ }
326
+ validateKickedListOptions(options) {
327
+ const errors = [];
328
+ if (!options.channelId || options.channelId.trim() === '') {
329
+ errors.push('channelId is required');
330
+ }
331
+ if (options.output && !['table', 'json'].includes(options.output)) {
332
+ errors.push('output must be either "table" or "json"');
333
+ }
334
+ if (errors.length > 0) {
335
+ throw new errors_1.PolyVValidationError(`Chat kicked list options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
336
+ }
337
+ }
338
+ displayBanResult(options, result, isGlobal) {
339
+ if (options.output === 'json') {
340
+ this.displayData({
341
+ channelId: options.channelId,
342
+ userIds: options.userIds,
343
+ global: isGlobal,
344
+ result
345
+ }, 'json');
346
+ }
347
+ else {
348
+ const scopeText = isGlobal ? 'globally' : `in channel ${options.channelId}`;
349
+ this.displaySuccess(`Users ${options.userIds.join(', ')} banned ${scopeText} successfully`);
350
+ }
351
+ }
352
+ displayUnbanResult(options, result, isGlobal) {
353
+ if (options.output === 'json') {
354
+ this.displayData({
355
+ channelId: options.channelId,
356
+ userIds: options.userIds,
357
+ global: isGlobal,
358
+ result
359
+ }, 'json');
360
+ }
361
+ else {
362
+ const scopeText = isGlobal ? 'globally' : `in channel ${options.channelId}`;
363
+ this.displaySuccess(`Users ${options.userIds.join(', ')} unbanned ${scopeText} successfully`);
364
+ }
365
+ }
366
+ displayKickResult(options, result) {
367
+ if (options.output === 'json') {
368
+ this.displayData({
369
+ channelId: options.channelId,
370
+ viewerIds: options.viewerIds,
371
+ nickNames: options.nickNames,
372
+ global: options.global,
373
+ result
374
+ }, 'json');
375
+ }
376
+ else {
377
+ const scopeText = options.global ? 'globally' : `in channel ${options.channelId}`;
378
+ this.displaySuccess(`Users kicked ${scopeText} successfully`);
379
+ }
380
+ }
381
+ displayUnkickResult(options, result) {
382
+ if (options.output === 'json') {
383
+ this.displayData({
384
+ channelId: options.channelId,
385
+ viewerIds: options.viewerIds,
386
+ nickNames: options.nickNames,
387
+ global: options.global,
388
+ result
389
+ }, 'json');
390
+ }
391
+ else {
392
+ const scopeText = options.global ? 'globally' : `in channel ${options.channelId}`;
393
+ this.displaySuccess(`Users unkicked ${scopeText} successfully`);
394
+ }
395
+ }
396
+ displayBannedListResult(options, result) {
397
+ if (options.output === 'json') {
398
+ this.displayData({
399
+ channelId: options.channelId,
400
+ type: options.type,
401
+ data: result.data || []
402
+ }, 'json');
403
+ }
404
+ else {
405
+ const data = result.data || [];
406
+ if (data.length === 0) {
407
+ this.displayInfo(`No banned ${options.type} found in channel ${options.channelId}`);
408
+ return;
409
+ }
410
+ if (options.type === 'badword') {
411
+ this.displayAsTable(data.map((word) => ({ Badword: word })));
412
+ }
413
+ else {
414
+ this.displayAsTable(data.map((item) => ({ [options.type === 'userId' ? 'User ID' : 'IP']: item })));
415
+ }
416
+ }
417
+ }
418
+ displayKickedListResult(options, result) {
419
+ if (options.output === 'json') {
420
+ this.displayData({
421
+ channelId: options.channelId,
422
+ data: result.data || []
423
+ }, 'json');
424
+ }
425
+ else {
426
+ const data = result.data || [];
427
+ if (data.length === 0) {
428
+ this.displayInfo(`No kicked users found in channel ${options.channelId}`);
429
+ return;
430
+ }
431
+ this.displayAsTable(data.map((user) => ({
432
+ 'User ID': user.userId || 'N/A',
433
+ 'Nickname': user.nick || 'N/A',
434
+ 'IP': user.clientIp || 'N/A',
435
+ 'User Type': user.userType || 'N/A',
436
+ 'Room ID': user.roomId || 'N/A'
437
+ })));
438
+ }
439
+ }
168
440
  }
169
441
  exports.ChatHandler = ChatHandler;
170
442
  //# sourceMappingURL=chat.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.handler.js","sourceRoot":"","sources":["../../src/handlers/chat.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.handler.js","sourceRoot":"","sources":["../../src/handlers/chat.handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { BaseHandler } from './base.handler';
2
+ import { CheckinServiceConfig, CheckinStartOptions, CheckinListOptions, CheckinResultOptions, CheckinSessionsOptions } from '../types/checkin';
3
+ import { AuthConfig } from '../types/auth';
4
+ export declare class CheckinHandler extends BaseHandler {
5
+ private readonly checkinService;
6
+ constructor(authConfig: AuthConfig, serviceConfig: CheckinServiceConfig);
7
+ startCheckin(options: CheckinStartOptions): Promise<void>;
8
+ listCheckins(options: CheckinListOptions): Promise<void>;
9
+ getCheckinResult(options: CheckinResultOptions): Promise<void>;
10
+ listSessions(options: CheckinSessionsOptions): Promise<void>;
11
+ private validateStartOptions;
12
+ private validateListOptions;
13
+ private validateResultOptions;
14
+ private validateSessionsOptions;
15
+ private displayStartResult;
16
+ private displayListResult;
17
+ private displayResultResult;
18
+ private displaySessionsResult;
19
+ private getDefaultStartDate;
20
+ private getDefaultEndDate;
21
+ }
22
+ //# sourceMappingURL=checkin.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkin.handler.d.ts","sourceRoot":"","sources":["../../src/handlers/checkin.handler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,qBAAa,cAAe,SAAQ,WAAW;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;gBAOvC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB;IAyBjE,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCzD,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCxD,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9D,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBlE,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,uBAAuB;IA6C/B,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB;CAG1B"}
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CheckinHandler = void 0;
4
+ const base_handler_1 = require("./base.handler");
5
+ const checkin_service_1 = require("../services/checkin-service");
6
+ const errors_1 = require("../utils/errors");
7
+ class CheckinHandler extends base_handler_1.BaseHandler {
8
+ constructor(authConfig, serviceConfig) {
9
+ super();
10
+ this.checkinService = new checkin_service_1.CheckinServiceSdk(authConfig, serviceConfig);
11
+ }
12
+ async startCheckin(options) {
13
+ return this.executeWithErrorHandling(async () => {
14
+ this.validateStartOptions(options);
15
+ const params = {
16
+ channelId: options.channelId,
17
+ limitTime: options.limitTime,
18
+ delayTime: options.delayTime,
19
+ message: options.message,
20
+ };
21
+ if (options.force) {
22
+ params.forceCheckInEnabled = 'Y';
23
+ }
24
+ const result = await this.checkinService.startCheckin(params);
25
+ this.displayStartResult(result, options);
26
+ }, 'checkin.start');
27
+ }
28
+ async listCheckins(options) {
29
+ return this.executeWithErrorHandling(async () => {
30
+ this.validateListOptions(options);
31
+ const params = {
32
+ channelId: options.channelId,
33
+ };
34
+ if (options.page !== undefined)
35
+ params.page = options.page;
36
+ if (options.size !== undefined)
37
+ params.pageSize = options.size;
38
+ if (options.date !== undefined)
39
+ params.date = options.date;
40
+ if (options.sessionId !== undefined)
41
+ params.sessionId = options.sessionId;
42
+ const result = await this.checkinService.listCheckins(params);
43
+ this.displayListResult(result, options);
44
+ }, 'checkin.list');
45
+ }
46
+ async getCheckinResult(options) {
47
+ return this.executeWithErrorHandling(async () => {
48
+ this.validateResultOptions(options);
49
+ const result = await this.checkinService.getCheckinResult({
50
+ channelId: options.channelId,
51
+ checkinId: options.checkinId,
52
+ });
53
+ this.displayResultResult(result, options);
54
+ }, 'checkin.result');
55
+ }
56
+ async listSessions(options) {
57
+ return this.executeWithErrorHandling(async () => {
58
+ this.validateSessionsOptions(options);
59
+ const result = await this.checkinService.listSessions({
60
+ channelId: options.channelId,
61
+ startDate: options.startDate || this.getDefaultStartDate(),
62
+ endDate: options.endDate || this.getDefaultEndDate(),
63
+ });
64
+ this.displaySessionsResult(result, options);
65
+ }, 'checkin.sessions');
66
+ }
67
+ validateStartOptions(options) {
68
+ const errors = [];
69
+ if (!options.channelId || options.channelId.trim() === '') {
70
+ errors.push('channelId is required');
71
+ }
72
+ if (options.limitTime !== undefined) {
73
+ if (typeof options.limitTime !== 'number' || options.limitTime < 0 || options.limitTime > 86400) {
74
+ errors.push('limitTime must be between 0 and 86400');
75
+ }
76
+ }
77
+ if (options.output && !['table', 'json'].includes(options.output)) {
78
+ errors.push('output must be either "table" or "json"');
79
+ }
80
+ if (errors.length > 0) {
81
+ throw new errors_1.PolyVValidationError(`Checkin start options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
82
+ }
83
+ }
84
+ validateListOptions(options) {
85
+ const errors = [];
86
+ if (!options.channelId || options.channelId.trim() === '') {
87
+ errors.push('channelId is required');
88
+ }
89
+ if (options.page !== undefined) {
90
+ if (typeof options.page !== 'number' || !Number.isInteger(options.page) || options.page < 1) {
91
+ errors.push('page must be a positive integer');
92
+ }
93
+ }
94
+ if (options.size !== undefined) {
95
+ if (typeof options.size !== 'number' || !Number.isInteger(options.size) || options.size < 1) {
96
+ errors.push('size must be a positive integer');
97
+ }
98
+ }
99
+ if (options.output && !['table', 'json'].includes(options.output)) {
100
+ errors.push('output must be either "table" or "json"');
101
+ }
102
+ if (errors.length > 0) {
103
+ throw new errors_1.PolyVValidationError(`Checkin list options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
104
+ }
105
+ }
106
+ validateResultOptions(options) {
107
+ const errors = [];
108
+ if (!options.channelId || options.channelId.trim() === '') {
109
+ errors.push('channelId is required');
110
+ }
111
+ if (!options.checkinId || options.checkinId.trim() === '') {
112
+ errors.push('checkinId is required');
113
+ }
114
+ if (options.output && !['table', 'json'].includes(options.output)) {
115
+ errors.push('output must be either "table" or "json"');
116
+ }
117
+ if (errors.length > 0) {
118
+ throw new errors_1.PolyVValidationError(`Checkin result options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
119
+ }
120
+ }
121
+ validateSessionsOptions(options) {
122
+ const errors = [];
123
+ if (!options.channelId || options.channelId.trim() === '') {
124
+ errors.push('channelId is required');
125
+ }
126
+ const dateFormatRegex = /^\d{4}-\d{2}-\d{2}$/;
127
+ if (options.startDate && !dateFormatRegex.test(options.startDate)) {
128
+ errors.push('Invalid date format. Use yyyy-MM-dd');
129
+ }
130
+ if (options.endDate && !dateFormatRegex.test(options.endDate)) {
131
+ errors.push('Invalid date format. Use yyyy-MM-dd');
132
+ }
133
+ if (options.startDate && options.endDate) {
134
+ const start = new Date(options.startDate);
135
+ const end = new Date(options.endDate);
136
+ const diffDays = Math.ceil((end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24));
137
+ if (diffDays > 30) {
138
+ errors.push('Date range cannot exceed 30 days');
139
+ }
140
+ }
141
+ if (options.output && !['table', 'json'].includes(options.output)) {
142
+ errors.push('output must be either "table" or "json"');
143
+ }
144
+ if (errors.length > 0) {
145
+ throw new errors_1.PolyVValidationError(`Checkin sessions options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
146
+ }
147
+ }
148
+ displayStartResult(result, options) {
149
+ const checkinId = result?.data?.checkinId || result?.checkinId || 'N/A';
150
+ if (options.output === 'json') {
151
+ this.displayData({
152
+ channelId: options.channelId,
153
+ checkinId,
154
+ limitTime: options.limitTime,
155
+ delayTime: options.delayTime,
156
+ message: options.message,
157
+ force: options.force,
158
+ result
159
+ }, 'json');
160
+ }
161
+ else {
162
+ if (options.delayTime) {
163
+ this.displaySuccess(`Scheduled checkin started successfully`, {
164
+ channelId: options.channelId,
165
+ checkinId,
166
+ scheduledTime: new Date(options.delayTime).toLocaleString()
167
+ }, 'table');
168
+ }
169
+ else {
170
+ console.log(`Checkin started successfully`);
171
+ console.log(`Channel ID: ${options.channelId}`);
172
+ console.log(`Checkin ID: ${checkinId}`);
173
+ }
174
+ }
175
+ }
176
+ displayListResult(result, options) {
177
+ const contents = result?.data?.contents || [];
178
+ const count = result?.data?.count || contents.length;
179
+ if (contents.length === 0) {
180
+ this.displayInfo(`No checkins found for channel ${options.channelId}`);
181
+ return;
182
+ }
183
+ if (options.output === 'json') {
184
+ this.displayData({
185
+ channelId: options.channelId,
186
+ count,
187
+ data: contents
188
+ }, 'json');
189
+ }
190
+ else {
191
+ const tableData = contents.map((item) => ({
192
+ 'Checkin ID': item.checkinid || item.checkinId || '-',
193
+ 'User ID': item.userid || item.viewerId || '-',
194
+ 'Nickname': item.nickname || item.nick || '-',
195
+ 'Time': item.timeFormat || (item.time ? new Date(item.time).toLocaleString() : '-'),
196
+ }));
197
+ console.log(`Found ${count} checkin records`);
198
+ this.displayAsTable(tableData);
199
+ }
200
+ }
201
+ displayResultResult(result, options) {
202
+ const data = result?.data || [];
203
+ if (!data || (Array.isArray(data) && data.length === 0)) {
204
+ this.displayInfo(`No checkin result found for checkin ID ${options.checkinId}`);
205
+ return;
206
+ }
207
+ if (options.output === 'json') {
208
+ this.displayData({
209
+ channelId: options.channelId,
210
+ checkinId: options.checkinId,
211
+ data
212
+ }, 'json');
213
+ }
214
+ else {
215
+ const tableData = data.map((item) => ({
216
+ 'User ID': item.userid || item.viewerId || '-',
217
+ 'Nickname': item.nickname || item.nick || '-',
218
+ 'Checked': item.checked === 'Y' ? 'Yes' : 'No',
219
+ 'Time': item.timeFormat || (item.time ? new Date(item.time).toLocaleString() : '-'),
220
+ }));
221
+ const checkedCount = data.filter((item) => item.checked === 'Y').length;
222
+ const uncheckedCount = data.filter((item) => item.checked === 'N').length;
223
+ console.log(`Checkin result for ${options.checkinId}`);
224
+ console.log(`Checked: ${checkedCount}, Unchecked: ${uncheckedCount}`);
225
+ this.displayAsTable(tableData);
226
+ }
227
+ }
228
+ displaySessionsResult(result, options) {
229
+ const data = result?.data || [];
230
+ if (!data || (Array.isArray(data) && data.length === 0)) {
231
+ this.displayInfo(`No checkin sessions found for the specified date range`);
232
+ return;
233
+ }
234
+ if (options.output === 'json') {
235
+ this.displayData({
236
+ channelId: options.channelId,
237
+ startDate: options.startDate,
238
+ endDate: options.endDate,
239
+ data
240
+ }, 'json');
241
+ }
242
+ else {
243
+ const tableData = data.map((item) => ({
244
+ 'Checkin ID': item.checkinid || item.checkinId || '-',
245
+ 'Time': item.timeFormat || (item.time ? new Date(item.time).toLocaleString() : '-'),
246
+ }));
247
+ console.log(`Found ${data.length} checkin sessions`);
248
+ this.displayAsTable(tableData);
249
+ }
250
+ }
251
+ getDefaultStartDate() {
252
+ const date = new Date();
253
+ date.setDate(date.getDate() - 7);
254
+ return date.toISOString().split('T')[0] ?? '';
255
+ }
256
+ getDefaultEndDate() {
257
+ return new Date().toISOString().split('T')[0] ?? '';
258
+ }
259
+ }
260
+ exports.CheckinHandler = CheckinHandler;
261
+ //# sourceMappingURL=checkin.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkin.handler.js","sourceRoot":"","sources":["../../src/handlers/checkin.handler.ts"],"names":[],"mappings":"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"}