@sigmaott/base-next 1.4.0 → 1.4.2

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 (714) hide show
  1. package/hyrd-ui.preset.ts +463 -463
  2. package/i18n.config.ts +3 -3
  3. package/locales/en.yaml +719 -719
  4. package/locales/vi.yaml +726 -726
  5. package/nuxt-config.ts +23 -23
  6. package/nuxt.config.ts +281 -281
  7. package/package.json +130 -130
  8. package/public/routes.json +33 -33
  9. package/src/api/api.ts +15 -15
  10. package/src/api/axios.ts +133 -133
  11. package/src/api/service-loading.ts +50 -50
  12. package/src/api-client-auth/.openapi-generator/FILES +83 -83
  13. package/src/api-client-auth/.openapi-generator-ignore +23 -23
  14. package/src/api-client-auth/api/admin-groups-api.ts +612 -612
  15. package/src/api-client-auth/api/admin-members-api.ts +708 -708
  16. package/src/api-client-auth/api/administration-api-groups-api.ts +547 -547
  17. package/src/api-client-auth/api/administration-apps-api.ts +709 -709
  18. package/src/api-client-auth/api/administration-packages-api.ts +547 -547
  19. package/src/api-client-auth/api/api-groups-api.ts +296 -296
  20. package/src/api-client-auth/api/apps-api.ts +1613 -1613
  21. package/src/api-client-auth/api/basic-credential-api.ts +950 -950
  22. package/src/api-client-auth/api/groups-api.ts +702 -702
  23. package/src/api-client-auth/api/members-api.ts +708 -708
  24. package/src/api-client-auth/api/members-on-premise-api.ts +351 -351
  25. package/src/api-client-auth/api/packages-api.ts +296 -296
  26. package/src/api-client-auth/api/users-api.ts +1387 -1387
  27. package/src/api-client-auth/api.ts +30 -30
  28. package/src/api-client-auth/base.ts +72 -72
  29. package/src/api-client-auth/common.ts +150 -150
  30. package/src/api-client-auth/configuration.ts +101 -101
  31. package/src/api-client-auth/git_push.sh +57 -57
  32. package/src/api-client-auth/index.ts +18 -18
  33. package/src/api-client-auth/models/add-member-dto.ts +42 -42
  34. package/src/api-client-auth/models/admin-permission.ts +44 -44
  35. package/src/api-client-auth/models/api-group-collection.ts +57 -57
  36. package/src/api-client-auth/models/api-group.ts +80 -80
  37. package/src/api-client-auth/models/api.ts +44 -44
  38. package/src/api-client-auth/models/app-collection.ts +57 -57
  39. package/src/api-client-auth/models/app.ts +147 -147
  40. package/src/api-client-auth/models/backdoor-cred.ts +39 -39
  41. package/src/api-client-auth/models/basic-cred-collection.ts +57 -57
  42. package/src/api-client-auth/models/basic-cred.ts +83 -83
  43. package/src/api-client-auth/models/change-password-dto.ts +42 -42
  44. package/src/api-client-auth/models/create-admin-group-dto.ts +39 -39
  45. package/src/api-client-auth/models/create-api-group-dto.ts +42 -42
  46. package/src/api-client-auth/models/create-app-by-user-dto.ts +36 -36
  47. package/src/api-client-auth/models/create-app-dto.ts +65 -65
  48. package/src/api-client-auth/models/create-basic-cred-dto.ts +39 -39
  49. package/src/api-client-auth/models/create-group-dto.ts +39 -39
  50. package/src/api-client-auth/models/create-package-dto.ts +48 -48
  51. package/src/api-client-auth/models/create-user-dto.ts +60 -60
  52. package/src/api-client-auth/models/free-trial.ts +54 -54
  53. package/src/api-client-auth/models/general-app.ts +48 -48
  54. package/src/api-client-auth/models/generate-app-id.ts +30 -30
  55. package/src/api-client-auth/models/group-collection.ts +57 -57
  56. package/src/api-client-auth/models/group.ts +75 -75
  57. package/src/api-client-auth/models/index.ts +60 -60
  58. package/src/api-client-auth/models/invite-email-dto.ts +30 -30
  59. package/src/api-client-auth/models/invite-member-dto.ts +36 -36
  60. package/src/api-client-auth/models/live-stream-quota.ts +42 -42
  61. package/src/api-client-auth/models/login-dto.ts +36 -36
  62. package/src/api-client-auth/models/login-result.ts +39 -39
  63. package/src/api-client-auth/models/member-collection.ts +57 -57
  64. package/src/api-client-auth/models/member.ts +92 -92
  65. package/src/api-client-auth/models/package-collection.ts +57 -57
  66. package/src/api-client-auth/models/package-permission.ts +44 -44
  67. package/src/api-client-auth/models/package.ts +66 -66
  68. package/src/api-client-auth/models/permission.ts +44 -44
  69. package/src/api-client-auth/models/quota.ts +45 -45
  70. package/src/api-client-auth/models/re-get-password-dto.ts +30 -30
  71. package/src/api-client-auth/models/register-dto.ts +54 -54
  72. package/src/api-client-auth/models/register-through-email-dto.ts +36 -36
  73. package/src/api-client-auth/models/rename-app-dto.ts +30 -30
  74. package/src/api-client-auth/models/resend-confirmation-dto.ts +30 -30
  75. package/src/api-client-auth/models/resend-invitation-dto.ts +30 -30
  76. package/src/api-client-auth/models/resend-result.ts +36 -36
  77. package/src/api-client-auth/models/reset-password-dto.ts +36 -36
  78. package/src/api-client-auth/models/revoke-basic-dto.ts +38 -38
  79. package/src/api-client-auth/models/signup-result.ts +45 -45
  80. package/src/api-client-auth/models/token-check-result.ts +36 -36
  81. package/src/api-client-auth/models/trial-remaining-days.ts +42 -42
  82. package/src/api-client-auth/models/update-admin-group-dto.ts +39 -39
  83. package/src/api-client-auth/models/update-api-group-dto.ts +30 -30
  84. package/src/api-client-auth/models/update-app-by-admin-dto.ts +48 -48
  85. package/src/api-client-auth/models/update-app-by-user-dto.ts +36 -36
  86. package/src/api-client-auth/models/update-basic-cred-dto.ts +30 -30
  87. package/src/api-client-auth/models/update-group-dto.ts +39 -39
  88. package/src/api-client-auth/models/update-member-dto.ts +30 -30
  89. package/src/api-client-auth/models/update-package-dto.ts +42 -42
  90. package/src/api-client-auth/models/update-password-member-dto.ts +30 -30
  91. package/src/api-client-auth/models/update-user-by-user-dto.ts +48 -48
  92. package/src/api-client-auth/models/user.ts +120 -120
  93. package/src/api-client-auth/models/validate-app-id.ts +36 -36
  94. package/src/api-client-billing/.openapi-generator/FILES +38 -38
  95. package/src/api-client-billing/.openapi-generator-ignore +23 -23
  96. package/src/api-client-billing/api/invoice-api.ts +363 -363
  97. package/src/api-client-billing/api/payment-methods-api.ts +414 -414
  98. package/src/api-client-billing/api/payment-plan-api.ts +121 -121
  99. package/src/api-client-billing/api/subscriptions-api.ts +121 -121
  100. package/src/api-client-billing/api/usages-api.ts +121 -121
  101. package/src/api-client-billing/api/vnpay-provider-api.ts +327 -327
  102. package/src/api-client-billing/api.ts +23 -23
  103. package/src/api-client-billing/base.ts +72 -72
  104. package/src/api-client-billing/common.ts +150 -150
  105. package/src/api-client-billing/configuration.ts +101 -101
  106. package/src/api-client-billing/git_push.sh +57 -57
  107. package/src/api-client-billing/index.ts +18 -18
  108. package/src/api-client-billing/models/common-paginate-response.ts +48 -48
  109. package/src/api-client-billing/models/dto-billing-item-info.ts +60 -60
  110. package/src/api-client-billing/models/dto-billing-item.ts +36 -36
  111. package/src/api-client-billing/models/dto-create-draft-invoice-request.ts +33 -33
  112. package/src/api-client-billing/models/dto-create-draft-invoice-response.ts +57 -57
  113. package/src/api-client-billing/models/dto-create-vnpay-card-form.ts +48 -48
  114. package/src/api-client-billing/models/dto-return-uri-response.ts +30 -30
  115. package/src/api-client-billing/models/index.ts +22 -22
  116. package/src/api-client-billing/models/invoices-get200-response.ts +42 -42
  117. package/src/api-client-billing/models/model-charge.ts +47 -47
  118. package/src/api-client-billing/models/model-charges-usage.ts +57 -57
  119. package/src/api-client-billing/models/model-graduated-range.ts +48 -48
  120. package/src/api-client-billing/models/model-info.ts +42 -42
  121. package/src/api-client-billing/models/model-invoice.ts +105 -105
  122. package/src/api-client-billing/models/model-item-usage.ts +54 -54
  123. package/src/api-client-billing/models/model-payment-method.ts +135 -135
  124. package/src/api-client-billing/models/model-product.ts +51 -51
  125. package/src/api-client-billing/models/model-properties.ts +39 -39
  126. package/src/api-client-billing/models/model-quota.ts +48 -48
  127. package/src/api-client-billing/models/model-subscription.ts +51 -51
  128. package/src/api-client-billing/models/model-usage-payment.ts +87 -87
  129. package/src/api-client-billing/models/payment-methods-get200-response.ts +42 -42
  130. package/src/api-client-billing/models/subscriptions-get200-response.ts +42 -42
  131. package/src/api-client-machine/.openapi-generator/FILES +90 -90
  132. package/src/api-client-machine/.openapi-generator-ignore +23 -23
  133. package/src/api-client-machine/api/apps-config-api.ts +523 -523
  134. package/src/api-client-machine/api/component-clusters-api.ts +741 -741
  135. package/src/api-client-machine/api/expose-api.ts +141 -141
  136. package/src/api-client-machine/api/machine-actions-api.ts +850 -850
  137. package/src/api-client-machine/api/machines-api.ts +524 -524
  138. package/src/api-client-machine/api/networks-api.ts +375 -375
  139. package/src/api-client-machine/api/sigma-clusters-api.ts +741 -741
  140. package/src/api-client-machine/api/sigma-machine-actions-api.ts +292 -292
  141. package/src/api-client-machine/api/sigma-machine-apps-configuration-api.ts +523 -523
  142. package/src/api-client-machine/api/sigma-machines-api.ts +557 -557
  143. package/src/api-client-machine/api/sigma-vod-server-api.ts +478 -478
  144. package/src/api-client-machine/api/sigma-vod-server-app-config-api.ts +980 -980
  145. package/src/api-client-machine/api/transcoder-configuration-api.ts +359 -359
  146. package/src/api-client-machine/api.ts +30 -30
  147. package/src/api-client-machine/base.ts +72 -72
  148. package/src/api-client-machine/common.ts +150 -150
  149. package/src/api-client-machine/configuration.ts +101 -101
  150. package/src/api-client-machine/git_push.sh +57 -57
  151. package/src/api-client-machine/index.ts +18 -18
  152. package/src/api-client-machine/models/actions-to-app-dto.ts +38 -38
  153. package/src/api-client-machine/models/add-license-machine-dto.ts +30 -30
  154. package/src/api-client-machine/models/app-status.ts +47 -47
  155. package/src/api-client-machine/models/check-quota-limit-result.ts +36 -36
  156. package/src/api-client-machine/models/cluster-log.ts +54 -54
  157. package/src/api-client-machine/models/component-cluster-collection.ts +57 -57
  158. package/src/api-client-machine/models/component-cluster.ts +116 -116
  159. package/src/api-client-machine/models/create-component-machine-cluster-dto.ts +86 -86
  160. package/src/api-client-machine/models/create-sigma-machine-cluster-dto.ts +77 -77
  161. package/src/api-client-machine/models/create-vodroute-dto.ts +42 -42
  162. package/src/api-client-machine/models/decklink-collection.ts +57 -57
  163. package/src/api-client-machine/models/decklink.ts +42 -42
  164. package/src/api-client-machine/models/http-app.ts +45 -45
  165. package/src/api-client-machine/models/https-config.ts +42 -42
  166. package/src/api-client-machine/models/index.ts +67 -67
  167. package/src/api-client-machine/models/info-channel.ts +42 -42
  168. package/src/api-client-machine/models/ingest-app.ts +60 -60
  169. package/src/api-client-machine/models/ingest-config.ts +74 -74
  170. package/src/api-client-machine/models/ingest-update-config-dto.ts +68 -68
  171. package/src/api-client-machine/models/machine-cluster-collection.ts +57 -57
  172. package/src/api-client-machine/models/machine-cluster.ts +120 -120
  173. package/src/api-client-machine/models/machine-details-license.ts +42 -42
  174. package/src/api-client-machine/models/machine-details.ts +127 -127
  175. package/src/api-client-machine/models/machine-dto.ts +42 -42
  176. package/src/api-client-machine/models/machine-dump.ts +108 -108
  177. package/src/api-client-machine/models/machine.ts +42 -42
  178. package/src/api-client-machine/models/network-collection.ts +57 -57
  179. package/src/api-client-machine/models/network-interface.ts +36 -36
  180. package/src/api-client-machine/models/network.ts +66 -66
  181. package/src/api-client-machine/models/origin-config.ts +50 -50
  182. package/src/api-client-machine/models/origin-update-config-dto.ts +59 -59
  183. package/src/api-client-machine/models/packager-component-cluster.ts +42 -42
  184. package/src/api-client-machine/models/packager-live-cluster.ts +42 -42
  185. package/src/api-client-machine/models/packager-to-component-cluster.ts +51 -51
  186. package/src/api-client-machine/models/quotas-result.ts +30 -30
  187. package/src/api-client-machine/models/registration-config.ts +48 -48
  188. package/src/api-client-machine/models/sigma-cluster-ingest-config.ts +42 -42
  189. package/src/api-client-machine/models/sigma-cluster-origin-config.ts +30 -30
  190. package/src/api-client-machine/models/sigma-ingest-config-entity.ts +42 -42
  191. package/src/api-client-machine/models/sigma-ingest-config.ts +42 -42
  192. package/src/api-client-machine/models/sigma-origin-config-entity.ts +30 -30
  193. package/src/api-client-machine/models/sigma-origin-config.ts +30 -30
  194. package/src/api-client-machine/models/stats.ts +57 -57
  195. package/src/api-client-machine/models/status.ts +36 -36
  196. package/src/api-client-machine/models/stop-channel.ts +48 -48
  197. package/src/api-client-machine/models/transcoder-apps.ts +42 -42
  198. package/src/api-client-machine/models/transcoder-collection.ts +57 -57
  199. package/src/api-client-machine/models/transcoder-component-cluster.ts +42 -42
  200. package/src/api-client-machine/models/transcoder-license.ts +42 -42
  201. package/src/api-client-machine/models/transcoder-live-cluster.ts +42 -42
  202. package/src/api-client-machine/models/transcoder-live-to-component-cluster.ts +45 -45
  203. package/src/api-client-machine/models/transcoder-network.ts +42 -42
  204. package/src/api-client-machine/models/transcoder.ts +276 -276
  205. package/src/api-client-machine/models/update-app-config-dto-config-data.ts +33 -33
  206. package/src/api-client-machine/models/update-app-config-dto.ts +33 -33
  207. package/src/api-client-machine/models/update-app-config-of-sigma-vod-server-dto-config-data.ts +30 -30
  208. package/src/api-client-machine/models/update-app-config-of-sigma-vod-server-dto.ts +33 -33
  209. package/src/api-client-machine/models/update-component-cluster-dto.ts +72 -72
  210. package/src/api-client-machine/models/update-machine-cluster-dto.ts +63 -63
  211. package/src/api-client-machine/models/update-machine-dto.ts +42 -42
  212. package/src/api-client-machine/models/update-packager-live-cluster.ts +42 -42
  213. package/src/api-client-machine/models/update-packager-to-component-cluster.ts +51 -51
  214. package/src/api-client-machine/models/update-route-config-of-sigma-vod-server.ts +33 -33
  215. package/src/api-client-machine/models/update-route-config-sigma-machine.ts +42 -42
  216. package/src/api-client-machine/models/update-transcoder-live-cluster.ts +42 -42
  217. package/src/api-client-machine/models/update-transcoder-to-component-cluster.ts +45 -45
  218. package/src/api-client-machine/models/video-encoder.ts +56 -56
  219. package/src/api-client-machine/models/vodroute.ts +60 -60
  220. package/src/api-client-noti/.openapi-generator/FILES +13 -13
  221. package/src/api-client-noti/.openapi-generator-ignore +23 -23
  222. package/src/api-client-noti/api/notification-api.ts +386 -386
  223. package/src/api-client-noti/api.ts +18 -18
  224. package/src/api-client-noti/base.ts +72 -72
  225. package/src/api-client-noti/common.ts +150 -150
  226. package/src/api-client-noti/configuration.ts +101 -101
  227. package/src/api-client-noti/git_push.sh +57 -57
  228. package/src/api-client-noti/index.ts +18 -18
  229. package/src/api-client-noti/models/index.ts +2 -2
  230. package/src/api-client-noti/models/notification-collection.ts +57 -57
  231. package/src/api-client-noti/models/notification.ts +101 -101
  232. package/src/api-client-transcode/.openapi-generator/FILES +129 -129
  233. package/src/api-client-transcode/.openapi-generator-ignore +23 -23
  234. package/src/api-client-transcode/api/alert-logs-apiapi.ts +281 -281
  235. package/src/api-client-transcode/api/channel-package-inputs-apiapi.ts +650 -650
  236. package/src/api-client-transcode/api/channel-transcode-inputs-apiapi.ts +650 -650
  237. package/src/api-client-transcode/api/channels-crudapiapi.ts +869 -869
  238. package/src/api-client-transcode/api/channels-job-action-apiapi.ts +434 -434
  239. package/src/api-client-transcode/api/drm-credentials-api.ts +525 -525
  240. package/src/api-client-transcode/api/event-channel-action-apiapi.ts +363 -363
  241. package/src/api-client-transcode/api/event-channel-crudapiapi.ts +545 -545
  242. package/src/api-client-transcode/api/fast-channel-action-apiapi.ts +301 -301
  243. package/src/api-client-transcode/api/fast-channel-apiapi.ts +525 -525
  244. package/src/api-client-transcode/api/fast-channel-programs-api-api.ts +525 -525
  245. package/src/api-client-transcode/api/multi-channel-action-apiapi.ts +387 -387
  246. package/src/api-client-transcode/api/sigma-transcode-live-interactive-action-api.ts +152 -152
  247. package/src/api-client-transcode/api/single-channel-action-apiapi.ts +1155 -1155
  248. package/src/api-client-transcode/api/transcode-templates-apiapi.ts +541 -541
  249. package/src/api-client-transcode/api.ts +32 -32
  250. package/src/api-client-transcode/base.ts +71 -71
  251. package/src/api-client-transcode/common.ts +138 -138
  252. package/src/api-client-transcode/configuration.ts +101 -101
  253. package/src/api-client-transcode/git_push.sh +57 -57
  254. package/src/api-client-transcode/index.ts +18 -18
  255. package/src/api-client-transcode/models/ads-dto.ts +137 -137
  256. package/src/api-client-transcode/models/alert-log-collection.ts +55 -55
  257. package/src/api-client-transcode/models/audio-watermark-dto.ts +59 -59
  258. package/src/api-client-transcode/models/blackout-slate-dto.ts +36 -36
  259. package/src/api-client-transcode/models/catchup-dto.ts +43 -43
  260. package/src/api-client-transcode/models/channel-collection.ts +55 -55
  261. package/src/api-client-transcode/models/channel-config-advance-dto-info.ts +25 -25
  262. package/src/api-client-transcode/models/channel-config-advance-dto.ts +121 -121
  263. package/src/api-client-transcode/models/channel-config-advance-info-dto.ts +78 -78
  264. package/src/api-client-transcode/models/channel-config-base.ts +69 -69
  265. package/src/api-client-transcode/models/channel-config-blackout-entity.ts +36 -36
  266. package/src/api-client-transcode/models/channel-config-dto.ts +72 -72
  267. package/src/api-client-transcode/models/channel-config-interactive-entity.ts +30 -30
  268. package/src/api-client-transcode/models/channel-config-template-dto.ts +66 -66
  269. package/src/api-client-transcode/models/channel-detail-catchup-dto.ts +37 -37
  270. package/src/api-client-transcode/models/channel-detail-dto.ts +69 -69
  271. package/src/api-client-transcode/models/channel-detail-input.ts +43 -43
  272. package/src/api-client-transcode/models/channel-detail-package.ts +50 -50
  273. package/src/api-client-transcode/models/channel-detail-transcode.ts +37 -37
  274. package/src/api-client-transcode/models/channel-job-detail.ts +84 -84
  275. package/src/api-client-transcode/models/channel-stats.ts +36 -36
  276. package/src/api-client-transcode/models/channel-template-data-dto.ts +59 -59
  277. package/src/api-client-transcode/models/channel-template-dto-data.ts +28 -28
  278. package/src/api-client-transcode/models/channel-template-dto.ts +63 -63
  279. package/src/api-client-transcode/models/channel.ts +168 -168
  280. package/src/api-client-transcode/models/create-alert-log-dto.ts +138 -138
  281. package/src/api-client-transcode/models/create-channel-dto.ts +84 -84
  282. package/src/api-client-transcode/models/create-drm-credential-dto.ts +63 -63
  283. package/src/api-client-transcode/models/create-event-channel-dto-targets.ts +26 -26
  284. package/src/api-client-transcode/models/create-event-channel-dto.ts +76 -76
  285. package/src/api-client-transcode/models/create-fast-channel-dto.ts +42 -42
  286. package/src/api-client-transcode/models/create-fast-program-dto.ts +72 -72
  287. package/src/api-client-transcode/models/drm-credential-collection.ts +55 -55
  288. package/src/api-client-transcode/models/drm-credential-entity.ts +87 -87
  289. package/src/api-client-transcode/models/drm-data-dto.ts +54 -54
  290. package/src/api-client-transcode/models/drm-data-entity.ts +54 -54
  291. package/src/api-client-transcode/models/drm-dto.ts +103 -103
  292. package/src/api-client-transcode/models/event-channel-collection.ts +55 -55
  293. package/src/api-client-transcode/models/event-channel-config-dto.ts +78 -78
  294. package/src/api-client-transcode/models/event-channel-config-entity.ts +75 -75
  295. package/src/api-client-transcode/models/event-channel-input-dto.ts +45 -45
  296. package/src/api-client-transcode/models/event-channel-input-entity.ts +45 -45
  297. package/src/api-client-transcode/models/event-channel-transcoder-dto.ts +56 -56
  298. package/src/api-client-transcode/models/event-channel.ts +147 -147
  299. package/src/api-client-transcode/models/event-profile-dto.ts +62 -62
  300. package/src/api-client-transcode/models/event-target-data-dto.ts +95 -95
  301. package/src/api-client-transcode/models/event-target-dto.ts +49 -49
  302. package/src/api-client-transcode/models/fast-channel-collection.ts +55 -55
  303. package/src/api-client-transcode/models/fast-channel.ts +75 -75
  304. package/src/api-client-transcode/models/fast-program-collection.ts +55 -55
  305. package/src/api-client-transcode/models/fast-program.ts +84 -84
  306. package/src/api-client-transcode/models/fingerprint-dto.ts +42 -42
  307. package/src/api-client-transcode/models/index.ts +104 -104
  308. package/src/api-client-transcode/models/input-collection.ts +55 -55
  309. package/src/api-client-transcode/models/input-data-dto.ts +104 -104
  310. package/src/api-client-transcode/models/input-data-item-dto.ts +42 -42
  311. package/src/api-client-transcode/models/input-dto.ts +30 -30
  312. package/src/api-client-transcode/models/input-entity.ts +30 -30
  313. package/src/api-client-transcode/models/input-info-response.ts +31 -31
  314. package/src/api-client-transcode/models/input-info.ts +123 -123
  315. package/src/api-client-transcode/models/input-machine-config.ts +45 -45
  316. package/src/api-client-transcode/models/input-program.ts +66 -66
  317. package/src/api-client-transcode/models/interactive-dto.ts +30 -30
  318. package/src/api-client-transcode/models/interactive-publish-dto.ts +30 -30
  319. package/src/api-client-transcode/models/job-entity.ts +102 -102
  320. package/src/api-client-transcode/models/low-latency-dto.ts +68 -68
  321. package/src/api-client-transcode/models/machine-config-dto.ts +75 -75
  322. package/src/api-client-transcode/models/main-input-dto.ts +62 -62
  323. package/src/api-client-transcode/models/main-input-entity.ts +54 -54
  324. package/src/api-client-transcode/models/maintenance-dto.ts +30 -30
  325. package/src/api-client-transcode/models/manifest-dto.ts +62 -62
  326. package/src/api-client-transcode/models/package-input-collection.ts +55 -55
  327. package/src/api-client-transcode/models/package-input-data-dto.ts +99 -99
  328. package/src/api-client-transcode/models/package-input-list.ts +36 -36
  329. package/src/api-client-transcode/models/package-input.ts +115 -115
  330. package/src/api-client-transcode/models/post-input-dto.ts +48 -48
  331. package/src/api-client-transcode/models/post-input-entity.ts +48 -48
  332. package/src/api-client-transcode/models/pre-input-dto.ts +54 -54
  333. package/src/api-client-transcode/models/pre-input-entity.ts +54 -54
  334. package/src/api-client-transcode/models/preset-dto.ts +247 -247
  335. package/src/api-client-transcode/models/profile-default-response-dto.ts +30 -30
  336. package/src/api-client-transcode/models/profile-dto.ts +62 -62
  337. package/src/api-client-transcode/models/profile-entity.ts +60 -60
  338. package/src/api-client-transcode/models/scte35-dto.ts +36 -36
  339. package/src/api-client-transcode/models/start-over-dto.ts +30 -30
  340. package/src/api-client-transcode/models/switch-input-dto.ts +56 -56
  341. package/src/api-client-transcode/models/switch-input-entity.ts +44 -44
  342. package/src/api-client-transcode/models/target-data-dto.ts +101 -101
  343. package/src/api-client-transcode/models/target-dto.ts +44 -44
  344. package/src/api-client-transcode/models/target-entity.ts +55 -55
  345. package/src/api-client-transcode/models/target-profile-dto.ts +71 -71
  346. package/src/api-client-transcode/models/target-profile.ts +71 -71
  347. package/src/api-client-transcode/models/target-template-dto.ts +44 -44
  348. package/src/api-client-transcode/models/target-update-dto.ts +50 -50
  349. package/src/api-client-transcode/models/transcode-input.ts +144 -144
  350. package/src/api-client-transcode/models/transcoder.ts +36 -36
  351. package/src/api-client-transcode/models/trick-play-dto.ts +54 -54
  352. package/src/api-client-transcode/models/update-channel-dto-targets.ts +27 -27
  353. package/src/api-client-transcode/models/update-channel-dto.ts +84 -84
  354. package/src/api-client-transcode/models/update-drm-management-dto.ts +63 -63
  355. package/src/api-client-transcode/models/update-event-channel-dto.ts +76 -76
  356. package/src/api-client-transcode/models/update-fast-channel-dto.ts +42 -42
  357. package/src/api-client-transcode/models/update-fast-program-dto.ts +30 -30
  358. package/src/api-client-transcode/models/watermark-dto.ts +66 -66
  359. package/src/api-client-transcode/models/watermark-entity.ts +102 -102
  360. package/src/app/spa-loading-template.html +127 -127
  361. package/src/app.config.ts +2 -2
  362. package/src/assets/global.css.ts +3 -3
  363. package/src/assets/scss/element/dark.scss +13 -13
  364. package/src/assets/scss/element/index.scss +26 -26
  365. package/src/assets/scss/index.scss +180 -180
  366. package/src/components/AdvancedFilter/SSAdvancedFilterItem.vue +180 -180
  367. package/src/components/AdvancedFilter/SSAdvancedFilterItemCustom.vue +165 -165
  368. package/src/components/AdvancedFilter/SSAdvancedFilterItemDefined.vue +298 -298
  369. package/src/components/AdvancedFilter/SSAdvancedFilterItemSchedule.vue +293 -293
  370. package/src/components/AdvancedFilter/SSAdvancedFilterMain.vue +196 -196
  371. package/src/components/AdvancedFilter/types.ts +37 -37
  372. package/src/components/AdvancedFilterReport/SSAdvancedFilterReportItem.vue +110 -110
  373. package/src/components/AdvancedFilterReport/SSAdvancedFilterReportItemDefined.vue +159 -159
  374. package/src/components/AdvancedFilterReport/SSAdvancedFilterReportMain.vue +197 -197
  375. package/src/components/AdvancedFilterReport/types.ts +19 -19
  376. package/src/components/AdvancedFilterSsai/SSAdvancedFilterSsaiItem.vue +102 -102
  377. package/src/components/AdvancedFilterSsai/SSAdvancedFilterSsaiItemDefined.vue +119 -119
  378. package/src/components/AdvancedFilterSsai/SSAdvancedFilterSsaiMain.vue +194 -194
  379. package/src/components/AdvancedFilterSsai/types.ts +19 -19
  380. package/src/components/Asset/AssetAddPlaylist.vue +169 -169
  381. package/src/components/Asset/AssetExtra.vue +46 -46
  382. package/src/components/Asset/AssetImportLinks.vue +281 -281
  383. package/src/components/Asset/AssetInfiniteSelect.vue +62 -62
  384. package/src/components/Asset/AssetItem.vue +194 -194
  385. package/src/components/Asset/AssetItemPreview.vue +117 -117
  386. package/src/components/Asset/AssetList.vue +869 -869
  387. package/src/components/Asset/AssetMeta.vue +97 -97
  388. package/src/components/Asset/AssetPicker.vue +204 -204
  389. package/src/components/Asset/AssetPlaylist.vue +414 -414
  390. package/src/components/Asset/AssetPlaylistInfiniteSelect.vue +136 -136
  391. package/src/components/Asset/AssetPlaylistModalAdd.vue +138 -138
  392. package/src/components/Asset/AssetPreview.vue +89 -89
  393. package/src/components/Asset/AssetShareModal.vue +131 -131
  394. package/src/components/Asset/AssetTable.vue +365 -365
  395. package/src/components/Asset/FormUploadAsset.vue +647 -647
  396. package/src/components/Asset/FormUploadAssetItem.vue +115 -115
  397. package/src/components/Asset/FormUploadAssetProgress.vue +161 -161
  398. package/src/components/Asset/Scrubber.vue +57 -57
  399. package/src/components/Asset/VideoPlayer.vue +226 -226
  400. package/src/components/Asset/VideoPreview.vue +102 -102
  401. package/src/components/Asset/VideoPreviewConfig.vue +329 -329
  402. package/src/components/Asset/VideoPreviewConfigMessage.vue +120 -120
  403. package/src/components/Asset/VideoPreviewConfigVod.vue +287 -287
  404. package/src/components/Asset/VideoPreviewNew.vue +66 -66
  405. package/src/components/Asset/VideoPreviewNewLoader.vue +144 -144
  406. package/src/components/Asset/VideoPreviewWrapper.vue +208 -208
  407. package/src/components/Asset/asset-context.ts +24 -24
  408. package/src/components/Asset/usePickerStore.ts +55 -55
  409. package/src/components/AuthLayout/AuthLayoutSimple.vue +150 -150
  410. package/src/components/AuthLayout/index.vue +151 -151
  411. package/src/components/AutoRefresh/AutoRefresh.vue +91 -91
  412. package/src/components/AutoRefresh/AutoRefreshOld.vue +87 -87
  413. package/src/components/AutoRefresh/useRefresh.ts +93 -93
  414. package/src/components/BackButton.vue +13 -13
  415. package/src/components/Card/CardInfo.vue +21 -21
  416. package/src/components/Channel/AIConfig.vue +101 -101
  417. package/src/components/Channel/AdvancedForm.vue +542 -542
  418. package/src/components/Channel/ChannelListGrid.vue +154 -154
  419. package/src/components/Channel/ConfigBlackout.vue +98 -98
  420. package/src/components/Channel/ConfigCensorship.vue +387 -387
  421. package/src/components/Channel/ConfigForensicWatermark.vue +152 -152
  422. package/src/components/Channel/ConfigForm.vue +102 -102
  423. package/src/components/Channel/ConfigInformation.vue +191 -191
  424. package/src/components/Channel/ConfigInteraction.vue +11 -11
  425. package/src/components/Channel/ConfigNameModifier.vue +15 -15
  426. package/src/components/Channel/ConfigOptionItem.vue +114 -114
  427. package/src/components/Channel/ConfigOptions.vue +181 -181
  428. package/src/components/Channel/ConfigPte.vue +368 -368
  429. package/src/components/Channel/ConfigScte.vue +442 -442
  430. package/src/components/Channel/ConfigTranscoder.vue +353 -353
  431. package/src/components/Channel/ConfigWaterMarkAudio.vue +52 -52
  432. package/src/components/Channel/ConfigWatermark.vue +76 -76
  433. package/src/components/Channel/ConfigWatermarkEventChannel.vue +86 -86
  434. package/src/components/Channel/ConfigWatermarkItem.vue +239 -239
  435. package/src/components/Channel/HeaderItem.vue +75 -75
  436. package/src/components/Channel/InputDetail.vue +68 -68
  437. package/src/components/Channel/InputForm.vue +175 -175
  438. package/src/components/Channel/InputList.vue +38 -38
  439. package/src/components/Channel/InputPackageDetail.vue +125 -125
  440. package/src/components/Channel/MediaProfileFormModal.vue +79 -79
  441. package/src/components/Channel/MediaProfileModify.vue +229 -229
  442. package/src/components/Channel/MessageButtonGetHelp.vue +30 -30
  443. package/src/components/Channel/MessageTooltipAi.vue +29 -29
  444. package/src/components/Channel/MultipleSelectProfile.vue +312 -312
  445. package/src/components/Channel/PackageInputItem.vue +13 -13
  446. package/src/components/Channel/PresetConfigItem.vue +1957 -1957
  447. package/src/components/Channel/PresetConfigItemExtra.vue +59 -59
  448. package/src/components/Channel/PresetConfigItemPId.vue +145 -145
  449. package/src/components/Channel/ProfileConfigItem.vue +829 -829
  450. package/src/components/Channel/ProfileDetailsList.vue +160 -160
  451. package/src/components/Channel/ProfileForm.vue +134 -134
  452. package/src/components/Channel/ProfileList.vue +228 -228
  453. package/src/components/Channel/SelectServer.vue +134 -134
  454. package/src/components/Channel/SignalLoss.vue +92 -92
  455. package/src/components/Channel/SwitchInputButton.vue +38 -38
  456. package/src/components/Channel/TargetCatchup.vue +75 -75
  457. package/src/components/Channel/TargetDataInfo.vue +100 -100
  458. package/src/components/Channel/TargetDestination.vue +375 -375
  459. package/src/components/Channel/TargetDrm.vue +518 -518
  460. package/src/components/Channel/TargetForm.vue +136 -136
  461. package/src/components/Channel/TargetList.vue +159 -159
  462. package/src/components/Channel/TargetLowLatency.vue +107 -107
  463. package/src/components/Channel/TargetMabrOutput.vue +58 -58
  464. package/src/components/Channel/TargetMabrOutputItem.vue +91 -91
  465. package/src/components/Channel/TargetManifest.vue +94 -94
  466. package/src/components/Channel/TargetNetworkInterface.vue +95 -95
  467. package/src/components/Channel/TargetOutputMultiplex.vue +237 -237
  468. package/src/components/Channel/TargetOutputType.vue +201 -201
  469. package/src/components/Channel/TargetOutputUdp.vue +200 -200
  470. package/src/components/Channel/TargetPreset.vue +541 -541
  471. package/src/components/Channel/TargetProfileAudioGroup.vue +27 -27
  472. package/src/components/Channel/TargetProfileProgram.vue +43 -43
  473. package/src/components/Channel/TargetProfileURI.vue +68 -68
  474. package/src/components/Channel/TargetSrtOutput.vue +35 -35
  475. package/src/components/Channel/TargetSrtOutputItem.vue +83 -83
  476. package/src/components/Channel/TargetStartover.vue +40 -40
  477. package/src/components/Channel/WarningName.vue +39 -39
  478. package/src/components/Channel/WarningOutput.vue +40 -40
  479. package/src/components/CollapseTagsTooltip/CollapseTagsTooltip.vue +87 -87
  480. package/src/components/CollapseTagsTooltip/index.ts +1 -1
  481. package/src/components/CopyButton.vue +46 -46
  482. package/src/components/CopyText.vue +40 -40
  483. package/src/components/CopyTextButton.vue +40 -40
  484. package/src/components/DefaultLayout/DefaultLayout.vue +134 -134
  485. package/src/components/DefaultLayout/GlobalASide.vue +75 -75
  486. package/src/components/DefaultLayout/GlobalFooter.vue +15 -15
  487. package/src/components/DefaultLayout/GlobalHeader.vue +43 -43
  488. package/src/components/DefaultLayout/Logo.vue +35 -35
  489. package/src/components/DefaultLayout/Menu.vue +464 -464
  490. package/src/components/DefaultLayout/RightMenu.vue +93 -93
  491. package/src/components/DialogWarningAddLicense.vue +37 -37
  492. package/src/components/Epg/Epg.vue +24 -24
  493. package/src/components/Epg/components/Channel.vue +28 -28
  494. package/src/components/Epg/components/Channels.vue +33 -33
  495. package/src/components/Epg/components/Layout.vue +121 -121
  496. package/src/components/Epg/components/Line.vue +41 -41
  497. package/src/components/Epg/components/Loader.vue +23 -23
  498. package/src/components/Epg/components/Program.vue +101 -101
  499. package/src/components/Epg/components/SideBar.vue +18 -18
  500. package/src/components/Epg/components/Timeline.vue +72 -72
  501. package/src/components/Epg/helpers/common.ts +68 -68
  502. package/src/components/Epg/helpers/epg.ts +192 -192
  503. package/src/components/Epg/helpers/index.ts +5 -5
  504. package/src/components/Epg/helpers/interfaces.ts +54 -54
  505. package/src/components/Epg/helpers/time.ts +51 -51
  506. package/src/components/Epg/helpers/types.ts +26 -26
  507. package/src/components/Epg/helpers/variables.ts +33 -33
  508. package/src/components/Epg/hooks/index.ts +2 -2
  509. package/src/components/Epg/hooks/useEpg.ts +160 -160
  510. package/src/components/Epg/hooks/useLayout.ts +187 -187
  511. package/src/components/Epg/hooks/useProgram.ts +63 -63
  512. package/src/components/Epg/hooks/useTimeline.ts +35 -35
  513. package/src/components/Epg/index.ts +4 -4
  514. package/src/components/Epg/store.ts +85 -85
  515. package/src/components/Epg/theme.ts +44 -44
  516. package/src/components/Exception/403.vue +58 -58
  517. package/src/components/Exception/404.vue +59 -59
  518. package/src/components/Exception/500.vue +39 -39
  519. package/src/components/Exception/index.scss +30 -30
  520. package/src/components/Field.vue +193 -193
  521. package/src/components/FilterQuerySchema/FilterQuerySchemaForm.vue +200 -200
  522. package/src/components/FilterQuerySchema/QueryTag.vue +109 -109
  523. package/src/components/FilterQuerySchema/Tag.vue +68 -68
  524. package/src/components/FilterTimeDimensions.vue +265 -265
  525. package/src/components/FilterTimeDimensionsSingle.vue +214 -214
  526. package/src/components/HelpPanel.vue +87 -87
  527. package/src/components/HexagonPro.vue +7 -7
  528. package/src/components/IconCopyButton.vue +43 -43
  529. package/src/components/InformationLabel.vue +67 -67
  530. package/src/components/Input/InputTags.vue +136 -136
  531. package/src/components/Input/index.ts +1 -1
  532. package/src/components/MainDefaultLayout/index.vue +120 -120
  533. package/src/components/NoticeAddLicense.vue +20 -20
  534. package/src/components/NoticeRunningOutResources.vue +20 -20
  535. package/src/components/Pagination.vue +61 -61
  536. package/src/components/QueryBuilder/components/inputs/DateInputField.vue +105 -105
  537. package/src/components/QueryBuilder/components/inputs/FieldSelect.vue +44 -44
  538. package/src/components/QueryBuilder/components/inputs/InputMultiSelect.vue +60 -60
  539. package/src/components/QueryBuilder/components/inputs/InputSelect.vue +39 -39
  540. package/src/components/QueryBuilder/components/inputs/NumberInputField.vue +91 -91
  541. package/src/components/QueryBuilder/components/inputs/OperatorSelect.vue +59 -59
  542. package/src/components/QueryBuilder/components/inputs/TextInput.vue +40 -40
  543. package/src/components/QueryBuilder/components/inputs/TimeInputField.vue +114 -114
  544. package/src/components/QueryBuilder/components/inputs/logics.ts +27 -27
  545. package/src/components/QueryBuilder/components/item/InputMultiOptions.vue +56 -56
  546. package/src/components/QueryBuilder/components/item/QueryRule.vue +233 -233
  547. package/src/components/QueryBuilder/useConfigStore.ts +27 -27
  548. package/src/components/QueryBuilder/utils/config.ts +194 -194
  549. package/src/components/QueryBuilder/utils/rules.ts +213 -213
  550. package/src/components/RecommendedConfigurationPTE.vue +238 -238
  551. package/src/components/Server/MachineConfig.vue +333 -333
  552. package/src/components/Server/ServerConfig.vue +599 -599
  553. package/src/components/Server/useQueryMachine.ts +380 -380
  554. package/src/components/Server/validator.ts +13 -13
  555. package/src/components/SwitchDark.vue +19 -19
  556. package/src/components/SwitchLang.vue +31 -31
  557. package/src/components/TableEmpty.vue +50 -50
  558. package/src/components/Toast/ToastNoti.vue +52 -52
  559. package/src/components/Tool/ForensicWatermarkingDialog.vue +39 -39
  560. package/src/components/Tool/FormRecord.vue +162 -162
  561. package/src/components/Tool/FormUpload.vue +118 -118
  562. package/src/components/Tool/ResultChecking.vue +103 -103
  563. package/src/components/Tool/Watermarking.vue +159 -159
  564. package/src/components/Tool/record.js +92 -92
  565. package/src/components/Tooltip/Ellipsis.vue +52 -52
  566. package/src/components/Tooltip/index.vue +47 -47
  567. package/src/components/app/AppList.vue +50 -50
  568. package/src/components/button/Button.vue +27 -27
  569. package/src/components/button/index.ts +37 -37
  570. package/src/components/context-menu/ContextMenu.vue +15 -15
  571. package/src/components/context-menu/ContextMenuCheckboxItem.vue +39 -39
  572. package/src/components/context-menu/ContextMenuContent.vue +35 -35
  573. package/src/components/context-menu/ContextMenuGroup.vue +11 -11
  574. package/src/components/context-menu/ContextMenuItem.vue +33 -33
  575. package/src/components/context-menu/ContextMenuLabel.vue +24 -24
  576. package/src/components/context-menu/ContextMenuPortal.vue +11 -11
  577. package/src/components/context-menu/ContextMenuRadioGroup.vue +19 -19
  578. package/src/components/context-menu/ContextMenuRadioItem.vue +39 -39
  579. package/src/components/context-menu/ContextMenuSeparator.vue +19 -19
  580. package/src/components/context-menu/ContextMenuShortcut.vue +13 -13
  581. package/src/components/context-menu/ContextMenuSub.vue +19 -19
  582. package/src/components/context-menu/ContextMenuSubContent.vue +34 -34
  583. package/src/components/context-menu/ContextMenuSubTrigger.vue +33 -33
  584. package/src/components/context-menu/ContextMenuTrigger.vue +13 -13
  585. package/src/components/context-menu/index.ts +14 -14
  586. package/src/components/dashboard/SSDashboard.vue +82 -0
  587. package/src/components/dashboard/SSDashboardChartRoot.vue +18 -18
  588. package/src/components/dashboard/SSDashboardDocument.vue +45 -45
  589. package/src/components/dashboard/SSDashboardEmpty.vue +16 -16
  590. package/src/components/dashboard/SSDashboardGuideline.vue +45 -45
  591. package/src/components/dashboard/SSDashboardInfo.vue +36 -36
  592. package/src/components/dashboard/SSDashboardInfoRoot.vue +9 -9
  593. package/src/components/dashboard/SSDashboardInfoTime.vue +38 -38
  594. package/src/components/markdown/Markdown.vue +295 -295
  595. package/src/components/tabs/Tabs.vue +15 -15
  596. package/src/components/tabs/TabsContent.vue +22 -22
  597. package/src/components/tabs/TabsList.vue +22 -22
  598. package/src/components/tabs/TabsTrigger.vue +26 -26
  599. package/src/composables/asset.ts +13 -13
  600. package/src/composables/channel.ts +333 -333
  601. package/src/composables/country.ts +788 -788
  602. package/src/composables/error.ts +24 -24
  603. package/src/composables/form.ts +351 -351
  604. package/src/composables/getBuildTime.ts +7 -7
  605. package/src/composables/micro.ts +113 -113
  606. package/src/composables/microState.ts +22 -22
  607. package/src/composables/notiGlobal.ts +18 -18
  608. package/src/composables/plan.ts +162 -162
  609. package/src/composables/refReset.ts +12 -12
  610. package/src/composables/resetInfiniteQueryPagination.ts +18 -18
  611. package/src/composables/route.ts +19 -19
  612. package/src/composables/toast.ts +21 -21
  613. package/src/composables/useApp.ts +6 -6
  614. package/src/composables/useAsyncSchema.ts +58 -58
  615. package/src/composables/useChannelActions.ts +151 -151
  616. package/src/composables/useComplexSearchParam.ts +293 -293
  617. package/src/composables/useFilterSchema.ts +105 -105
  618. package/src/composables/useGetInputDetail.ts +36 -36
  619. package/src/composables/useGetServerAddLicense.ts +21 -21
  620. package/src/composables/useJobPreview.ts +438 -438
  621. package/src/composables/useLayoutStore.ts +106 -106
  622. package/src/composables/usePermission.ts +5 -5
  623. package/src/composables/usePickerStore.ts +53 -53
  624. package/src/composables/useQueryAssets.ts +56 -56
  625. package/src/composables/useQueryParams.ts +20 -20
  626. package/src/composables/useRouteParams.ts +36 -36
  627. package/src/composables/useRouteQueries.ts +54 -54
  628. package/src/composables/useRouterHistory.ts +76 -76
  629. package/src/composables/useSearchQuery.ts +27 -27
  630. package/src/composables/useTooltipEllipsis.ts +12 -12
  631. package/src/constants/env.ts +12 -12
  632. package/src/constants/filterable.ts +32 -32
  633. package/src/constants/languageCode.ts +185 -185
  634. package/src/constants/micro.ts +1 -1
  635. package/src/constants/queryKeys.ts +11 -11
  636. package/src/constants/regex.ts +8 -8
  637. package/src/constants/storage.ts +42 -42
  638. package/src/enums/index.ts +24 -24
  639. package/src/layouts/empty.vue +7 -7
  640. package/src/modules/api-party/kit.ts +30 -30
  641. package/src/modules/api-party/module.ts +259 -259
  642. package/src/modules/api-party/openapi.ts +74 -74
  643. package/src/modules/api-party/runtime/composables/$api.ts +157 -157
  644. package/src/modules/api-party/runtime/composables/useApiData.ts +229 -229
  645. package/src/modules/api-party/runtime/constants.ts +1 -1
  646. package/src/modules/api-party/runtime/formData.ts +85 -85
  647. package/src/modules/api-party/runtime/server/$api.ts +29 -29
  648. package/src/modules/api-party/runtime/server/handler.ts +92 -92
  649. package/src/modules/api-party/runtime/types.ts +97 -97
  650. package/src/modules/api-party/runtime/utils.ts +43 -43
  651. package/src/pages/403.vue +11 -11
  652. package/src/pages/500.vue +11 -11
  653. package/src/pages/[...all].vue +11 -11
  654. package/src/pages/login.vue +67 -67
  655. package/src/plugins/auth.ts +10 -10
  656. package/src/plugins/build-time.ts +5 -5
  657. package/src/plugins/dayjs.ts +13 -13
  658. package/src/plugins/i18n.ts +6 -6
  659. package/src/plugins/router.ts +6 -6
  660. package/src/plugins/vue-json-pretty.ts +5 -5
  661. package/src/plugins/vue-query.ts +41 -41
  662. package/src/plugins/wujie.ts +19 -19
  663. package/src/public/audio-recorder.js +30 -30
  664. package/src/public/nuxt.svg +3 -3
  665. package/src/public/robots.txt +2 -2
  666. package/src/pwa/config.ts +61 -61
  667. package/src/pwa/index.ts +194 -194
  668. package/src/pwa/runtime/VitePwaManifest.ts +33 -33
  669. package/src/pwa/types.ts +56 -56
  670. package/src/pwa/utils.ts +16 -16
  671. package/src/schemas/authServiceApi.json +6708 -6708
  672. package/src/schemas/billingApi.json +1082 -1082
  673. package/src/schemas/chatApi.json +496 -496
  674. package/src/schemas/libraryApi.json +2008 -2008
  675. package/src/schemas/licenseApi.json +771 -771
  676. package/src/schemas/livestreamApi.json +3353 -3353
  677. package/src/schemas/lrmApi.json +2847 -2847
  678. package/src/schemas/machineApi.json +4603 -4603
  679. package/src/schemas/metricApi.json +140 -140
  680. package/src/schemas/playoutApi.json +8314 -8314
  681. package/src/schemas/ssaiApi.json +1107 -1107
  682. package/src/schemas/transcodeApi.json +9669 -9669
  683. package/src/schemas/vastControlApi.json +960 -960
  684. package/src/schemas/vodApi.json +3973 -3973
  685. package/src/server/plugins/loading.css +111 -111
  686. package/src/server/plugins/loading.html +12 -12
  687. package/src/server/plugins/loading.ts +134 -134
  688. package/src/templates/pwa.client.ts +135 -135
  689. package/src/utils/$apiOptions.ts +80 -80
  690. package/src/utils/app.ts +23 -23
  691. package/src/utils/cn.ts +3 -3
  692. package/src/utils/env.ts +11 -11
  693. package/src/utils/filterable.ts +32 -32
  694. package/src/utils/format.ts +88 -88
  695. package/src/utils/gen-routes.ts +100 -100
  696. package/src/utils/helper.ts +56 -56
  697. package/src/utils/languageCode.ts +185 -185
  698. package/src/utils/micro.ts +208 -208
  699. package/src/utils/popoverSelectAttrs.ts +24 -24
  700. package/src/utils/popup.ts +96 -96
  701. package/src/utils/pwa.ts +86 -86
  702. package/src/utils/query-filter.ts +111 -111
  703. package/src/utils/queryKeys.ts +11 -11
  704. package/src/utils/regex.ts +8 -8
  705. package/src/utils/storage.ts +42 -42
  706. package/src/utils/table.ts +35 -35
  707. package/src/utils/tryCatch.ts +25 -25
  708. package/src/utils/utils.ts +58 -58
  709. package/src/utils/validator.ts +185 -185
  710. package/src/utils/videojs.ts +490 -490
  711. package/src/utils/wujie.ts +1 -1
  712. package/tsconfig.json +3 -3
  713. package/uno.config.ts +375 -375
  714. package/src/public/build-time.json +0 -1
@@ -1,438 +1,438 @@
1
- import { parseURL, withQuery } from 'ufo'
2
- import { ElNotification } from 'element-plus'
3
-
4
- // Extend Window interface to include SigmaManager and shaka
5
- declare global {
6
- interface Window {
7
- SigmaManager: any
8
- shaka: any
9
- }
10
- }
11
-
12
- export function usePreviewLoader() {
13
- // PLAYER
14
-
15
- function loadScript(src: string): Promise<Event> {
16
- return new Promise((resolve, reject) => {
17
- const script = document.createElement('script')
18
- script.async = true
19
- script.src = src
20
- script.onload = resolve
21
- script.onerror = reject
22
- document.body.appendChild(script)
23
- })
24
- }
25
-
26
- const drmSrc = 'https://rs.sigmadrm.com/sdk/sigmaplayer/2.0.0/SigmaPlayer.min.js'
27
- let pendingPromise: Promise<any> | null = null
28
-
29
- function promiseFinished() {
30
- pendingPromise = null
31
- }
32
-
33
- function loadDrm() {
34
- if (window.SigmaManager)
35
- return Promise.resolve(window.SigmaManager)
36
-
37
- if (pendingPromise)
38
- return pendingPromise
39
-
40
- pendingPromise = loadScript(drmSrc)
41
- .then(() => window.SigmaManager)
42
- .catch((error) => {
43
- ElNotification.error({
44
- title: 'Script Loading Error',
45
- message: 'Failed to load SigmaPlayer script. Please check your internet connection and try again.',
46
- duration: 5000,
47
- })
48
- throw error
49
- })
50
- pendingPromise.then(promiseFinished).catch(promiseFinished)
51
- return pendingPromise
52
- }
53
-
54
- const isLoaded = ref(false)
55
-
56
- onMounted(async () => {
57
- try {
58
- await loadDrm()
59
- isLoaded.value = true
60
- }
61
- catch (error) {
62
- console.error('Failed to load DRM script:', error)
63
- isLoaded.value = false
64
- }
65
- })
66
-
67
- //
68
- const isLoaded2 = ref(false)
69
-
70
- const shakaSrc = 'https://cdnjs.cloudflare.com/ajax/libs/shaka-player/3.0.4/shaka-player.compiled.js'
71
- let pendingShakaPromise: Promise<any> | null = null
72
-
73
- function promiseFinishedShaka() {
74
- pendingShakaPromise = null
75
- }
76
- function loadShaka() {
77
- if (window.shaka)
78
- return Promise.resolve(window.shaka)
79
-
80
- if (pendingShakaPromise)
81
- return pendingShakaPromise
82
-
83
- pendingShakaPromise = loadScript(shakaSrc)
84
- .then(() => window.shaka)
85
- .catch((error) => {
86
- ElNotification.error({
87
- title: 'Script Loading Error',
88
- message: 'Failed to load Shaka Player script. Please check your internet connection and try again.',
89
- duration: 5000,
90
- })
91
- throw error
92
- })
93
- pendingShakaPromise.then(promiseFinishedShaka).catch(promiseFinishedShaka)
94
- return pendingShakaPromise
95
- }
96
-
97
- onMounted(async () => {
98
- try {
99
- await loadShaka()
100
- isLoaded2.value = true
101
- }
102
- catch (error) {
103
- console.error('Failed to load Shaka script:', error)
104
- isLoaded2.value = false
105
- }
106
- })
107
-
108
- return {
109
- isLoaded,
110
- isLoaded2,
111
- }
112
- // END PLAYER
113
- }
114
-
115
- interface ChannelActions {
116
- handleChannel?: (...rest: any) => void
117
- switchBlackout?: (...rest: any) => void
118
- }
119
-
120
- const [useJobPreview, useInjectJobPreview] = createInjectionState(() => {
121
- const { isLoaded, isLoaded2 } = usePreviewLoader()
122
-
123
- const actions = ref<Required<ChannelActions>>({
124
- handleChannel: () => {},
125
- switchBlackout: () => {},
126
- })
127
-
128
- const paramQueryPreview = ref({
129
- channelId: '',
130
- jobId: '',
131
- })
132
- const playVisible = ref(false)
133
-
134
- const channelName = ref('')
135
- const blackoutActive = ref('')
136
- const srcPreview1 = ref('')
137
- const srcPreview2 = ref('')
138
-
139
- const vttLink = ref(undefined)
140
- // new mode replace catchup | live
141
- const playMode1 = ref('catchup')
142
- const playMode2 = ref('catchup')
143
- const catchupEnabled = ref(false)
144
- function getCatchupTime() {
145
- return [dayjs().subtract(1, 'hour').format('HH:mm:ss'), dayjs().format('HH:mm:ss')]
146
- }
147
-
148
- function getTimeshiftTime() {
149
- return 30
150
- }
151
-
152
- function getDelayTime() {
153
- return 30
154
- }
155
-
156
- const catchupTime1 = ref(getCatchupTime())
157
- const catchupTime2 = ref(getCatchupTime())
158
- const delayTime1 = ref(getDelayTime())
159
- const delayTime2 = ref(getDelayTime())
160
- const timeshiftTime1 = ref(getTimeshiftTime())
161
- const timeshiftTime2 = ref(getTimeshiftTime())
162
- const typeOutput = ref('hls')
163
- const nameOutput = ref('')
164
- const drm1 = ref()
165
- const drm2 = ref()
166
- const drmCredentials = ref('')
167
- const videoType1 = ref(typeOutput.value === 'hls-dash' ? 'hls' : typeOutput.value)
168
- const videoType2 = ref(typeOutput.value === 'hls-dash' ? 'hls' : typeOutput.value)
169
- const channelType = ref('transcode')
170
- const isEventChannel = computed(() => channelType.value === 'event')
171
- const enableForensicWatermarkAB = ref(false)
172
-
173
- const isSigmaMediaServer = ref(false)
174
- const serverId = ref('')
175
-
176
- const channelId = computed(() => paramQueryPreview.value.channelId)
177
- const jobId = computed(() => paramQueryPreview.value.jobId)
178
-
179
- const { data, refetch } = useQuery(
180
- ['preview-job', isEventChannel, channelId, jobId],
181
- async () => {
182
- if (channelType.value === 'playout') {
183
- return await $playoutApi('api/playout/fast-channels/{id}/jobs/{jobId}/actions/get-preview', {
184
- method: 'GET',
185
- pathParams: {
186
- id: channelId.value,
187
- jobId: jobId.value,
188
- },
189
- })
190
- }
191
-
192
- const endpoint = isEventChannel.value
193
- ? 'api/transcode/event-channels/{channelId}/jobs/{jobId}/actions/get-preview'
194
- : 'api/transcode/channels/{channelId}/jobs/{jobId}/actions/get-preview'
195
- return await $transcodeApi(endpoint, {
196
- method: 'GET',
197
- pathParams: {
198
- channelId: channelId.value,
199
- jobId: jobId.value,
200
- },
201
- })
202
- },
203
- {
204
- enabled: computed(() => (!!paramQueryPreview.value.channelId && !!paramQueryPreview.value.jobId)),
205
- refetchOnWindowFocus: false,
206
- keepPreviousData: true,
207
- },
208
- )
209
-
210
- // hh:mm:ss to timestamp
211
- function convertToTimestamp(time: string) {
212
- const dateObject = dayjs(time, 'HH:mm:ss')
213
- return Math.floor(dateObject.valueOf() / 1000)
214
- }
215
-
216
- // TODO: update the logic for playMode
217
- function handleChangeSrc({
218
- srcStr,
219
- playMode,
220
- catchupTime,
221
- delayTime,
222
- timeshiftTime,
223
- videoType,
224
- }: {
225
- srcStr?: string
226
- playMode: string
227
- catchupTime?: string[]
228
- delayTime?: number
229
- timeshiftTime?: number
230
- videoType?: string
231
- }) {
232
- const ext = videoType === 'hls' ? '.m3u8' : '.mpd'
233
- const originalSrc = isEventChannel.value
234
- ? data.value.url
235
- : Array.isArray(data.value?.url)
236
- ? data.value?.url?.find((item: string) => item.includes(ext))
237
- : data.value?.url
238
-
239
- const parsedSrc = parseURL((srcStr || originalSrc).replace('.m3u8', ext).replace('.mpd', ext))
240
-
241
- const src = parsedSrc.protocol && parsedSrc.host
242
- ? `${parsedSrc.protocol}//${parsedSrc.host}${parsedSrc.pathname}`
243
- : parsedSrc.pathname
244
-
245
- if (playMode === 'catchup') {
246
- return withQuery(src, {
247
- start: convertToTimestamp(catchupTime[0]),
248
- stop: convertToTimestamp(catchupTime[1]),
249
- })
250
- }
251
- else if (playMode === 'live') {
252
- return src
253
- }
254
- else if (playMode === 'delay') {
255
- return withQuery(src, {
256
- delay: delayTime,
257
- })
258
- }
259
- else if (playMode === 'timeshift') {
260
- return withQuery(src, {
261
- timeshift: timeshiftTime,
262
- })
263
- }
264
- return src
265
- }
266
-
267
- function handleUpdateBlackoutMode(value: boolean) {
268
- blackoutActive.value = value
269
- }
270
-
271
- async function handlePlayback(payload: {
272
- channelId: string
273
- jobId: string
274
- type: string
275
- channelName: string
276
- blackoutActive: boolean
277
- typeOutput?: string
278
- nameOutput?: string
279
- drm?: any
280
- channelType?: string
281
- catchupEnabled?: boolean
282
- enableForensicWatermarkAB?: boolean
283
- }, actionsObj: ChannelActions = {}) {
284
- paramQueryPreview.value.jobId = payload.jobId
285
- paramQueryPreview.value.channelId = payload.channelId
286
- channelType.value = payload.channelType ?? ''
287
- channelName.value = payload.channelName
288
- blackoutActive.value = payload.blackoutActive
289
- console.log('🚀 ~ const[useJobPreview,useInjectJobPreview]=createInjectionState ~ payload:', payload)
290
- enableForensicWatermarkAB.value = payload.enableForensicWatermarkAB
291
-
292
- actions.value = {
293
- handleChannel: actionsObj.handleChannel || (() => {}),
294
- switchBlackout: actionsObj.switchBlackout || (() => {}),
295
- }
296
-
297
- const data = await refetch()
298
- serverId.value = data.data?.machineConfig?.machineId
299
- isSigmaMediaServer.value = data.data?.machineConfig?.machineType === 'SIGMA_MACHINE'
300
-
301
- catchupTime1.value = getCatchupTime()
302
- catchupTime2.value = getCatchupTime()
303
- delayTime1.value = getDelayTime()
304
- delayTime2.value = getDelayTime()
305
- timeshiftTime1.value = getTimeshiftTime()
306
- timeshiftTime2.value = getTimeshiftTime()
307
-
308
- const ext = (payload.typeOutput === 'hls-dash' ? 'hls' : payload.typeOutput) === 'hls' ? '.m3u8' : '.mpd'
309
-
310
- catchupEnabled.value = payload.catchupEnabled
311
- if (payload.type === 'catchup') {
312
- playMode1.value = 'catchup'
313
- playMode2.value = 'catchup'
314
- }
315
- else if (payload.type === 'package') {
316
- playMode1.value = 'live'
317
- playMode2.value = 'live'
318
- }
319
-
320
- // SESSION: drm
321
- drm1.value = {
322
- ...payload.drm,
323
- sessionId: '',
324
- userId: '',
325
- appId: '',
326
- merchantId: '',
327
- } || undefined
328
- drm2.value = {
329
- ...payload.drm,
330
- sessionId: '',
331
- userId: '',
332
- appId: '',
333
- merchantId: '',
334
- } || undefined
335
-
336
- const keyProviderValue = payload.drm?.keyProvider === 'drmtoday' ? 'DRM_TODAY' : 'SIGMA'
337
-
338
- if (channelType.value === 'playout' && payload.drm?.enable) {
339
- const res = await $playoutApi('/api/playout/drm-credentials', {
340
- page: 1,
341
- perPage: 10,
342
- q: '',
343
- sort: '',
344
- provider: keyProviderValue,
345
- })
346
-
347
- drmCredentials.value = res.data?.find(item => item.id === payload.drm?.drmManagementId)?.name
348
- }
349
- else if ((channelType.value === 'transcode' || channelType.value === 'package' || channelType.value === 'event') && payload.drm?.enable) {
350
- const res = await $transcodeApi('/api/transcode/drm-credentials', {
351
- page: 1,
352
- perPage: 1000,
353
- provider: keyProviderValue,
354
- })
355
- drmCredentials.value = res.data?.find(item => item.id === payload.drm?.drmManagementId)?.name
356
- }
357
- // END SESSION: drm
358
-
359
- typeOutput.value = payload.typeOutput ?? ''
360
- nameOutput.value = payload.nameOutput ?? ''
361
- typeOutput.value = payload.typeOutput ?? ''
362
- nameOutput.value = payload.nameOutput ?? ''
363
- videoType1.value = videoType2.value = typeOutput.value === 'hls-dash' ? 'hls' : typeOutput.value
364
-
365
- srcPreview1.value = handleChangeSrc({
366
- playMode: playMode1.value,
367
- catchupTime: catchupTime1.value,
368
- delayTime: delayTime1.value,
369
- timeshiftTime: timeshiftTime1.value,
370
- videoType: videoType1.value,
371
- })
372
-
373
- srcPreview2.value = handleChangeSrc({
374
- playMode: playMode2.value,
375
- catchupTime: catchupTime2.value,
376
- delayTime: delayTime2.value,
377
- timeshiftTime: timeshiftTime2.value,
378
- videoType: videoType2.value,
379
- })
380
-
381
- playVisible.value = true
382
- }
383
-
384
- const isHls1 = computed(() => videoType1.value === 'hls')
385
- const isDash1 = computed(() => videoType1.value === 'dash')
386
- const isHls2 = computed(() => videoType2.value === 'hls')
387
- const isDash2 = computed(() => videoType2.value === 'dash')
388
-
389
- return {
390
- paramQueryPreview,
391
- data,
392
- refetch,
393
- srcPreview1,
394
- srcPreview2,
395
- catchupTime1,
396
- catchupTime2,
397
- delayTime1,
398
- delayTime2,
399
- timeshiftTime1,
400
- timeshiftTime2,
401
- handlePlayback,
402
- handleChangeSrc,
403
- handleUpdateBlackoutMode,
404
- vttLink,
405
- playVisible,
406
- playMode1,
407
- playMode2,
408
- //
409
- nameOutput,
410
- typeOutput,
411
- drm1,
412
- drm2,
413
- drmCredentials,
414
- //
415
- videoType1,
416
- videoType2,
417
- isHls1,
418
- isDash1,
419
- isHls2,
420
- isDash2,
421
- channelType,
422
- isSigmaMediaServer,
423
- serverId,
424
- isLoaded,
425
- isLoaded2,
426
- catchupEnabled,
427
- channelId,
428
- channelName,
429
- blackoutActive,
430
- actions,
431
- enableForensicWatermarkAB,
432
- }
433
- })
434
-
435
- export {
436
- useJobPreview,
437
- useInjectJobPreview,
438
- }
1
+ import { parseURL, withQuery } from 'ufo'
2
+ import { ElNotification } from 'element-plus'
3
+
4
+ // Extend Window interface to include SigmaManager and shaka
5
+ declare global {
6
+ interface Window {
7
+ SigmaManager: any
8
+ shaka: any
9
+ }
10
+ }
11
+
12
+ export function usePreviewLoader() {
13
+ // PLAYER
14
+
15
+ function loadScript(src: string): Promise<Event> {
16
+ return new Promise((resolve, reject) => {
17
+ const script = document.createElement('script')
18
+ script.async = true
19
+ script.src = src
20
+ script.onload = resolve
21
+ script.onerror = reject
22
+ document.body.appendChild(script)
23
+ })
24
+ }
25
+
26
+ const drmSrc = 'https://rs.sigmadrm.com/sdk/sigmaplayer/2.0.0/SigmaPlayer.min.js'
27
+ let pendingPromise: Promise<any> | null = null
28
+
29
+ function promiseFinished() {
30
+ pendingPromise = null
31
+ }
32
+
33
+ function loadDrm() {
34
+ if (window.SigmaManager)
35
+ return Promise.resolve(window.SigmaManager)
36
+
37
+ if (pendingPromise)
38
+ return pendingPromise
39
+
40
+ pendingPromise = loadScript(drmSrc)
41
+ .then(() => window.SigmaManager)
42
+ .catch((error) => {
43
+ ElNotification.error({
44
+ title: 'Script Loading Error',
45
+ message: 'Failed to load SigmaPlayer script. Please check your internet connection and try again.',
46
+ duration: 5000,
47
+ })
48
+ throw error
49
+ })
50
+ pendingPromise.then(promiseFinished).catch(promiseFinished)
51
+ return pendingPromise
52
+ }
53
+
54
+ const isLoaded = ref(false)
55
+
56
+ onMounted(async () => {
57
+ try {
58
+ await loadDrm()
59
+ isLoaded.value = true
60
+ }
61
+ catch (error) {
62
+ console.error('Failed to load DRM script:', error)
63
+ isLoaded.value = false
64
+ }
65
+ })
66
+
67
+ //
68
+ const isLoaded2 = ref(false)
69
+
70
+ const shakaSrc = 'https://cdnjs.cloudflare.com/ajax/libs/shaka-player/3.0.4/shaka-player.compiled.js'
71
+ let pendingShakaPromise: Promise<any> | null = null
72
+
73
+ function promiseFinishedShaka() {
74
+ pendingShakaPromise = null
75
+ }
76
+ function loadShaka() {
77
+ if (window.shaka)
78
+ return Promise.resolve(window.shaka)
79
+
80
+ if (pendingShakaPromise)
81
+ return pendingShakaPromise
82
+
83
+ pendingShakaPromise = loadScript(shakaSrc)
84
+ .then(() => window.shaka)
85
+ .catch((error) => {
86
+ ElNotification.error({
87
+ title: 'Script Loading Error',
88
+ message: 'Failed to load Shaka Player script. Please check your internet connection and try again.',
89
+ duration: 5000,
90
+ })
91
+ throw error
92
+ })
93
+ pendingShakaPromise.then(promiseFinishedShaka).catch(promiseFinishedShaka)
94
+ return pendingShakaPromise
95
+ }
96
+
97
+ onMounted(async () => {
98
+ try {
99
+ await loadShaka()
100
+ isLoaded2.value = true
101
+ }
102
+ catch (error) {
103
+ console.error('Failed to load Shaka script:', error)
104
+ isLoaded2.value = false
105
+ }
106
+ })
107
+
108
+ return {
109
+ isLoaded,
110
+ isLoaded2,
111
+ }
112
+ // END PLAYER
113
+ }
114
+
115
+ interface ChannelActions {
116
+ handleChannel?: (...rest: any) => void
117
+ switchBlackout?: (...rest: any) => void
118
+ }
119
+
120
+ const [useJobPreview, useInjectJobPreview] = createInjectionState(() => {
121
+ const { isLoaded, isLoaded2 } = usePreviewLoader()
122
+
123
+ const actions = ref<Required<ChannelActions>>({
124
+ handleChannel: () => {},
125
+ switchBlackout: () => {},
126
+ })
127
+
128
+ const paramQueryPreview = ref({
129
+ channelId: '',
130
+ jobId: '',
131
+ })
132
+ const playVisible = ref(false)
133
+
134
+ const channelName = ref('')
135
+ const blackoutActive = ref('')
136
+ const srcPreview1 = ref('')
137
+ const srcPreview2 = ref('')
138
+
139
+ const vttLink = ref(undefined)
140
+ // new mode replace catchup | live
141
+ const playMode1 = ref('catchup')
142
+ const playMode2 = ref('catchup')
143
+ const catchupEnabled = ref(false)
144
+ function getCatchupTime() {
145
+ return [dayjs().subtract(1, 'hour').format('HH:mm:ss'), dayjs().format('HH:mm:ss')]
146
+ }
147
+
148
+ function getTimeshiftTime() {
149
+ return 30
150
+ }
151
+
152
+ function getDelayTime() {
153
+ return 30
154
+ }
155
+
156
+ const catchupTime1 = ref(getCatchupTime())
157
+ const catchupTime2 = ref(getCatchupTime())
158
+ const delayTime1 = ref(getDelayTime())
159
+ const delayTime2 = ref(getDelayTime())
160
+ const timeshiftTime1 = ref(getTimeshiftTime())
161
+ const timeshiftTime2 = ref(getTimeshiftTime())
162
+ const typeOutput = ref('hls')
163
+ const nameOutput = ref('')
164
+ const drm1 = ref()
165
+ const drm2 = ref()
166
+ const drmCredentials = ref('')
167
+ const videoType1 = ref(typeOutput.value === 'hls-dash' ? 'hls' : typeOutput.value)
168
+ const videoType2 = ref(typeOutput.value === 'hls-dash' ? 'hls' : typeOutput.value)
169
+ const channelType = ref('transcode')
170
+ const isEventChannel = computed(() => channelType.value === 'event')
171
+ const enableForensicWatermarkAB = ref(false)
172
+
173
+ const isSigmaMediaServer = ref(false)
174
+ const serverId = ref('')
175
+
176
+ const channelId = computed(() => paramQueryPreview.value.channelId)
177
+ const jobId = computed(() => paramQueryPreview.value.jobId)
178
+
179
+ const { data, refetch } = useQuery(
180
+ ['preview-job', isEventChannel, channelId, jobId],
181
+ async () => {
182
+ if (channelType.value === 'playout') {
183
+ return await $playoutApi('api/playout/fast-channels/{id}/jobs/{jobId}/actions/get-preview', {
184
+ method: 'GET',
185
+ pathParams: {
186
+ id: channelId.value,
187
+ jobId: jobId.value,
188
+ },
189
+ })
190
+ }
191
+
192
+ const endpoint = isEventChannel.value
193
+ ? 'api/transcode/event-channels/{channelId}/jobs/{jobId}/actions/get-preview'
194
+ : 'api/transcode/channels/{channelId}/jobs/{jobId}/actions/get-preview'
195
+ return await $transcodeApi(endpoint, {
196
+ method: 'GET',
197
+ pathParams: {
198
+ channelId: channelId.value,
199
+ jobId: jobId.value,
200
+ },
201
+ })
202
+ },
203
+ {
204
+ enabled: computed(() => (!!paramQueryPreview.value.channelId && !!paramQueryPreview.value.jobId)),
205
+ refetchOnWindowFocus: false,
206
+ keepPreviousData: true,
207
+ },
208
+ )
209
+
210
+ // hh:mm:ss to timestamp
211
+ function convertToTimestamp(time: string) {
212
+ const dateObject = dayjs(time, 'HH:mm:ss')
213
+ return Math.floor(dateObject.valueOf() / 1000)
214
+ }
215
+
216
+ // TODO: update the logic for playMode
217
+ function handleChangeSrc({
218
+ srcStr,
219
+ playMode,
220
+ catchupTime,
221
+ delayTime,
222
+ timeshiftTime,
223
+ videoType,
224
+ }: {
225
+ srcStr?: string
226
+ playMode: string
227
+ catchupTime?: string[]
228
+ delayTime?: number
229
+ timeshiftTime?: number
230
+ videoType?: string
231
+ }) {
232
+ const ext = videoType === 'hls' ? '.m3u8' : '.mpd'
233
+ const originalSrc = isEventChannel.value
234
+ ? data.value.url
235
+ : Array.isArray(data.value?.url)
236
+ ? data.value?.url?.find((item: string) => item.includes(ext))
237
+ : data.value?.url
238
+
239
+ const parsedSrc = parseURL((srcStr || originalSrc).replace('.m3u8', ext).replace('.mpd', ext))
240
+
241
+ const src = parsedSrc.protocol && parsedSrc.host
242
+ ? `${parsedSrc.protocol}//${parsedSrc.host}${parsedSrc.pathname}`
243
+ : parsedSrc.pathname
244
+
245
+ if (playMode === 'catchup') {
246
+ return withQuery(src, {
247
+ start: convertToTimestamp(catchupTime[0]),
248
+ stop: convertToTimestamp(catchupTime[1]),
249
+ })
250
+ }
251
+ else if (playMode === 'live') {
252
+ return src
253
+ }
254
+ else if (playMode === 'delay') {
255
+ return withQuery(src, {
256
+ delay: delayTime,
257
+ })
258
+ }
259
+ else if (playMode === 'timeshift') {
260
+ return withQuery(src, {
261
+ timeshift: timeshiftTime,
262
+ })
263
+ }
264
+ return src
265
+ }
266
+
267
+ function handleUpdateBlackoutMode(value: boolean) {
268
+ blackoutActive.value = value
269
+ }
270
+
271
+ async function handlePlayback(payload: {
272
+ channelId: string
273
+ jobId: string
274
+ type: string
275
+ channelName: string
276
+ blackoutActive: boolean
277
+ typeOutput?: string
278
+ nameOutput?: string
279
+ drm?: any
280
+ channelType?: string
281
+ catchupEnabled?: boolean
282
+ enableForensicWatermarkAB?: boolean
283
+ }, actionsObj: ChannelActions = {}) {
284
+ paramQueryPreview.value.jobId = payload.jobId
285
+ paramQueryPreview.value.channelId = payload.channelId
286
+ channelType.value = payload.channelType ?? ''
287
+ channelName.value = payload.channelName
288
+ blackoutActive.value = payload.blackoutActive
289
+ console.log('🚀 ~ const[useJobPreview,useInjectJobPreview]=createInjectionState ~ payload:', payload)
290
+ enableForensicWatermarkAB.value = payload.enableForensicWatermarkAB
291
+
292
+ actions.value = {
293
+ handleChannel: actionsObj.handleChannel || (() => {}),
294
+ switchBlackout: actionsObj.switchBlackout || (() => {}),
295
+ }
296
+
297
+ const data = await refetch()
298
+ serverId.value = data.data?.machineConfig?.machineId
299
+ isSigmaMediaServer.value = data.data?.machineConfig?.machineType === 'SIGMA_MACHINE'
300
+
301
+ catchupTime1.value = getCatchupTime()
302
+ catchupTime2.value = getCatchupTime()
303
+ delayTime1.value = getDelayTime()
304
+ delayTime2.value = getDelayTime()
305
+ timeshiftTime1.value = getTimeshiftTime()
306
+ timeshiftTime2.value = getTimeshiftTime()
307
+
308
+ const ext = (payload.typeOutput === 'hls-dash' ? 'hls' : payload.typeOutput) === 'hls' ? '.m3u8' : '.mpd'
309
+
310
+ catchupEnabled.value = payload.catchupEnabled
311
+ if (payload.type === 'catchup') {
312
+ playMode1.value = 'catchup'
313
+ playMode2.value = 'catchup'
314
+ }
315
+ else if (payload.type === 'package') {
316
+ playMode1.value = 'live'
317
+ playMode2.value = 'live'
318
+ }
319
+
320
+ // SESSION: drm
321
+ drm1.value = {
322
+ ...payload.drm,
323
+ sessionId: '',
324
+ userId: '',
325
+ appId: '',
326
+ merchantId: '',
327
+ } || undefined
328
+ drm2.value = {
329
+ ...payload.drm,
330
+ sessionId: '',
331
+ userId: '',
332
+ appId: '',
333
+ merchantId: '',
334
+ } || undefined
335
+
336
+ const keyProviderValue = payload.drm?.keyProvider === 'drmtoday' ? 'DRM_TODAY' : 'SIGMA'
337
+
338
+ if (channelType.value === 'playout' && payload.drm?.enable) {
339
+ const res = await $playoutApi('/api/playout/drm-credentials', {
340
+ page: 1,
341
+ perPage: 10,
342
+ q: '',
343
+ sort: '',
344
+ provider: keyProviderValue,
345
+ })
346
+
347
+ drmCredentials.value = res.data?.find(item => item.id === payload.drm?.drmManagementId)?.name
348
+ }
349
+ else if ((channelType.value === 'transcode' || channelType.value === 'package' || channelType.value === 'event') && payload.drm?.enable) {
350
+ const res = await $transcodeApi('/api/transcode/drm-credentials', {
351
+ page: 1,
352
+ perPage: 1000,
353
+ provider: keyProviderValue,
354
+ })
355
+ drmCredentials.value = res.data?.find(item => item.id === payload.drm?.drmManagementId)?.name
356
+ }
357
+ // END SESSION: drm
358
+
359
+ typeOutput.value = payload.typeOutput ?? ''
360
+ nameOutput.value = payload.nameOutput ?? ''
361
+ typeOutput.value = payload.typeOutput ?? ''
362
+ nameOutput.value = payload.nameOutput ?? ''
363
+ videoType1.value = videoType2.value = typeOutput.value === 'hls-dash' ? 'hls' : typeOutput.value
364
+
365
+ srcPreview1.value = handleChangeSrc({
366
+ playMode: playMode1.value,
367
+ catchupTime: catchupTime1.value,
368
+ delayTime: delayTime1.value,
369
+ timeshiftTime: timeshiftTime1.value,
370
+ videoType: videoType1.value,
371
+ })
372
+
373
+ srcPreview2.value = handleChangeSrc({
374
+ playMode: playMode2.value,
375
+ catchupTime: catchupTime2.value,
376
+ delayTime: delayTime2.value,
377
+ timeshiftTime: timeshiftTime2.value,
378
+ videoType: videoType2.value,
379
+ })
380
+
381
+ playVisible.value = true
382
+ }
383
+
384
+ const isHls1 = computed(() => videoType1.value === 'hls')
385
+ const isDash1 = computed(() => videoType1.value === 'dash')
386
+ const isHls2 = computed(() => videoType2.value === 'hls')
387
+ const isDash2 = computed(() => videoType2.value === 'dash')
388
+
389
+ return {
390
+ paramQueryPreview,
391
+ data,
392
+ refetch,
393
+ srcPreview1,
394
+ srcPreview2,
395
+ catchupTime1,
396
+ catchupTime2,
397
+ delayTime1,
398
+ delayTime2,
399
+ timeshiftTime1,
400
+ timeshiftTime2,
401
+ handlePlayback,
402
+ handleChangeSrc,
403
+ handleUpdateBlackoutMode,
404
+ vttLink,
405
+ playVisible,
406
+ playMode1,
407
+ playMode2,
408
+ //
409
+ nameOutput,
410
+ typeOutput,
411
+ drm1,
412
+ drm2,
413
+ drmCredentials,
414
+ //
415
+ videoType1,
416
+ videoType2,
417
+ isHls1,
418
+ isDash1,
419
+ isHls2,
420
+ isDash2,
421
+ channelType,
422
+ isSigmaMediaServer,
423
+ serverId,
424
+ isLoaded,
425
+ isLoaded2,
426
+ catchupEnabled,
427
+ channelId,
428
+ channelName,
429
+ blackoutActive,
430
+ actions,
431
+ enableForensicWatermarkAB,
432
+ }
433
+ })
434
+
435
+ export {
436
+ useJobPreview,
437
+ useInjectJobPreview,
438
+ }