polyv-live-cli 1.2.29-rc.0 → 1.2.29

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 (283) hide show
  1. package/README.md +422 -81
  2. package/dist/commands/account.commands.d.ts.map +1 -1
  3. package/dist/commands/account.commands.js +0 -298
  4. package/dist/commands/account.commands.js.map +1 -1
  5. package/dist/commands/ai.commands.d.ts +1 -4
  6. package/dist/commands/ai.commands.d.ts.map +1 -1
  7. package/dist/commands/ai.commands.js +6 -245
  8. package/dist/commands/ai.commands.js.map +1 -1
  9. package/dist/commands/card-push.commands.d.ts +0 -1
  10. package/dist/commands/card-push.commands.d.ts.map +1 -1
  11. package/dist/commands/card-push.commands.js +0 -66
  12. package/dist/commands/card-push.commands.js.map +1 -1
  13. package/dist/commands/channel.commands.d.ts +1 -6
  14. package/dist/commands/channel.commands.d.ts.map +1 -1
  15. package/dist/commands/channel.commands.js +0 -752
  16. package/dist/commands/channel.commands.js.map +1 -1
  17. package/dist/commands/chat.commands.d.ts +0 -10
  18. package/dist/commands/chat.commands.d.ts.map +1 -1
  19. package/dist/commands/chat.commands.js +0 -397
  20. package/dist/commands/chat.commands.js.map +1 -1
  21. package/dist/commands/checkin.commands.d.ts.map +1 -1
  22. package/dist/commands/checkin.commands.js +0 -34
  23. package/dist/commands/checkin.commands.js.map +1 -1
  24. package/dist/commands/coupon.commands.d.ts +0 -2
  25. package/dist/commands/coupon.commands.d.ts.map +1 -1
  26. package/dist/commands/coupon.commands.js +0 -140
  27. package/dist/commands/coupon.commands.js.map +1 -1
  28. package/dist/commands/document.commands.d.ts.map +1 -1
  29. package/dist/commands/document.commands.js +0 -79
  30. package/dist/commands/document.commands.js.map +1 -1
  31. package/dist/commands/donate.commands.d.ts.map +1 -1
  32. package/dist/commands/donate.commands.js +0 -42
  33. package/dist/commands/donate.commands.js.map +1 -1
  34. package/dist/commands/index.d.ts +0 -5
  35. package/dist/commands/index.d.ts.map +1 -1
  36. package/dist/commands/index.js +1 -11
  37. package/dist/commands/index.js.map +1 -1
  38. package/dist/commands/lottery.commands.d.ts +0 -3
  39. package/dist/commands/lottery.commands.d.ts.map +1 -1
  40. package/dist/commands/lottery.commands.js +18 -381
  41. package/dist/commands/lottery.commands.js.map +1 -1
  42. package/dist/commands/monitor.commands.d.ts.map +1 -1
  43. package/dist/commands/monitor.commands.js +0 -54
  44. package/dist/commands/monitor.commands.js.map +1 -1
  45. package/dist/commands/platform.commands.d.ts.map +1 -1
  46. package/dist/commands/platform.commands.js +0 -377
  47. package/dist/commands/platform.commands.js.map +1 -1
  48. package/dist/commands/playback.commands.d.ts.map +1 -1
  49. package/dist/commands/playback.commands.js +0 -115
  50. package/dist/commands/playback.commands.js.map +1 -1
  51. package/dist/commands/player.commands.d.ts.map +1 -1
  52. package/dist/commands/player.commands.js +0 -202
  53. package/dist/commands/player.commands.js.map +1 -1
  54. package/dist/commands/product.commands.d.ts +0 -3
  55. package/dist/commands/product.commands.d.ts.map +1 -1
  56. package/dist/commands/product.commands.js +0 -388
  57. package/dist/commands/product.commands.js.map +1 -1
  58. package/dist/commands/promotion.commands.d.ts.map +1 -1
  59. package/dist/commands/promotion.commands.js +0 -2
  60. package/dist/commands/promotion.commands.js.map +1 -1
  61. package/dist/commands/qa.commands.d.ts +0 -2
  62. package/dist/commands/qa.commands.d.ts.map +1 -1
  63. package/dist/commands/qa.commands.js +0 -164
  64. package/dist/commands/qa.commands.js.map +1 -1
  65. package/dist/commands/questionnaire.commands.d.ts +0 -2
  66. package/dist/commands/questionnaire.commands.d.ts.map +1 -1
  67. package/dist/commands/questionnaire.commands.js +0 -115
  68. package/dist/commands/questionnaire.commands.js.map +1 -1
  69. package/dist/commands/record.commands.d.ts.map +1 -1
  70. package/dist/commands/record.commands.js +0 -154
  71. package/dist/commands/record.commands.js.map +1 -1
  72. package/dist/commands/session.commands.d.ts.map +1 -1
  73. package/dist/commands/session.commands.js +0 -95
  74. package/dist/commands/session.commands.js.map +1 -1
  75. package/dist/commands/statistics.commands.d.ts.map +1 -1
  76. package/dist/commands/statistics.commands.js +0 -200
  77. package/dist/commands/statistics.commands.js.map +1 -1
  78. package/dist/commands/stream.commands.d.ts.map +1 -1
  79. package/dist/commands/stream.commands.js +0 -115
  80. package/dist/commands/stream.commands.js.map +1 -1
  81. package/dist/commands/transmit.commands.d.ts +0 -1
  82. package/dist/commands/transmit.commands.d.ts.map +1 -1
  83. package/dist/commands/transmit.commands.js +0 -33
  84. package/dist/commands/transmit.commands.js.map +1 -1
  85. package/dist/commands/viewer.commands.d.ts.map +1 -1
  86. package/dist/commands/viewer.commands.js +0 -274
  87. package/dist/commands/viewer.commands.js.map +1 -1
  88. package/dist/handlers/card-push.handler.d.ts +2 -5
  89. package/dist/handlers/card-push.handler.d.ts.map +1 -1
  90. package/dist/handlers/card-push.handler.js +0 -34
  91. package/dist/handlers/card-push.handler.js.map +1 -1
  92. package/dist/handlers/channel.handler.d.ts +0 -50
  93. package/dist/handlers/channel.handler.d.ts.map +1 -1
  94. package/dist/handlers/channel.handler.js +0 -421
  95. package/dist/handlers/channel.handler.js.map +1 -1
  96. package/dist/handlers/chat.handler.d.ts +1 -238
  97. package/dist/handlers/chat.handler.d.ts.map +1 -1
  98. package/dist/handlers/chat.handler.js +0 -379
  99. package/dist/handlers/chat.handler.js.map +1 -1
  100. package/dist/handlers/checkin.handler.d.ts +1 -4
  101. package/dist/handlers/checkin.handler.d.ts.map +1 -1
  102. package/dist/handlers/checkin.handler.js +0 -41
  103. package/dist/handlers/checkin.handler.js.map +1 -1
  104. package/dist/handlers/coupon.handler.d.ts +0 -27
  105. package/dist/handlers/coupon.handler.d.ts.map +1 -1
  106. package/dist/handlers/coupon.handler.js +0 -117
  107. package/dist/handlers/coupon.handler.js.map +1 -1
  108. package/dist/handlers/document.handler.d.ts +0 -17
  109. package/dist/handlers/document.handler.d.ts.map +1 -1
  110. package/dist/handlers/document.handler.js +0 -67
  111. package/dist/handlers/document.handler.js.map +1 -1
  112. package/dist/handlers/donate.handler.d.ts +1 -4
  113. package/dist/handlers/donate.handler.d.ts.map +1 -1
  114. package/dist/handlers/donate.handler.js +0 -47
  115. package/dist/handlers/donate.handler.js.map +1 -1
  116. package/dist/handlers/lottery.handler.d.ts +3 -29
  117. package/dist/handlers/lottery.handler.d.ts.map +1 -1
  118. package/dist/handlers/lottery.handler.js +75 -328
  119. package/dist/handlers/lottery.handler.js.map +1 -1
  120. package/dist/handlers/platform.handler.d.ts +2 -19
  121. package/dist/handlers/platform.handler.d.ts.map +1 -1
  122. package/dist/handlers/platform.handler.js +12 -187
  123. package/dist/handlers/platform.handler.js.map +1 -1
  124. package/dist/handlers/playback.handler.d.ts +0 -20
  125. package/dist/handlers/playback.handler.d.ts.map +1 -1
  126. package/dist/handlers/playback.handler.js +0 -91
  127. package/dist/handlers/playback.handler.js.map +1 -1
  128. package/dist/handlers/player.handler.d.ts +0 -22
  129. package/dist/handlers/player.handler.d.ts.map +1 -1
  130. package/dist/handlers/player.handler.js +0 -61
  131. package/dist/handlers/player.handler.js.map +1 -1
  132. package/dist/handlers/product.handler.d.ts +1 -141
  133. package/dist/handlers/product.handler.d.ts.map +1 -1
  134. package/dist/handlers/product.handler.js +0 -288
  135. package/dist/handlers/product.handler.js.map +1 -1
  136. package/dist/handlers/promotion.handler.d.ts.map +1 -1
  137. package/dist/handlers/promotion.handler.js +0 -2
  138. package/dist/handlers/promotion.handler.js.map +1 -1
  139. package/dist/handlers/qa-questionnaire.handler.d.ts +1 -15
  140. package/dist/handlers/qa-questionnaire.handler.d.ts.map +1 -1
  141. package/dist/handlers/qa-questionnaire.handler.js +0 -179
  142. package/dist/handlers/qa-questionnaire.handler.js.map +1 -1
  143. package/dist/handlers/record.handler.d.ts +0 -32
  144. package/dist/handlers/record.handler.d.ts.map +1 -1
  145. package/dist/handlers/record.handler.js +0 -146
  146. package/dist/handlers/record.handler.js.map +1 -1
  147. package/dist/handlers/session.handler.d.ts +0 -20
  148. package/dist/handlers/session.handler.d.ts.map +1 -1
  149. package/dist/handlers/session.handler.js +0 -68
  150. package/dist/handlers/session.handler.js.map +1 -1
  151. package/dist/handlers/statistics.handler.d.ts +0 -4
  152. package/dist/handlers/statistics.handler.d.ts.map +1 -1
  153. package/dist/handlers/statistics.handler.js +0 -11
  154. package/dist/handlers/statistics.handler.js.map +1 -1
  155. package/dist/handlers/stream.handler.d.ts +1 -73
  156. package/dist/handlers/stream.handler.d.ts.map +1 -1
  157. package/dist/handlers/stream.handler.js +0 -120
  158. package/dist/handlers/stream.handler.js.map +1 -1
  159. package/dist/handlers/transmit.handler.d.ts +1 -8
  160. package/dist/handlers/transmit.handler.d.ts.map +1 -1
  161. package/dist/handlers/transmit.handler.js +0 -26
  162. package/dist/handlers/transmit.handler.js.map +1 -1
  163. package/dist/handlers/viewer.handler.d.ts +1 -29
  164. package/dist/handlers/viewer.handler.d.ts.map +1 -1
  165. package/dist/handlers/viewer.handler.js +8 -399
  166. package/dist/handlers/viewer.handler.js.map +1 -1
  167. package/dist/index.d.ts.map +1 -1
  168. package/dist/index.js +19 -114
  169. package/dist/index.js.map +1 -1
  170. package/dist/services/ai-digital-human-service.d.ts +0 -2
  171. package/dist/services/ai-digital-human-service.d.ts.map +1 -1
  172. package/dist/services/ai-digital-human-service.js +15 -14
  173. package/dist/services/ai-digital-human-service.js.map +1 -1
  174. package/dist/services/card-push-service.d.ts +1 -6
  175. package/dist/services/card-push-service.d.ts.map +1 -1
  176. package/dist/services/card-push-service.js +18 -51
  177. package/dist/services/card-push-service.js.map +1 -1
  178. package/dist/services/channel.service.sdk.d.ts +0 -73
  179. package/dist/services/channel.service.sdk.d.ts.map +1 -1
  180. package/dist/services/channel.service.sdk.js +0 -508
  181. package/dist/services/channel.service.sdk.js.map +1 -1
  182. package/dist/services/chat.service.sdk.d.ts +0 -170
  183. package/dist/services/chat.service.sdk.d.ts.map +1 -1
  184. package/dist/services/chat.service.sdk.js +0 -256
  185. package/dist/services/chat.service.sdk.js.map +1 -1
  186. package/dist/services/checkin-service.d.ts +1 -2
  187. package/dist/services/checkin-service.d.ts.map +1 -1
  188. package/dist/services/checkin-service.js +0 -12
  189. package/dist/services/checkin-service.js.map +1 -1
  190. package/dist/services/document.service.sdk.d.ts +0 -13
  191. package/dist/services/document.service.sdk.d.ts.map +1 -1
  192. package/dist/services/document.service.sdk.js +0 -28
  193. package/dist/services/document.service.sdk.js.map +1 -1
  194. package/dist/services/donate-service.d.ts +1 -4
  195. package/dist/services/donate-service.d.ts.map +1 -1
  196. package/dist/services/donate-service.js +9 -69
  197. package/dist/services/donate-service.js.map +1 -1
  198. package/dist/services/lottery-service.d.ts +1 -25
  199. package/dist/services/lottery-service.d.ts.map +1 -1
  200. package/dist/services/lottery-service.js +9 -327
  201. package/dist/services/lottery-service.js.map +1 -1
  202. package/dist/services/platform-label-service.d.ts +0 -1
  203. package/dist/services/platform-label-service.d.ts.map +1 -1
  204. package/dist/services/platform-label-service.js +6 -20
  205. package/dist/services/platform-label-service.js.map +1 -1
  206. package/dist/services/platform-service.d.ts +1 -12
  207. package/dist/services/platform-service.d.ts.map +1 -1
  208. package/dist/services/platform-service.js +2 -46
  209. package/dist/services/platform-service.js.map +1 -1
  210. package/dist/services/playback.service.sdk.d.ts +0 -27
  211. package/dist/services/playback.service.sdk.d.ts.map +1 -1
  212. package/dist/services/playback.service.sdk.js +2 -38
  213. package/dist/services/playback.service.sdk.js.map +1 -1
  214. package/dist/services/player.service.sdk.d.ts +0 -12
  215. package/dist/services/player.service.sdk.d.ts.map +1 -1
  216. package/dist/services/player.service.sdk.js +0 -36
  217. package/dist/services/player.service.sdk.js.map +1 -1
  218. package/dist/services/product.service.sdk.d.ts +1 -78
  219. package/dist/services/product.service.sdk.d.ts.map +1 -1
  220. package/dist/services/product.service.sdk.js +0 -470
  221. package/dist/services/product.service.sdk.js.map +1 -1
  222. package/dist/services/promotion-service.d.ts +0 -2
  223. package/dist/services/promotion-service.d.ts.map +1 -1
  224. package/dist/services/promotion-service.js +21 -34
  225. package/dist/services/promotion-service.js.map +1 -1
  226. package/dist/services/qa-questionnaire-service.d.ts +1 -12
  227. package/dist/services/qa-questionnaire-service.d.ts.map +1 -1
  228. package/dist/services/qa-questionnaire-service.js +9 -158
  229. package/dist/services/qa-questionnaire-service.js.map +1 -1
  230. package/dist/services/record.service.sdk.d.ts +0 -67
  231. package/dist/services/record.service.sdk.d.ts.map +1 -1
  232. package/dist/services/record.service.sdk.js +3 -60
  233. package/dist/services/record.service.sdk.js.map +1 -1
  234. package/dist/services/session.service.sdk.d.ts +0 -34
  235. package/dist/services/session.service.sdk.d.ts.map +1 -1
  236. package/dist/services/session.service.sdk.js +0 -36
  237. package/dist/services/session.service.sdk.js.map +1 -1
  238. package/dist/services/statistics.service.sdk.d.ts +0 -21
  239. package/dist/services/statistics.service.sdk.d.ts.map +1 -1
  240. package/dist/services/statistics.service.sdk.js +0 -99
  241. package/dist/services/statistics.service.sdk.js.map +1 -1
  242. package/dist/services/stream.service.sdk.d.ts +0 -19
  243. package/dist/services/stream.service.sdk.d.ts.map +1 -1
  244. package/dist/services/stream.service.sdk.js +0 -109
  245. package/dist/services/stream.service.sdk.js.map +1 -1
  246. package/dist/services/transmit-service.d.ts +0 -7
  247. package/dist/services/transmit-service.d.ts.map +1 -1
  248. package/dist/services/transmit-service.js +14 -28
  249. package/dist/services/transmit-service.js.map +1 -1
  250. package/dist/services/viewer-service.d.ts +1 -15
  251. package/dist/services/viewer-service.d.ts.map +1 -1
  252. package/dist/services/viewer-service.js +0 -118
  253. package/dist/services/viewer-service.js.map +1 -1
  254. package/dist/setup/resource-handlers.js +3 -2
  255. package/dist/setup/resource-handlers.js.map +1 -1
  256. package/dist/types/auth-source.types.d.ts +2 -2
  257. package/dist/types/auth-source.types.js +2 -2
  258. package/dist/types/auth-source.types.js.map +1 -1
  259. package/dist/types/card-push.d.ts +0 -15
  260. package/dist/types/card-push.d.ts.map +1 -1
  261. package/dist/types/chat.d.ts +0 -12
  262. package/dist/types/chat.d.ts.map +1 -1
  263. package/dist/types/checkin.d.ts +0 -9
  264. package/dist/types/checkin.d.ts.map +1 -1
  265. package/dist/types/donate.d.ts +0 -39
  266. package/dist/types/donate.d.ts.map +1 -1
  267. package/dist/types/interaction.d.ts +0 -87
  268. package/dist/types/interaction.d.ts.map +1 -1
  269. package/dist/types/lottery.d.ts +17 -57
  270. package/dist/types/lottery.d.ts.map +1 -1
  271. package/dist/types/platform.d.ts +0 -69
  272. package/dist/types/platform.d.ts.map +1 -1
  273. package/dist/types/product.d.ts +0 -82
  274. package/dist/types/product.d.ts.map +1 -1
  275. package/dist/types/promotion.d.ts +0 -1
  276. package/dist/types/promotion.d.ts.map +1 -1
  277. package/dist/types/qa.d.ts +0 -111
  278. package/dist/types/qa.d.ts.map +1 -1
  279. package/dist/types/record.d.ts +0 -1
  280. package/dist/types/record.d.ts.map +1 -1
  281. package/dist/types/viewer.d.ts +0 -103
  282. package/dist/types/viewer.d.ts.map +1 -1
  283. package/package.json +3 -3
@@ -4,8 +4,14 @@ exports.LotteryHandler = void 0;
4
4
  const base_handler_1 = require("./base.handler");
5
5
  const lottery_service_1 = require("../services/lottery-service");
6
6
  const errors_1 = require("../utils/errors");
7
- const api_command_1 = require("../utils/api-command");
8
7
  const VALID_LOTTERY_CONDITIONS = ['none', 'invite', 'duration', 'comment', 'question'];
8
+ const VALID_ACTIVITY_DURATION_TYPES = ['second', 'minute', 'hour'];
9
+ const VALID_ACCEPT_TYPES = ['form', 'link', 'qrCode'];
10
+ const DEFAULT_ACTIVITY_DURATION = '10';
11
+ const DEFAULT_FORM_INFO = [
12
+ { type: 'userName', field: '姓名', tips: '请输入姓名', required: true },
13
+ { type: 'userPhone', field: '手机号', tips: '请输入手机号', required: true },
14
+ ];
9
15
  class LotteryHandler extends base_handler_1.BaseHandler {
10
16
  constructor(authConfig, serviceConfig) {
11
17
  super();
@@ -23,17 +29,37 @@ class LotteryHandler extends base_handler_1.BaseHandler {
23
29
  };
24
30
  if (options.receiveInfo) {
25
31
  params.receiveEnabled = 'Y';
26
- params.receiveInfo = options.receiveInfo;
32
+ params.receiveInfo = this.parseJsonArray(options.receiveInfo, 'receiveInfo');
27
33
  }
28
- if (options.type === 'invite' || options.type === 'duration') {
34
+ if (options.type !== 'none') {
35
+ params.activityDuration = options.activityDuration ?? this.getDefaultActivityDuration(options);
36
+ params.activityDurationType = options.activityDurationType ?? 'minute';
37
+ }
38
+ if (options.type !== 'none' && options.type !== 'question') {
39
+ params.acceptType = options.acceptType ?? 'form';
40
+ if (params.acceptType === 'form') {
41
+ params.formInfo = options.formInfo
42
+ ? this.parseJsonArray(options.formInfo, 'formInfo')
43
+ : DEFAULT_FORM_INFO;
44
+ }
45
+ else if (params.acceptType === 'link' && options.prizeUrl) {
46
+ params.prizeUrl = options.prizeUrl;
47
+ }
48
+ else if (params.acceptType === 'qrCode') {
49
+ if (options.qrCode)
50
+ params.qrCode = options.qrCode;
51
+ if (options.qrCodeTips)
52
+ params.qrCodeTips = options.qrCodeTips;
53
+ }
54
+ }
55
+ if (options.type === 'duration') {
29
56
  if (options.duration !== undefined) {
30
57
  params.duration = options.duration;
31
58
  }
32
- if (options.type === 'invite' && options.inviteNum !== undefined) {
33
- params.inviteNum = options.inviteNum;
34
- }
35
59
  }
36
- await (0, api_command_1.confirmWrite)(options.force, `Create lottery activity "${options.name}" on channel ${options.channelId}?`);
60
+ if (options.type === 'invite' && options.inviteNum !== undefined) {
61
+ params.inviteNum = options.inviteNum;
62
+ }
37
63
  const result = await this.lotteryService.createLotteryActivity(params);
38
64
  this.displayCreateResult(result, options);
39
65
  }, 'lottery.create');
@@ -73,7 +99,6 @@ class LotteryHandler extends base_handler_1.BaseHandler {
73
99
  params.amount = options.amount;
74
100
  if (options.prizeName !== undefined)
75
101
  params.prizeName = options.prizeName;
76
- await (0, api_command_1.confirmWrite)(options.force, `Update lottery activity ${options.id} on channel ${options.channelId}?`);
77
102
  const result = await this.lotteryService.updateLotteryActivity(params);
78
103
  this.displayUpdateResult(result, options);
79
104
  }, 'lottery.update');
@@ -81,7 +106,6 @@ class LotteryHandler extends base_handler_1.BaseHandler {
81
106
  async deleteLottery(options) {
82
107
  return this.executeWithErrorHandling(async () => {
83
108
  this.validateDeleteOptions(options);
84
- await (0, api_command_1.confirmWrite)(options.force, `Delete lottery activity ${options.id} on channel ${options.channelId}?`);
85
109
  await this.lotteryService.deleteLotteryActivity({
86
110
  channelId: options.channelId,
87
111
  id: options.id,
@@ -98,8 +122,6 @@ class LotteryHandler extends base_handler_1.BaseHandler {
98
122
  channelId: options.channelId,
99
123
  lotteryId: options.lotteryId,
100
124
  };
101
- if (options.viewerId !== undefined)
102
- params.viewerId = options.viewerId;
103
125
  if (options.page !== undefined)
104
126
  params.page = options.page;
105
127
  if (options.limit !== undefined)
@@ -128,174 +150,6 @@ class LotteryHandler extends base_handler_1.BaseHandler {
128
150
  this.displayRecordsResult(result, options);
129
151
  }, 'lottery.records');
130
152
  }
131
- async getChannelRecords(options) {
132
- return this.executeWithErrorHandling(async () => {
133
- this.validateChannelRecordsOptions(options);
134
- const params = {
135
- channelIds: options.channelIds,
136
- startTime: options.startTime,
137
- endTime: options.endTime,
138
- };
139
- if (options.sessionId !== undefined)
140
- params.sessionId = options.sessionId;
141
- if (options.page !== undefined)
142
- params.page = options.page;
143
- if (options.limit !== undefined)
144
- params.limit = options.limit;
145
- const result = await this.lotteryService.listChannelsLottery(params);
146
- this.displayGenericResult(result, options.output);
147
- }, 'lottery.channel-records');
148
- }
149
- async getLegacyRecords(options) {
150
- return this.executeWithErrorHandling(async () => {
151
- this.validateLegacyRecordsOptions(options);
152
- const params = {
153
- channelId: options.channelId,
154
- startTime: options.startTime,
155
- endTime: options.endTime,
156
- };
157
- if (options.sessionId !== undefined)
158
- params.sessionId = options.sessionId;
159
- if (options.page !== undefined)
160
- params.page = options.page;
161
- if (options.limit !== undefined)
162
- params.limit = options.limit;
163
- const result = await this.lotteryService.listLegacyLottery(params);
164
- this.displayRecordsResult(result, options);
165
- }, 'lottery.legacy-records');
166
- }
167
- async downloadWinners(options) {
168
- return this.executeWithErrorHandling(async () => {
169
- this.validateDownloadWinnersOptions(options);
170
- const result = await this.lotteryService.downloadWinnerDetail({
171
- channelId: options.channelId,
172
- lotteryId: options.lotteryId,
173
- });
174
- this.displayGenericResult(result, options.output);
175
- }, 'lottery.download-winners');
176
- }
177
- async addReceiveInfo(options) {
178
- return this.executeWithErrorHandling(async () => {
179
- this.validateReceiveInfoOptions(options);
180
- await (0, api_command_1.confirmWrite)(options.force, `Add receive info for lottery winner ${options.winnerCode}?`);
181
- const params = {
182
- channelId: options.channelId,
183
- lotteryId: options.lotteryId,
184
- winnerCode: options.winnerCode,
185
- viewerId: options.viewerId,
186
- };
187
- const receiveInfo = this.parseReceiveInfo(options.receiveInfo);
188
- if (receiveInfo !== undefined)
189
- params.receiveInfo = receiveInfo;
190
- const result = await this.lotteryService.addReceiveInfoV4(params);
191
- this.displayGenericResult(result ?? { success: true }, options.output, 'Receive info saved successfully');
192
- }, 'lottery.receive-info');
193
- }
194
- async createWaitLottery(options) {
195
- return this.executeWithErrorHandling(async () => {
196
- this.validateGenericOptions('Lottery wait create', options, ['channelId', 'id', 'lotteryTime'], [], ['lotteryTime']);
197
- await (0, api_command_1.confirmWrite)(options.force, `Create wait lottery schedule for lottery ${options.id}?`);
198
- const result = await this.lotteryService.createConditionWaitLottery(this.toV4Params(options));
199
- this.displayGenericResult(result ?? { success: true }, options.output, 'Wait lottery scheduled successfully');
200
- }, 'lottery.wait.create');
201
- }
202
- async listViewerGroups(options) {
203
- return this.executeWithErrorHandling(async () => {
204
- this.validateGenericOptions('Lottery group list', options, ['channelId'], ['page', 'size']);
205
- const result = await this.lotteryService.listLotteryViewerGroups(this.toV4Params(options));
206
- this.displayGenericResult(result, options.output);
207
- }, 'lottery.group.list');
208
- }
209
- async createViewerGroup(options) {
210
- return this.executeWithErrorHandling(async () => {
211
- this.validateGenericOptions('Lottery group create', options, ['channelId', 'title']);
212
- await (0, api_command_1.confirmWrite)(options.force, `Create lottery viewer group "${options.title}"?`);
213
- const result = await this.lotteryService.createLotteryViewerGroup(this.toV4Params(options));
214
- this.displayGenericResult(result, options.output, 'Lottery viewer group created successfully');
215
- }, 'lottery.group.create');
216
- }
217
- async updateViewerGroup(options) {
218
- return this.executeWithErrorHandling(async () => {
219
- this.validateGenericOptions('Lottery group update', options, ['channelId', 'id', 'title']);
220
- await (0, api_command_1.confirmWrite)(options.force, `Update lottery viewer group ${options.id}?`);
221
- const result = await this.lotteryService.updateLotteryViewerGroup(this.toV4Params(options));
222
- this.displayGenericResult(result ?? { success: true }, options.output, 'Lottery viewer group updated successfully');
223
- }, 'lottery.group.update');
224
- }
225
- async deleteViewerGroup(options) {
226
- return this.executeWithErrorHandling(async () => {
227
- this.validateGenericOptions('Lottery group delete', options, ['channelId', 'id']);
228
- await (0, api_command_1.confirmWrite)(options.force, `Delete lottery viewer group ${options.id}?`);
229
- const result = await this.lotteryService.deleteLotteryViewerGroup(this.toV4Params(options));
230
- this.displayGenericResult(result ?? { success: true }, options.output, 'Lottery viewer group deleted successfully');
231
- }, 'lottery.group.delete');
232
- }
233
- async listGroupViewers(options) {
234
- return this.executeWithErrorHandling(async () => {
235
- this.validateGenericOptions('Lottery group-viewer list', options, ['channelId', 'groupId'], ['page', 'size']);
236
- const result = await this.lotteryService.listLotteryGroupViewers(this.toV4Params(options));
237
- this.displayGenericResult(result, options.output);
238
- }, 'lottery.group-viewer.list');
239
- }
240
- async createGroupViewers(options) {
241
- return this.executeWithErrorHandling(async () => {
242
- this.validateGenericOptions('Lottery group-viewer add', options, ['channelId', 'groupId']);
243
- this.validateArrayOption('viewerIds', options.viewerIds, options);
244
- await (0, api_command_1.confirmWrite)(options.force, `Add ${options.viewerIds.length} lottery group viewer(s)?`);
245
- const result = await this.lotteryService.createLotteryGroupViewers(this.toV4Params(options));
246
- this.displayGenericResult(result, options.output, 'Lottery group viewers added successfully');
247
- }, 'lottery.group-viewer.add');
248
- }
249
- async createGroupViewerNames(options) {
250
- return this.executeWithErrorHandling(async () => {
251
- this.validateGenericOptions('Lottery group-viewer add-names', options, ['channelId', 'groupId']);
252
- this.validateArrayOption('viewerNames', options.viewerNames, options);
253
- await (0, api_command_1.confirmWrite)(options.force, `Add ${options.viewerNames.length} lottery group viewer name(s)?`);
254
- const result = await this.lotteryService.createLotteryGroupViewerNames(this.toV4Params(options));
255
- this.displayGenericResult(result, options.output, 'Lottery group viewer names added successfully');
256
- }, 'lottery.group-viewer.add-names');
257
- }
258
- async deleteGroupViewers(options) {
259
- return this.executeWithErrorHandling(async () => {
260
- this.validateGenericOptions('Lottery group-viewer delete', options, ['channelId', 'groupId']);
261
- this.validateArrayOption('ids', options.ids, options);
262
- await (0, api_command_1.confirmWrite)(options.force, `Delete ${options.ids.length} lottery group viewer record(s)?`);
263
- const result = await this.lotteryService.deleteLotteryGroupViewers(this.toV4Params(options));
264
- this.displayGenericResult(result ?? { success: true }, options.output, 'Lottery group viewers deleted successfully');
265
- }, 'lottery.group-viewer.delete');
266
- }
267
- async listBlacklistViewers(options) {
268
- return this.executeWithErrorHandling(async () => {
269
- this.validateGenericOptions('Lottery blacklist list', options, ['channelId'], ['page', 'size']);
270
- const result = await this.lotteryService.listLotteryBlacklistViewers(this.toV4Params(options));
271
- this.displayGenericResult(result, options.output);
272
- }, 'lottery.blacklist.list');
273
- }
274
- async createBlacklistViewers(options) {
275
- return this.executeWithErrorHandling(async () => {
276
- this.validateGenericOptions('Lottery blacklist add', options, ['channelId']);
277
- this.validateArrayOption('viewerIds', options.viewerIds, options);
278
- await (0, api_command_1.confirmWrite)(options.force, `Add ${options.viewerIds.length} lottery blacklist viewer(s)?`);
279
- const result = await this.lotteryService.createLotteryBlacklistViewers(this.toV4Params(options));
280
- this.displayGenericResult(result, options.output, 'Lottery blacklist viewers added successfully');
281
- }, 'lottery.blacklist.add');
282
- }
283
- async deleteBlacklistViewers(options) {
284
- return this.executeWithErrorHandling(async () => {
285
- this.validateGenericOptions('Lottery blacklist delete', options, ['channelId']);
286
- this.validateArrayOption('ids', options.ids, options);
287
- await (0, api_command_1.confirmWrite)(options.force, `Delete ${options.ids.length} lottery blacklist viewer record(s)?`);
288
- const result = await this.lotteryService.deleteLotteryBlacklistViewers(this.toV4Params(options));
289
- this.displayGenericResult(result ?? { success: true }, options.output, 'Lottery blacklist viewers deleted successfully');
290
- }, 'lottery.blacklist.delete');
291
- }
292
- async listLuckyBagWinners(options) {
293
- return this.executeWithErrorHandling(async () => {
294
- this.validateGenericOptions('Lottery lucky-bag winners', options, ['activityId'], ['page', 'size']);
295
- const result = await this.lotteryService.listLuckyBagWinners(this.toV4Params(options));
296
- this.displayGenericResult(result, options.output);
297
- }, 'lottery.lucky-bag.winners');
298
- }
299
153
  validateCreateOptions(options) {
300
154
  const errors = [];
301
155
  if (!options.channelId || options.channelId.trim() === '') {
@@ -316,6 +170,19 @@ class LotteryHandler extends base_handler_1.BaseHandler {
316
170
  if (options.output && !['table', 'json'].includes(options.output)) {
317
171
  errors.push('output must be either "table" or "json"');
318
172
  }
173
+ if (options.activityDurationType &&
174
+ !VALID_ACTIVITY_DURATION_TYPES.includes(options.activityDurationType)) {
175
+ errors.push('activityDurationType must be one of: second, minute, hour');
176
+ }
177
+ if (options.acceptType && !VALID_ACCEPT_TYPES.includes(options.acceptType)) {
178
+ errors.push('acceptType must be one of: form, link, qrCode');
179
+ }
180
+ if (options.acceptType === 'link' && !options.prizeUrl) {
181
+ errors.push('prizeUrl is required when acceptType is link');
182
+ }
183
+ if (options.acceptType === 'qrCode' && !options.qrCode) {
184
+ errors.push('qrCode is required when acceptType is qrCode');
185
+ }
319
186
  if (errors.length > 0) {
320
187
  throw new errors_1.PolyVValidationError(`Lottery create options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
321
188
  }
@@ -395,9 +262,6 @@ class LotteryHandler extends base_handler_1.BaseHandler {
395
262
  if (!options.lotteryId || options.lotteryId.trim() === '') {
396
263
  errors.push('lotteryId is required');
397
264
  }
398
- if (options.viewerId !== undefined && options.viewerId.trim() === '') {
399
- errors.push('viewerId must not be empty');
400
- }
401
265
  if (options.output && !['table', 'json'].includes(options.output)) {
402
266
  errors.push('output must be either "table" or "json"');
403
267
  }
@@ -417,132 +281,9 @@ class LotteryHandler extends base_handler_1.BaseHandler {
417
281
  throw new errors_1.PolyVValidationError(`Lottery records options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
418
282
  }
419
283
  }
420
- validateChannelRecordsOptions(options) {
421
- const errors = [];
422
- if (!Array.isArray(options.channelIds) || options.channelIds.length === 0) {
423
- errors.push('channelIds is required');
424
- }
425
- this.validatePositiveNumber(errors, 'startTime', options.startTime);
426
- this.validatePositiveNumber(errors, 'endTime', options.endTime);
427
- this.validateOptionalPositiveInteger(errors, 'page', options.page);
428
- this.validateOptionalPositiveInteger(errors, 'limit', options.limit);
429
- if (options.output && !['table', 'json'].includes(options.output)) {
430
- errors.push('output must be either "table" or "json"');
431
- }
432
- if (errors.length > 0) {
433
- throw new errors_1.PolyVValidationError(`Lottery channel records options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
434
- }
435
- }
436
- validateLegacyRecordsOptions(options) {
437
- const errors = [];
438
- if (!options.channelId || options.channelId.trim() === '') {
439
- errors.push('channelId is required');
440
- }
441
- this.validatePositiveNumber(errors, 'startTime', options.startTime);
442
- this.validatePositiveNumber(errors, 'endTime', options.endTime);
443
- this.validateOptionalPositiveInteger(errors, 'page', options.page);
444
- this.validateOptionalPositiveInteger(errors, 'limit', options.limit);
445
- if (options.output && !['table', 'json'].includes(options.output)) {
446
- errors.push('output must be either "table" or "json"');
447
- }
448
- if (errors.length > 0) {
449
- throw new errors_1.PolyVValidationError(`Lottery legacy records options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
450
- }
451
- }
452
- validateDownloadWinnersOptions(options) {
453
- const errors = [];
454
- if (!options.channelId || options.channelId.trim() === '') {
455
- errors.push('channelId is required');
456
- }
457
- if (!options.lotteryId || options.lotteryId.trim() === '') {
458
- errors.push('lotteryId is required');
459
- }
460
- if (options.output && !['table', 'json'].includes(options.output)) {
461
- errors.push('output must be either "table" or "json"');
462
- }
463
- if (errors.length > 0) {
464
- throw new errors_1.PolyVValidationError(`Lottery download winners options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
465
- }
466
- }
467
- validateReceiveInfoOptions(options) {
468
- const errors = [];
469
- if (!options.channelId || options.channelId.trim() === '') {
470
- errors.push('channelId is required');
471
- }
472
- if (!options.lotteryId || options.lotteryId.trim() === '') {
473
- errors.push('lotteryId is required');
474
- }
475
- if (!options.winnerCode || options.winnerCode.trim() === '') {
476
- errors.push('winnerCode is required');
477
- }
478
- if (!options.viewerId || options.viewerId.trim() === '') {
479
- errors.push('viewerId is required');
480
- }
481
- if (options.output && !['table', 'json'].includes(options.output)) {
482
- errors.push('output must be either "table" or "json"');
483
- }
484
- if (errors.length > 0) {
485
- throw new errors_1.PolyVValidationError(`Lottery receive info options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
486
- }
487
- }
488
- validatePositiveNumber(errors, field, value) {
489
- if (!Number.isFinite(value) || value <= 0) {
490
- errors.push(`${field} must be a positive number`);
491
- }
492
- }
493
- validateOptionalPositiveInteger(errors, field, value) {
494
- if (value === undefined)
495
- return;
496
- if (!Number.isInteger(value) || value < 1) {
497
- errors.push(`${field} must be a positive integer`);
498
- }
499
- }
500
- validateGenericOptions(label, options, requiredFields, positiveIntegerFields = [], positiveNumberFields = []) {
501
- const errors = [];
502
- requiredFields.forEach((field) => {
503
- const value = options[field];
504
- if (value === undefined || value === null || (typeof value === 'string' && value.trim() === '')) {
505
- errors.push(`${field} is required`);
506
- }
507
- });
508
- positiveIntegerFields.forEach((field) => {
509
- const value = options[field];
510
- if (value !== undefined && (!Number.isInteger(value) || value < 1)) {
511
- errors.push(`${field} must be a positive integer`);
512
- }
513
- });
514
- positiveNumberFields.forEach((field) => {
515
- const value = options[field];
516
- if (value !== undefined && (!Number.isFinite(value) || value <= 0)) {
517
- errors.push(`${field} must be a positive number`);
518
- }
519
- });
520
- if (options.output && !['table', 'json'].includes(options.output)) {
521
- errors.push('output must be either "table" or "json"');
522
- }
523
- if (errors.length > 0) {
524
- throw new errors_1.PolyVValidationError(`${label} options validation failed: ${errors.join(', ')}`, 'options', options, 'validation_failed');
525
- }
526
- }
527
- validateArrayOption(field, value, options) {
528
- if (!Array.isArray(value) || value.length === 0) {
529
- throw new errors_1.PolyVValidationError(`${field} must be a non-empty array`, 'options', options, 'validation_failed');
530
- }
531
- }
532
- toV4Params(options) {
533
- const params = (0, api_command_1.apiParams)(options);
534
- if (params.page !== undefined) {
535
- params.pageNumber = params.page;
536
- delete params.page;
537
- }
538
- if (params.size !== undefined) {
539
- params.pageSize = params.size;
540
- delete params.size;
541
- }
542
- return params;
543
- }
544
284
  displayCreateResult(result, options) {
545
- const activityId = result?.data?.id || 'N/A';
285
+ const data = result?.data ?? result;
286
+ const activityId = data?.id || data?.activityId || data?.lotteryActivityId || 'N/A';
546
287
  if (options.output === 'json') {
547
288
  this.displayData({
548
289
  channelId: options.channelId,
@@ -565,8 +306,9 @@ class LotteryHandler extends base_handler_1.BaseHandler {
565
306
  }
566
307
  }
567
308
  displayListResult(result, options) {
568
- const contents = result?.data?.contents || [];
569
- const totalItems = result?.data?.totalItems || 0;
309
+ const data = result?.data ?? result;
310
+ const contents = data?.contents || [];
311
+ const totalItems = data?.totalItems || contents.length;
570
312
  if (contents.length === 0) {
571
313
  this.displayInfo(`No lottery activities found for channel ${options.channelId}`);
572
314
  return;
@@ -592,7 +334,7 @@ class LotteryHandler extends base_handler_1.BaseHandler {
592
334
  }
593
335
  }
594
336
  displayGetResult(result, options) {
595
- const data = result?.data;
337
+ const data = result?.data ?? result;
596
338
  if (!data) {
597
339
  this.displayInfo(`No lottery activity found with ID ${options.id}`);
598
340
  return;
@@ -629,7 +371,7 @@ class LotteryHandler extends base_handler_1.BaseHandler {
629
371
  }
630
372
  }
631
373
  displayWinnersResult(result, options) {
632
- const data = result?.data?.contents || result?.data || [];
374
+ const data = result?.data || [];
633
375
  if (!data || (Array.isArray(data) && data.length === 0)) {
634
376
  this.displayInfo(`No winners found for lottery ${options.lotteryId}`);
635
377
  return;
@@ -653,7 +395,7 @@ class LotteryHandler extends base_handler_1.BaseHandler {
653
395
  }
654
396
  }
655
397
  displayRecordsResult(result, options) {
656
- const data = result?.data?.contents || result?.data || [];
398
+ const data = result?.data || [];
657
399
  if (!data || (Array.isArray(data) && data.length === 0)) {
658
400
  this.displayInfo(`No lottery records found for channel ${options.channelId}`);
659
401
  return;
@@ -677,27 +419,32 @@ class LotteryHandler extends base_handler_1.BaseHandler {
677
419
  this.displayAsTable(tableData);
678
420
  }
679
421
  }
680
- displayGenericResult(result, format, successMessage) {
681
- if (successMessage && format !== 'json') {
682
- this.displaySuccess(successMessage);
683
- }
684
- this.displayData(result ?? { success: true }, format || 'table');
685
- }
686
- parseReceiveInfo(value) {
687
- if (value === undefined || typeof value !== 'string') {
688
- return value;
689
- }
690
- const parsed = JSON.parse(value);
691
- if (!parsed || typeof parsed !== 'object') {
692
- throw new errors_1.PolyVValidationError('receiveInfo must be a JSON object or array', 'receiveInfo', value, 'validation_failed');
693
- }
694
- return parsed;
695
- }
696
422
  truncate(str, maxLength) {
697
423
  if (!str)
698
424
  return '-';
699
425
  return str.length > maxLength ? str.substring(0, maxLength) + '...' : str;
700
426
  }
427
+ parseJsonArray(value, fieldName) {
428
+ try {
429
+ const parsed = JSON.parse(value);
430
+ if (!Array.isArray(parsed)) {
431
+ throw new Error(`${fieldName} must be a JSON array`);
432
+ }
433
+ return parsed;
434
+ }
435
+ catch (error) {
436
+ if (error instanceof SyntaxError) {
437
+ throw new errors_1.PolyVValidationError(`${fieldName} must be valid JSON`, fieldName, value, 'invalid_json');
438
+ }
439
+ throw error;
440
+ }
441
+ }
442
+ getDefaultActivityDuration(options) {
443
+ if (options.type === 'duration' && options.duration && options.duration > 0) {
444
+ return String(Math.ceil(options.duration / 60));
445
+ }
446
+ return DEFAULT_ACTIVITY_DURATION;
447
+ }
701
448
  }
702
449
  exports.LotteryHandler = LotteryHandler;
703
450
  //# sourceMappingURL=lottery.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lottery.handler.js","sourceRoot":"","sources":["../../src/handlers/lottery.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lottery.handler.js","sourceRoot":"","sources":["../../src/handlers/lottery.handler.ts"],"names":[],"mappings":"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"}