podverse-orm 5.0.3 → 5.1.0-alpha.0

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 (434) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +37 -0
  3. package/dist/config/index.d.ts +4 -2
  4. package/dist/config/index.d.ts.map +1 -1
  5. package/dist/config/index.js +4 -2
  6. package/dist/db/index.d.ts +5 -1
  7. package/dist/db/index.d.ts.map +1 -1
  8. package/dist/db/index.js +50 -41
  9. package/dist/entities/account/account.d.ts +32 -0
  10. package/dist/entities/account/account.d.ts.map +1 -1
  11. package/dist/entities/account/account.js +80 -0
  12. package/dist/entities/account/accountAdminRoles.js +1 -1
  13. package/dist/entities/account/accountAppStorePurchase.d.ts +2 -2
  14. package/dist/entities/account/accountAppStorePurchase.d.ts.map +1 -1
  15. package/dist/entities/account/accountAppStorePurchase.js +9 -9
  16. package/dist/entities/account/accountCredentials.d.ts +1 -0
  17. package/dist/entities/account/accountCredentials.d.ts.map +1 -1
  18. package/dist/entities/account/accountCredentials.js +8 -3
  19. package/dist/entities/account/accountEmailChangeVerification.d.ts +10 -0
  20. package/dist/entities/account/accountEmailChangeVerification.d.ts.map +1 -0
  21. package/dist/entities/account/accountEmailChangeVerification.js +46 -0
  22. package/dist/entities/account/accountFCMDevice.d.ts +1 -0
  23. package/dist/entities/account/accountFCMDevice.d.ts.map +1 -1
  24. package/dist/entities/account/accountFCMDevice.js +6 -1
  25. package/dist/entities/account/accountFollowingAddByRSSChannel.d.ts +1 -1
  26. package/dist/entities/account/accountFollowingAddByRSSChannel.d.ts.map +1 -1
  27. package/dist/entities/account/accountFollowingAddByRSSChannel.js +14 -13
  28. package/dist/entities/account/accountGooglePlayPurchase.d.ts +2 -2
  29. package/dist/entities/account/accountGooglePlayPurchase.d.ts.map +1 -1
  30. package/dist/entities/account/accountGooglePlayPurchase.js +9 -9
  31. package/dist/entities/account/accountMembership.d.ts +2 -0
  32. package/dist/entities/account/accountMembership.d.ts.map +1 -1
  33. package/dist/entities/account/accountMembership.js +5 -0
  34. package/dist/entities/account/accountMembershipStatus.js +1 -1
  35. package/dist/entities/account/{accountNotification.d.ts → accountNotificationChannel.d.ts} +2 -2
  36. package/dist/entities/account/accountNotificationChannel.d.ts.map +1 -0
  37. package/dist/entities/account/{accountNotification.js → accountNotificationChannel.js} +9 -9
  38. package/dist/entities/account/accountPayPalOrder.d.ts +1 -1
  39. package/dist/entities/account/accountPayPalOrder.js +9 -9
  40. package/dist/entities/account/accountProfile.d.ts.map +1 -1
  41. package/dist/entities/account/accountProfile.js +4 -3
  42. package/dist/entities/account/accountResetPassword.d.ts.map +1 -1
  43. package/dist/entities/account/accountResetPassword.js +3 -2
  44. package/dist/entities/account/accountUPDevice.d.ts.map +1 -1
  45. package/dist/entities/account/accountUPDevice.js +4 -3
  46. package/dist/entities/account/accountVerification.d.ts.map +1 -1
  47. package/dist/entities/account/accountVerification.js +3 -2
  48. package/dist/entities/category.d.ts +2 -1
  49. package/dist/entities/category.d.ts.map +1 -1
  50. package/dist/entities/category.js +13 -6
  51. package/dist/entities/channel/channel.d.ts +40 -3
  52. package/dist/entities/channel/channel.d.ts.map +1 -1
  53. package/dist/entities/channel/channel.js +99 -7
  54. package/dist/entities/channel/channelAbout.d.ts +3 -2
  55. package/dist/entities/channel/channelAbout.d.ts.map +1 -1
  56. package/dist/entities/channel/channelAbout.js +10 -4
  57. package/dist/entities/channel/channelCategory.d.ts +3 -1
  58. package/dist/entities/channel/channelCategory.d.ts.map +1 -1
  59. package/dist/entities/channel/channelCategory.js +10 -5
  60. package/dist/entities/channel/channelChat.d.ts.map +1 -1
  61. package/dist/entities/channel/channelChat.js +6 -5
  62. package/dist/entities/channel/channelDescription.d.ts.map +1 -1
  63. package/dist/entities/channel/channelDescription.js +3 -2
  64. package/dist/entities/channel/channelFunding.d.ts.map +1 -1
  65. package/dist/entities/channel/channelFunding.js +3 -2
  66. package/dist/entities/channel/channelImage.d.ts.map +1 -1
  67. package/dist/entities/channel/channelImage.js +2 -1
  68. package/dist/entities/channel/channelLicense.d.ts.map +1 -1
  69. package/dist/entities/channel/channelLicense.js +4 -3
  70. package/dist/entities/channel/channelLocation.d.ts.map +1 -1
  71. package/dist/entities/channel/channelLocation.js +5 -4
  72. package/dist/entities/channel/channelPerson.d.ts.map +1 -1
  73. package/dist/entities/channel/channelPerson.js +6 -5
  74. package/dist/entities/channel/channelPodroll.d.ts +2 -0
  75. package/dist/entities/channel/channelPodroll.d.ts.map +1 -1
  76. package/dist/entities/channel/channelPodroll.js +6 -1
  77. package/dist/entities/channel/channelPodrollRemoteItem.d.ts.map +1 -1
  78. package/dist/entities/channel/channelPodrollRemoteItem.js +4 -3
  79. package/dist/entities/channel/channelPublisher.d.ts +2 -0
  80. package/dist/entities/channel/channelPublisher.d.ts.map +1 -1
  81. package/dist/entities/channel/channelPublisher.js +6 -1
  82. package/dist/entities/channel/channelPublisherRemoteItem.d.ts.map +1 -1
  83. package/dist/entities/channel/channelPublisherRemoteItem.js +5 -4
  84. package/dist/entities/channel/channelRemoteItem.d.ts.map +1 -1
  85. package/dist/entities/channel/channelRemoteItem.js +4 -3
  86. package/dist/entities/channel/channelSeason.d.ts.map +1 -1
  87. package/dist/entities/channel/channelSeason.js +2 -1
  88. package/dist/entities/channel/channelSocialInteract.d.ts.map +1 -1
  89. package/dist/entities/channel/channelSocialInteract.js +5 -4
  90. package/dist/entities/channel/channelTrailer.d.ts +1 -1
  91. package/dist/entities/channel/channelTrailer.d.ts.map +1 -1
  92. package/dist/entities/channel/channelTrailer.js +6 -5
  93. package/dist/entities/channel/channelTxt.d.ts.map +1 -1
  94. package/dist/entities/channel/channelTxt.js +3 -2
  95. package/dist/entities/channel/channelValue.d.ts +2 -0
  96. package/dist/entities/channel/channelValue.d.ts.map +1 -1
  97. package/dist/entities/channel/channelValue.js +8 -2
  98. package/dist/entities/channel/channelValueRecipient.d.ts.map +1 -1
  99. package/dist/entities/channel/channelValueRecipient.js +6 -5
  100. package/dist/entities/clip.d.ts +2 -2
  101. package/dist/entities/clip.d.ts.map +1 -1
  102. package/dist/entities/clip.js +5 -4
  103. package/dist/entities/feed/feed.d.ts +2 -0
  104. package/dist/entities/feed/feed.d.ts.map +1 -1
  105. package/dist/entities/feed/feed.js +12 -3
  106. package/dist/entities/feed/feedFlagStatus.d.ts +6 -6
  107. package/dist/entities/feed/feedFlagStatus.d.ts.map +1 -1
  108. package/dist/entities/feed/feedFlagStatus.js +8 -14
  109. package/dist/entities/feed/feedLog.d.ts.map +1 -1
  110. package/dist/entities/feed/feedLog.js +2 -1
  111. package/dist/entities/item/item.d.ts +41 -6
  112. package/dist/entities/item/item.d.ts.map +1 -1
  113. package/dist/entities/item/item.js +112 -16
  114. package/dist/entities/item/itemAbout.d.ts +2 -2
  115. package/dist/entities/item/itemAbout.d.ts.map +1 -1
  116. package/dist/entities/item/itemAbout.js +3 -2
  117. package/dist/entities/item/itemChapter.d.ts.map +1 -1
  118. package/dist/entities/item/itemChapter.js +4 -3
  119. package/dist/entities/item/itemChapterLocation.d.ts.map +1 -1
  120. package/dist/entities/item/itemChapterLocation.js +5 -4
  121. package/dist/entities/item/itemChaptersFeed.d.ts +2 -0
  122. package/dist/entities/item/itemChaptersFeed.d.ts.map +1 -1
  123. package/dist/entities/item/itemChaptersFeed.js +9 -3
  124. package/dist/entities/item/itemChaptersFeedLog.d.ts.map +1 -1
  125. package/dist/entities/item/itemChaptersFeedLog.js +2 -1
  126. package/dist/entities/item/itemChat.d.ts.map +1 -1
  127. package/dist/entities/item/itemChat.js +6 -5
  128. package/dist/entities/item/itemContentLink.d.ts.map +1 -1
  129. package/dist/entities/item/itemContentLink.js +3 -2
  130. package/dist/entities/item/itemDescription.d.ts.map +1 -1
  131. package/dist/entities/item/itemDescription.js +3 -2
  132. package/dist/entities/item/itemEnclosure.d.ts +4 -0
  133. package/dist/entities/item/itemEnclosure.d.ts.map +1 -1
  134. package/dist/entities/item/itemEnclosure.js +16 -5
  135. package/dist/entities/item/itemEnclosureIntegrity.d.ts.map +1 -1
  136. package/dist/entities/item/itemEnclosureIntegrity.js +3 -2
  137. package/dist/entities/item/itemEnclosureSource.d.ts.map +1 -1
  138. package/dist/entities/item/itemEnclosureSource.js +3 -2
  139. package/dist/entities/item/itemFlagStatus.d.ts +13 -0
  140. package/dist/entities/item/itemFlagStatus.d.ts.map +1 -0
  141. package/dist/entities/item/itemFlagStatus.js +44 -0
  142. package/dist/entities/item/itemFunding.d.ts.map +1 -1
  143. package/dist/entities/item/itemFunding.js +3 -2
  144. package/dist/entities/item/itemImage.d.ts.map +1 -1
  145. package/dist/entities/item/itemImage.js +2 -1
  146. package/dist/entities/item/itemLicense.d.ts.map +1 -1
  147. package/dist/entities/item/itemLicense.js +4 -3
  148. package/dist/entities/item/itemLocation.d.ts.map +1 -1
  149. package/dist/entities/item/itemLocation.js +5 -4
  150. package/dist/entities/item/itemPerson.d.ts.map +1 -1
  151. package/dist/entities/item/itemPerson.js +6 -5
  152. package/dist/entities/item/itemSeason.d.ts.map +1 -1
  153. package/dist/entities/item/itemSeason.js +3 -2
  154. package/dist/entities/item/itemSeasonEpisode.d.ts.map +1 -1
  155. package/dist/entities/item/itemSeasonEpisode.js +3 -2
  156. package/dist/entities/item/itemSocialInteract.d.ts.map +1 -1
  157. package/dist/entities/item/itemSocialInteract.js +5 -4
  158. package/dist/entities/item/itemSoundbite.d.ts.map +1 -1
  159. package/dist/entities/item/itemSoundbite.js +2 -1
  160. package/dist/entities/item/itemTranscript.d.ts.map +1 -1
  161. package/dist/entities/item/itemTranscript.js +5 -4
  162. package/dist/entities/item/itemTxt.d.ts.map +1 -1
  163. package/dist/entities/item/itemTxt.js +3 -2
  164. package/dist/entities/item/itemValue.d.ts +4 -0
  165. package/dist/entities/item/itemValue.d.ts.map +1 -1
  166. package/dist/entities/item/itemValue.js +13 -2
  167. package/dist/entities/item/itemValueRecipient.d.ts.map +1 -1
  168. package/dist/entities/item/itemValueRecipient.js +6 -5
  169. package/dist/entities/item/itemValueTimeSplit.d.ts +4 -0
  170. package/dist/entities/item/itemValueTimeSplit.d.ts.map +1 -1
  171. package/dist/entities/item/itemValueTimeSplit.js +10 -0
  172. package/dist/entities/item/itemValueTimeSplitRecipient.d.ts.map +1 -1
  173. package/dist/entities/item/itemValueTimeSplitRecipient.js +6 -5
  174. package/dist/entities/item/itemValueTimeSplitRemoteItem.d.ts.map +1 -1
  175. package/dist/entities/item/itemValueTimeSplitRemoteItem.js +5 -4
  176. package/dist/entities/medium.d.ts +1 -22
  177. package/dist/entities/medium.d.ts.map +1 -1
  178. package/dist/entities/medium.js +3 -50
  179. package/dist/entities/membershipClaimToken.d.ts +3 -3
  180. package/dist/entities/membershipClaimToken.d.ts.map +1 -1
  181. package/dist/entities/membershipClaimToken.js +3 -2
  182. package/dist/entities/playlist/playlist.d.ts +3 -5
  183. package/dist/entities/playlist/playlist.d.ts.map +1 -1
  184. package/dist/entities/playlist/playlist.js +7 -9
  185. package/dist/entities/playlist/playlistResource.d.ts +21 -0
  186. package/dist/entities/playlist/playlistResource.d.ts.map +1 -0
  187. package/dist/entities/playlist/playlistResource.js +82 -0
  188. package/dist/entities/queue/queue.d.ts +4 -2
  189. package/dist/entities/queue/queue.d.ts.map +1 -1
  190. package/dist/entities/queue/queue.js +16 -1
  191. package/dist/entities/queue/queueResource.d.ts +24 -0
  192. package/dist/entities/queue/queueResource.d.ts.map +1 -0
  193. package/dist/entities/queue/queueResource.js +93 -0
  194. package/dist/entities/stats/statsAggregatedAccount.d.ts +24 -0
  195. package/dist/entities/stats/statsAggregatedAccount.d.ts.map +1 -0
  196. package/dist/entities/stats/statsAggregatedAccount.js +101 -0
  197. package/dist/entities/stats/statsAggregatedChannel.d.ts +24 -0
  198. package/dist/entities/stats/statsAggregatedChannel.d.ts.map +1 -0
  199. package/dist/entities/stats/statsAggregatedChannel.js +101 -0
  200. package/dist/entities/stats/statsAggregatedClip.d.ts +24 -0
  201. package/dist/entities/stats/statsAggregatedClip.d.ts.map +1 -0
  202. package/dist/entities/stats/statsAggregatedClip.js +101 -0
  203. package/dist/entities/stats/statsAggregatedItem.d.ts +24 -0
  204. package/dist/entities/stats/statsAggregatedItem.d.ts.map +1 -0
  205. package/dist/entities/stats/statsAggregatedItem.js +101 -0
  206. package/dist/entities/stats/statsAggregatedPlaylist.d.ts +24 -0
  207. package/dist/entities/stats/statsAggregatedPlaylist.d.ts.map +1 -0
  208. package/dist/entities/stats/statsAggregatedPlaylist.js +101 -0
  209. package/dist/entities/stats/statsTrackAccountGuid.d.ts +8 -0
  210. package/dist/entities/stats/statsTrackAccountGuid.d.ts.map +1 -0
  211. package/dist/entities/{playlist/playlistResourceBase.js → stats/statsTrackAccountGuid.js} +19 -16
  212. package/dist/entities/stats/statsTrackEventAccount.d.ts +10 -0
  213. package/dist/entities/stats/statsTrackEventAccount.d.ts.map +1 -0
  214. package/dist/entities/stats/statsTrackEventAccount.js +43 -0
  215. package/dist/entities/stats/statsTrackEventChannel.d.ts +10 -0
  216. package/dist/entities/stats/statsTrackEventChannel.d.ts.map +1 -0
  217. package/dist/entities/stats/statsTrackEventChannel.js +43 -0
  218. package/dist/entities/stats/statsTrackEventClip.d.ts +10 -0
  219. package/dist/entities/stats/statsTrackEventClip.d.ts.map +1 -0
  220. package/dist/entities/stats/statsTrackEventClip.js +43 -0
  221. package/dist/entities/stats/statsTrackEventItem.d.ts +10 -0
  222. package/dist/entities/stats/statsTrackEventItem.d.ts.map +1 -0
  223. package/dist/entities/stats/statsTrackEventItem.js +43 -0
  224. package/dist/entities/stats/statsTrackEventPlaylist.d.ts +10 -0
  225. package/dist/entities/stats/statsTrackEventPlaylist.d.ts.map +1 -0
  226. package/dist/entities/stats/statsTrackEventPlaylist.js +43 -0
  227. package/dist/index.d.ts +39 -13
  228. package/dist/index.d.ts.map +1 -1
  229. package/dist/index.js +39 -13
  230. package/dist/services/account/account.d.ts +28 -0
  231. package/dist/services/account/account.d.ts.map +1 -0
  232. package/dist/services/account/account.js +159 -0
  233. package/dist/services/account/accountCredentials.d.ts +14 -0
  234. package/dist/services/account/accountCredentials.d.ts.map +1 -0
  235. package/dist/services/account/accountCredentials.js +33 -0
  236. package/dist/services/account/accountEmailChangeVerification.d.ts +17 -0
  237. package/dist/services/account/accountEmailChangeVerification.d.ts.map +1 -0
  238. package/dist/services/account/accountEmailChangeVerification.js +50 -0
  239. package/dist/services/account/accountFCMDevice.d.ts +12 -0
  240. package/dist/services/account/accountFCMDevice.d.ts.map +1 -0
  241. package/dist/services/account/accountFCMDevice.js +70 -0
  242. package/dist/services/account/accountFollowingAccount.d.ts +15 -0
  243. package/dist/services/account/accountFollowingAccount.d.ts.map +1 -0
  244. package/dist/services/account/accountFollowingAccount.js +80 -0
  245. package/dist/services/account/accountFollowingAddByRSSChannel.d.ts +16 -0
  246. package/dist/services/account/accountFollowingAddByRSSChannel.d.ts.map +1 -0
  247. package/dist/services/account/accountFollowingAddByRSSChannel.js +49 -0
  248. package/dist/services/account/accountFollowingChannel.d.ts +12 -0
  249. package/dist/services/account/accountFollowingChannel.d.ts.map +1 -0
  250. package/dist/services/account/accountFollowingChannel.js +60 -0
  251. package/dist/services/account/accountFollowingPlaylist.d.ts +13 -0
  252. package/dist/services/account/accountFollowingPlaylist.d.ts.map +1 -0
  253. package/dist/services/account/accountFollowingPlaylist.js +74 -0
  254. package/dist/services/account/accountMembership.d.ts +6 -0
  255. package/dist/services/account/accountMembership.d.ts.map +1 -0
  256. package/dist/services/account/accountMembership.js +11 -0
  257. package/dist/services/account/accountMembershipStatus.d.ts +14 -0
  258. package/dist/services/account/accountMembershipStatus.d.ts.map +1 -0
  259. package/dist/services/account/accountMembershipStatus.js +38 -0
  260. package/dist/services/account/accountNotificationChannel.d.ts +14 -0
  261. package/dist/services/account/accountNotificationChannel.d.ts.map +1 -0
  262. package/dist/services/account/accountNotificationChannel.js +82 -0
  263. package/dist/services/account/accountPayPalOrder.d.ts +12 -0
  264. package/dist/services/account/accountPayPalOrder.d.ts.map +1 -0
  265. package/dist/services/account/accountPayPalOrder.js +78 -0
  266. package/dist/services/account/accountProfile.d.ts +13 -0
  267. package/dist/services/account/accountProfile.d.ts.map +1 -0
  268. package/dist/services/account/accountProfile.js +32 -0
  269. package/dist/services/account/accountResetPassword.d.ts +16 -0
  270. package/dist/services/account/accountResetPassword.d.ts.map +1 -0
  271. package/dist/services/account/accountResetPassword.js +49 -0
  272. package/dist/services/account/accountVerification.d.ts +16 -0
  273. package/dist/services/account/accountVerification.d.ts.map +1 -0
  274. package/dist/services/account/accountVerification.js +49 -0
  275. package/dist/services/archiver.d.ts +17 -0
  276. package/dist/services/archiver.d.ts.map +1 -0
  277. package/dist/services/archiver.js +131 -0
  278. package/dist/services/base/baseGetOnlyService.d.ts +14 -0
  279. package/dist/services/base/baseGetOnlyService.d.ts.map +1 -0
  280. package/dist/services/base/baseGetOnlyService.js +30 -0
  281. package/dist/services/base/baseManyService.d.ts +5 -2
  282. package/dist/services/base/baseManyService.d.ts.map +1 -1
  283. package/dist/services/base/baseManyService.js +21 -9
  284. package/dist/services/base/baseOneService.d.ts +2 -1
  285. package/dist/services/base/baseOneService.d.ts.map +1 -1
  286. package/dist/services/base/baseOneService.js +7 -6
  287. package/dist/services/base/baseRemoteItemsService.js +4 -4
  288. package/dist/services/category.d.ts +7 -0
  289. package/dist/services/category.d.ts.map +1 -0
  290. package/dist/services/category.js +73 -0
  291. package/dist/services/channel/channel.d.ts +14 -9
  292. package/dist/services/channel/channel.d.ts.map +1 -1
  293. package/dist/services/channel/channel.js +161 -10
  294. package/dist/services/channel/channelCategory.d.ts +15 -0
  295. package/dist/services/channel/channelCategory.d.ts.map +1 -0
  296. package/dist/services/channel/channelCategory.js +45 -0
  297. package/dist/services/channel/channelPodroll.d.ts +1 -0
  298. package/dist/services/channel/channelPodroll.d.ts.map +1 -1
  299. package/dist/services/channel/channelPodroll.js +8 -0
  300. package/dist/services/channel/channelPodrollRemoteItem.d.ts +4 -8
  301. package/dist/services/channel/channelPodrollRemoteItem.d.ts.map +1 -1
  302. package/dist/services/channel/channelPodrollRemoteItem.js +8 -0
  303. package/dist/services/channel/channelPublisher.d.ts +4 -1
  304. package/dist/services/channel/channelPublisher.d.ts.map +1 -1
  305. package/dist/services/channel/channelPublisher.js +18 -2
  306. package/dist/services/channel/channelPublisherRemoteItem.d.ts +6 -9
  307. package/dist/services/channel/channelPublisherRemoteItem.d.ts.map +1 -1
  308. package/dist/services/channel/channelPublisherRemoteItem.js +10 -2
  309. package/dist/services/channel/channelRemoteItem.d.ts +4 -8
  310. package/dist/services/channel/channelRemoteItem.d.ts.map +1 -1
  311. package/dist/services/channel/channelRemoteItem.js +8 -0
  312. package/dist/services/channel/channelSeason.js +1 -1
  313. package/dist/services/channel/channelTrailer.d.ts +1 -1
  314. package/dist/services/channel/channelTrailer.d.ts.map +1 -1
  315. package/dist/services/clip.d.ts +25 -0
  316. package/dist/services/clip.d.ts.map +1 -0
  317. package/dist/services/clip.js +109 -0
  318. package/dist/services/feed/feed.d.ts +5 -2
  319. package/dist/services/feed/feed.d.ts.map +1 -1
  320. package/dist/services/feed/feed.js +47 -15
  321. package/dist/services/feed/feedFlagStatus.d.ts +4 -2
  322. package/dist/services/feed/feedFlagStatus.d.ts.map +1 -1
  323. package/dist/services/feed/feedFlagStatus.js +18 -3
  324. package/dist/services/item/item.d.ts +21 -10
  325. package/dist/services/item/item.d.ts.map +1 -1
  326. package/dist/services/item/item.js +275 -18
  327. package/dist/services/item/itemChapter.d.ts +3 -2
  328. package/dist/services/item/itemChapter.d.ts.map +1 -1
  329. package/dist/services/item/itemChapter.js +9 -3
  330. package/dist/services/item/itemFlagStatus.d.ts +6 -0
  331. package/dist/services/item/itemFlagStatus.d.ts.map +1 -0
  332. package/dist/services/item/itemFlagStatus.js +27 -0
  333. package/dist/services/item/itemSoundbite.d.ts +2 -2
  334. package/dist/services/item/itemSoundbite.d.ts.map +1 -1
  335. package/dist/services/item/itemSoundbite.js +3 -2
  336. package/dist/services/item/itemValueTimeSplitRemoteItem.d.ts +2 -7
  337. package/dist/services/item/itemValueTimeSplitRemoteItem.d.ts.map +1 -1
  338. package/dist/services/liveItem/liveItem.d.ts +4 -1
  339. package/dist/services/liveItem/liveItem.d.ts.map +1 -1
  340. package/dist/services/liveItem/liveItem.js +6 -1
  341. package/dist/services/medium.d.ts +2 -2
  342. package/dist/services/medium.d.ts.map +1 -1
  343. package/dist/services/medium.js +3 -3
  344. package/dist/services/membershipClaimToken.d.ts +17 -0
  345. package/dist/services/membershipClaimToken.d.ts.map +1 -0
  346. package/dist/services/membershipClaimToken.js +71 -0
  347. package/dist/services/playlist/playlist.d.ts +22 -0
  348. package/dist/services/playlist/playlist.d.ts.map +1 -0
  349. package/dist/services/playlist/playlist.js +74 -0
  350. package/dist/services/playlist/playlistResource.d.ts +51 -0
  351. package/dist/services/playlist/playlistResource.d.ts.map +1 -0
  352. package/dist/services/playlist/playlistResource.js +300 -0
  353. package/dist/services/queue/queue.d.ts +16 -0
  354. package/dist/services/queue/queue.d.ts.map +1 -0
  355. package/dist/services/queue/queue.js +57 -0
  356. package/dist/services/queue/queueResource.d.ts +65 -0
  357. package/dist/services/queue/queueResource.d.ts.map +1 -0
  358. package/dist/services/queue/queueResource.js +426 -0
  359. package/dist/services/stats/baseStatsAggregated.d.ts +35 -0
  360. package/dist/services/stats/baseStatsAggregated.d.ts.map +1 -0
  361. package/dist/services/stats/baseStatsAggregated.js +100 -0
  362. package/dist/services/stats/baseStatsTrackEvent.d.ts +18 -0
  363. package/dist/services/stats/baseStatsTrackEvent.d.ts.map +1 -0
  364. package/dist/services/stats/baseStatsTrackEvent.js +97 -0
  365. package/dist/services/stats/statsAggregatedAccount.d.ts +10 -0
  366. package/dist/services/stats/statsAggregatedAccount.d.ts.map +1 -0
  367. package/dist/services/stats/statsAggregatedAccount.js +36 -0
  368. package/dist/services/stats/statsAggregatedChannel.d.ts +10 -0
  369. package/dist/services/stats/statsAggregatedChannel.d.ts.map +1 -0
  370. package/dist/services/stats/statsAggregatedChannel.js +36 -0
  371. package/dist/services/stats/statsAggregatedClip.d.ts +10 -0
  372. package/dist/services/stats/statsAggregatedClip.d.ts.map +1 -0
  373. package/dist/services/stats/statsAggregatedClip.js +36 -0
  374. package/dist/services/stats/statsAggregatedItem.d.ts +10 -0
  375. package/dist/services/stats/statsAggregatedItem.d.ts.map +1 -0
  376. package/dist/services/stats/statsAggregatedItem.js +36 -0
  377. package/dist/services/stats/statsAggregatedPlaylist.d.ts +10 -0
  378. package/dist/services/stats/statsAggregatedPlaylist.d.ts.map +1 -0
  379. package/dist/services/stats/statsAggregatedPlaylist.js +36 -0
  380. package/dist/services/stats/statsTrackAccountGuid.d.ts +11 -0
  381. package/dist/services/stats/statsTrackAccountGuid.d.ts.map +1 -0
  382. package/dist/services/stats/statsTrackAccountGuid.js +56 -0
  383. package/dist/services/stats/statsTrackEventAccount.d.ts +13 -0
  384. package/dist/services/stats/statsTrackEventAccount.d.ts.map +1 -0
  385. package/dist/services/stats/statsTrackEventAccount.js +31 -0
  386. package/dist/services/stats/statsTrackEventChannel.d.ts +13 -0
  387. package/dist/services/stats/statsTrackEventChannel.d.ts.map +1 -0
  388. package/dist/services/stats/statsTrackEventChannel.js +31 -0
  389. package/dist/services/stats/statsTrackEventClip.d.ts +13 -0
  390. package/dist/services/stats/statsTrackEventClip.d.ts.map +1 -0
  391. package/dist/services/stats/statsTrackEventClip.js +31 -0
  392. package/dist/services/stats/statsTrackEventItem.d.ts +13 -0
  393. package/dist/services/stats/statsTrackEventItem.d.ts.map +1 -0
  394. package/dist/services/stats/statsTrackEventItem.js +31 -0
  395. package/dist/services/stats/statsTrackEventPlaylist.d.ts +13 -0
  396. package/dist/services/stats/statsTrackEventPlaylist.d.ts.map +1 -0
  397. package/dist/services/stats/statsTrackEventPlaylist.js +31 -0
  398. package/package.json +5 -5
  399. package/dist/entities/account/accountNotification.d.ts.map +0 -1
  400. package/dist/entities/playlist/playlistResourceBase.d.ts +0 -7
  401. package/dist/entities/playlist/playlistResourceBase.d.ts.map +0 -1
  402. package/dist/entities/playlist/playlistResourceClip.d.ts +0 -6
  403. package/dist/entities/playlist/playlistResourceClip.d.ts.map +0 -1
  404. package/dist/entities/playlist/playlistResourceClip.js +0 -26
  405. package/dist/entities/playlist/playlistResourceItem.d.ts +0 -6
  406. package/dist/entities/playlist/playlistResourceItem.d.ts.map +0 -1
  407. package/dist/entities/playlist/playlistResourceItem.js +0 -26
  408. package/dist/entities/playlist/playlistResourceItemAddByRSS.d.ts +0 -5
  409. package/dist/entities/playlist/playlistResourceItemAddByRSS.d.ts.map +0 -1
  410. package/dist/entities/playlist/playlistResourceItemAddByRSS.js +0 -24
  411. package/dist/entities/playlist/playlistResourceItemChapter.d.ts +0 -6
  412. package/dist/entities/playlist/playlistResourceItemChapter.d.ts.map +0 -1
  413. package/dist/entities/playlist/playlistResourceItemChapter.js +0 -26
  414. package/dist/entities/playlist/playlistResourceItemSoundbite.d.ts +0 -6
  415. package/dist/entities/playlist/playlistResourceItemSoundbite.d.ts.map +0 -1
  416. package/dist/entities/playlist/playlistResourceItemSoundbite.js +0 -26
  417. package/dist/entities/queue/queueResourceBase.d.ts +0 -10
  418. package/dist/entities/queue/queueResourceBase.d.ts.map +0 -1
  419. package/dist/entities/queue/queueResourceBase.js +0 -45
  420. package/dist/entities/queue/queueResourceClip.d.ts +0 -6
  421. package/dist/entities/queue/queueResourceClip.d.ts.map +0 -1
  422. package/dist/entities/queue/queueResourceClip.js +0 -27
  423. package/dist/entities/queue/queueResourceItem.d.ts +0 -6
  424. package/dist/entities/queue/queueResourceItem.d.ts.map +0 -1
  425. package/dist/entities/queue/queueResourceItem.js +0 -27
  426. package/dist/entities/queue/queueResourceItemAddByRSS.d.ts +0 -5
  427. package/dist/entities/queue/queueResourceItemAddByRSS.d.ts.map +0 -1
  428. package/dist/entities/queue/queueResourceItemAddByRSS.js +0 -25
  429. package/dist/entities/queue/queueResourceItemChapter.d.ts +0 -6
  430. package/dist/entities/queue/queueResourceItemChapter.d.ts.map +0 -1
  431. package/dist/entities/queue/queueResourceItemChapter.js +0 -27
  432. package/dist/entities/queue/queueResourceItemSoundbite.d.ts +0 -6
  433. package/dist/entities/queue/queueResourceItemSoundbite.d.ts.map +0 -1
  434. package/dist/entities/queue/queueResourceItemSoundbite.js +0 -27
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountFollowingPlaylist.d.ts","sourceRoot":"","sources":["../../../src/services/account/accountFollowingPlaylist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAO,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAKrE,qBAAa,+BAAgC,SAAQ,eAAe,CAAC,wBAAwB,EAAE,SAAS,CAAC;IACvG,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;gBAE7B,0BAA0B,CAAC,EAAE,aAAa;IAMhD,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC;IASxI,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAoBvI,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAoB/F,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAapF"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AccountFollowingPlaylistService = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const accountFollowingPlaylist_1 = require("@orm/entities/account/accountFollowingPlaylist");
15
+ const baseManyService_1 = require("@orm/services/base/baseManyService");
16
+ const account_1 = require("@orm/services/account/account");
17
+ const playlist_1 = require("../playlist/playlist");
18
+ const podverse_helpers_1 = require("podverse-helpers");
19
+ class AccountFollowingPlaylistService extends baseManyService_1.BaseManyService {
20
+ constructor(transactionalEntityManager) {
21
+ super(accountFollowingPlaylist_1.AccountFollowingPlaylist, 'account', transactionalEntityManager);
22
+ this.accountService = new account_1.AccountService();
23
+ this.playlistService = new playlist_1.PlaylistService();
24
+ }
25
+ getFollowedPlaylistsPrivate(account_id, config) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ const account = yield this.accountService.get(account_id);
28
+ if (!account) {
29
+ throw new Error("Account not found.");
30
+ }
31
+ return this._getAll(account, config);
32
+ });
33
+ }
34
+ getFollowedPlaylistsPublic(account_id, config) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ const account = yield this.accountService.get(account_id);
37
+ if (!account) {
38
+ throw new Error("Account not found.");
39
+ }
40
+ const publicConfig = Object.assign(Object.assign({}, config), { where: Object.assign(Object.assign({}, config === null || config === void 0 ? void 0 : config.where), { playlist: {
41
+ sharable_status: (0, typeorm_1.Not)(podverse_helpers_1.SharableStatusEnum.Private)
42
+ } }), relations: ['playlist'] });
43
+ return this.repositoryRead.find(publicConfig);
44
+ });
45
+ }
46
+ followPlaylist(account_id, playlist_id_text) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const account = yield this.accountService.get(account_id);
49
+ if (!account) {
50
+ throw new Error("Account not found.");
51
+ }
52
+ const playlist = yield this.playlistService.getByIdText(playlist_id_text);
53
+ if (!playlist) {
54
+ throw new Error("Playlist not found.");
55
+ }
56
+ const dto = { playlist_id: playlist.id };
57
+ return this._update(account, ['account_id', 'playlist_id'], dto);
58
+ });
59
+ }
60
+ unfollowPlaylist(account_id, playlist_id_text) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const account = yield this.accountService.get(account_id);
63
+ if (!account) {
64
+ throw new Error("Account not found.");
65
+ }
66
+ const playlist = yield this.playlistService.getByIdText(playlist_id_text);
67
+ if (!playlist) {
68
+ throw new Error("Playlist not found.");
69
+ }
70
+ return this._delete(account, { playlist_id: playlist.id });
71
+ });
72
+ }
73
+ }
74
+ exports.AccountFollowingPlaylistService = AccountFollowingPlaylistService;
@@ -0,0 +1,6 @@
1
+ import { AccountMembership } from '@orm/entities/account/accountMembership';
2
+ import { BaseGetOnlyService } from '../base/baseGetOnlyService';
3
+ export declare class AccountMembershipService extends BaseGetOnlyService<AccountMembership> {
4
+ constructor();
5
+ }
6
+ //# sourceMappingURL=accountMembership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountMembership.d.ts","sourceRoot":"","sources":["../../../src/services/account/accountMembership.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,qBAAa,wBAAyB,SAAQ,kBAAkB,CAAC,iBAAiB,CAAC;;CAIlF"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccountMembershipService = void 0;
4
+ const accountMembership_1 = require("@orm/entities/account/accountMembership");
5
+ const baseGetOnlyService_1 = require("../base/baseGetOnlyService");
6
+ class AccountMembershipService extends baseGetOnlyService_1.BaseGetOnlyService {
7
+ constructor() {
8
+ super(accountMembership_1.AccountMembership);
9
+ }
10
+ }
11
+ exports.AccountMembershipService = AccountMembershipService;
@@ -0,0 +1,14 @@
1
+ import { EntityManager } from 'typeorm';
2
+ import { Account } from '@orm/entities/account/account';
3
+ import { AccountMembershipStatus } from '@orm/entities/account/accountMembershipStatus';
4
+ import { BaseOneService } from '@orm/services/base/baseOneService';
5
+ import { AccountMembershipEnum } from 'podverse-helpers';
6
+ export type AccountMembershipStatusDto = {
7
+ account_membership_id: AccountMembershipEnum;
8
+ membership_expires_at: Date;
9
+ };
10
+ export declare class AccountMembershipStatusService extends BaseOneService<AccountMembershipStatus, 'account'> {
11
+ constructor(transactionalEntityManager?: EntityManager);
12
+ update(account: Account, dto: AccountMembershipStatusDto): Promise<AccountMembershipStatus>;
13
+ }
14
+ //# sourceMappingURL=accountMembershipStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountMembershipStatus.d.ts","sourceRoot":"","sources":["../../../src/services/account/accountMembershipStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,MAAM,0BAA0B,GAAG;IACvC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,qBAAqB,EAAE,IAAI,CAAA;CAC5B,CAAA;AAED,qBAAa,8BAA+B,SAAQ,cAAc,CAAC,uBAAuB,EAAE,SAAS,CAAC;gBACxF,0BAA0B,CAAC,EAAE,aAAa;IAIhD,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAclG"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AccountMembershipStatusService = void 0;
13
+ const accountMembershipStatus_1 = require("@orm/entities/account/accountMembershipStatus");
14
+ const baseOneService_1 = require("@orm/services/base/baseOneService");
15
+ const accountMembership_1 = require("./accountMembership");
16
+ class AccountMembershipStatusService extends baseOneService_1.BaseOneService {
17
+ constructor(transactionalEntityManager) {
18
+ super(accountMembershipStatus_1.AccountMembershipStatus, 'account', transactionalEntityManager);
19
+ }
20
+ update(account, dto) {
21
+ const _super = Object.create(null, {
22
+ _update: { get: () => super._update }
23
+ });
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const accountMembership = new accountMembership_1.AccountMembershipService();
26
+ const accountMembershipStatus = yield accountMembership.get(dto.account_membership_id);
27
+ if (!accountMembershipStatus) {
28
+ throw new Error('AccountMembershipStatus not found');
29
+ }
30
+ const finalDto = {
31
+ account_membership: accountMembershipStatus,
32
+ membership_expires_at: dto.membership_expires_at
33
+ };
34
+ return _super._update.call(this, account, finalDto);
35
+ });
36
+ }
37
+ }
38
+ exports.AccountMembershipStatusService = AccountMembershipStatusService;
@@ -0,0 +1,14 @@
1
+ import { EntityManager, FindManyOptions, FindOneOptions } from 'typeorm';
2
+ import { AccountNotificationChannel } from '@orm/entities/account/accountNotificationChannel';
3
+ import { BaseManyService } from '@orm/services/base/baseManyService';
4
+ export declare class AccountNotificationChannelService extends BaseManyService<AccountNotificationChannel, 'account'> {
5
+ private accountService;
6
+ private channelService;
7
+ constructor(transactionalEntityManager?: EntityManager);
8
+ getByAccountIdAndChannelIdText(account_id: number, channel_id_text: string, config?: FindOneOptions<AccountNotificationChannel>): Promise<AccountNotificationChannel | null>;
9
+ getAllByAccountId(account_id: number, config?: FindManyOptions<AccountNotificationChannel>): Promise<AccountNotificationChannel[]>;
10
+ getAllByChannelIdText(channel_id_text: string, config?: FindManyOptions<AccountNotificationChannel>): Promise<AccountNotificationChannel[]>;
11
+ create(account_id: number, channel_id_text: string): Promise<AccountNotificationChannel>;
12
+ delete(account_id: number, channel_id_text: string): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=accountNotificationChannel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountNotificationChannel.d.ts","sourceRoot":"","sources":["../../../src/services/account/accountNotificationChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAIrE,qBAAa,iCAAkC,SAAQ,eAAe,CAAC,0BAA0B,EAAE,SAAS,CAAC;IAC3G,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;gBAE3B,0BAA0B,CAAC,EAAE,aAAa;IAMhD,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,0BAA0B,CAAC,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAc5K,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,0BAA0B,CAAC,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC;IASlI,qBAAqB,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,0BAA0B,CAAC,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAS3I,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAexF,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAazE"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AccountNotificationChannelService = void 0;
13
+ const accountNotificationChannel_1 = require("@orm/entities/account/accountNotificationChannel");
14
+ const baseManyService_1 = require("@orm/services/base/baseManyService");
15
+ const account_1 = require("@orm/services/account/account");
16
+ const channel_1 = require("@orm/services/channel/channel");
17
+ class AccountNotificationChannelService extends baseManyService_1.BaseManyService {
18
+ constructor(transactionalEntityManager) {
19
+ super(accountNotificationChannel_1.AccountNotificationChannel, 'account', transactionalEntityManager);
20
+ this.accountService = new account_1.AccountService();
21
+ this.channelService = new channel_1.ChannelService();
22
+ }
23
+ getByAccountIdAndChannelIdText(account_id, channel_id_text, config) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const account = yield this.accountService.get(account_id);
26
+ if (!account) {
27
+ throw new Error("Account not found.");
28
+ }
29
+ const channel = yield this.channelService.getByIdText(channel_id_text);
30
+ if (!channel) {
31
+ throw new Error("Channel not found.");
32
+ }
33
+ return this._get(account, { channel_id: channel.id }, config);
34
+ });
35
+ }
36
+ getAllByAccountId(account_id, config) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ const account = yield this.accountService.get(account_id);
39
+ if (!account) {
40
+ throw new Error("Account not found.");
41
+ }
42
+ return this._getAll(account, config);
43
+ });
44
+ }
45
+ getAllByChannelIdText(channel_id_text, config) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const channel = yield this.channelService.getByIdText(channel_id_text);
48
+ if (!channel) {
49
+ throw new Error("Channel not found.");
50
+ }
51
+ return this.repositoryRead.find(Object.assign({ where: { channel_id: channel.id } }, config));
52
+ });
53
+ }
54
+ create(account_id, channel_id_text) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const account = yield this.accountService.get(account_id);
57
+ if (!account) {
58
+ throw new Error("Account not found.");
59
+ }
60
+ const channel = yield this.channelService.getByIdText(channel_id_text);
61
+ if (!channel) {
62
+ throw new Error("Channel not found.");
63
+ }
64
+ const dto = { account_id, channel_id: channel.id };
65
+ return this._update(account, ['account_id', 'channel_id'], dto);
66
+ });
67
+ }
68
+ delete(account_id, channel_id_text) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ const account = yield this.accountService.get(account_id);
71
+ if (!account) {
72
+ throw new Error("Account not found.");
73
+ }
74
+ const channel = yield this.channelService.getByIdText(channel_id_text);
75
+ if (!channel) {
76
+ throw new Error("Channel not found.");
77
+ }
78
+ return this._delete(account, { channel_id: channel.id });
79
+ });
80
+ }
81
+ }
82
+ exports.AccountNotificationChannelService = AccountNotificationChannelService;
@@ -0,0 +1,12 @@
1
+ import { FindOneOptions } from 'typeorm';
2
+ import { AccountPayPalOrder } from '@orm/entities/account/accountPayPalOrder';
3
+ import { BaseManyService } from '@orm/services/base/baseManyService';
4
+ export declare class AccountPayPalOrderService extends BaseManyService<AccountPayPalOrder, 'account'> {
5
+ private accountService;
6
+ private accountMembershipStatusService;
7
+ constructor();
8
+ get(account_id: number, payment_id: string, config?: FindOneOptions<AccountPayPalOrder>): Promise<AccountPayPalOrder | null>;
9
+ create(account_id: number, payment_id: string, state: string): Promise<AccountPayPalOrder>;
10
+ completePayPalOrder(payment_id: string, state: string, isV2: boolean): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=accountPayPalOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountPayPalOrder.d.ts","sourceRoot":"","sources":["../../../src/services/account/accountPayPalOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAKrE,qBAAa,yBAA0B,SAAQ,eAAe,CAAC,kBAAkB,EAAE,SAAS,CAAC;IAC3F,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,8BAA8B,CAAiC;;IAQjE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAS5H,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAc1F,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAmC3F"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AccountPayPalOrderService = void 0;
13
+ const accountPayPalOrder_1 = require("@orm/entities/account/accountPayPalOrder");
14
+ const baseManyService_1 = require("@orm/services/base/baseManyService");
15
+ const account_1 = require("@orm/services/account/account");
16
+ const accountMembershipStatus_1 = require("@orm/services/account/accountMembershipStatus");
17
+ const podverse_helpers_1 = require("podverse-helpers");
18
+ class AccountPayPalOrderService extends baseManyService_1.BaseManyService {
19
+ constructor() {
20
+ super(accountPayPalOrder_1.AccountPayPalOrder, 'account');
21
+ this.accountService = new account_1.AccountService();
22
+ this.accountMembershipStatusService = new accountMembershipStatus_1.AccountMembershipStatusService();
23
+ }
24
+ get(account_id, payment_id, config) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const account = yield this.accountService.get(account_id);
27
+ if (!account) {
28
+ throw new Error("Account not found.");
29
+ }
30
+ return this._get(account, { payment_id }, config);
31
+ });
32
+ }
33
+ create(account_id, payment_id, state) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ const account = yield this.accountService.get(account_id);
36
+ if (!account) {
37
+ throw new Error("Account not found.");
38
+ }
39
+ const existingAccountPayPalOrder = yield this.get(account_id, payment_id);
40
+ if (existingAccountPayPalOrder) {
41
+ throw new Error("PayPal Order already exists.");
42
+ }
43
+ return this._update(account, ['payment_id'], { payment_id, state });
44
+ });
45
+ }
46
+ completePayPalOrder(payment_id, state, isV2) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const accountPayPalOrder = yield this.repositoryRead.findOne({
49
+ where: { payment_id },
50
+ relations: ['account', 'account_membership_status']
51
+ });
52
+ if (!accountPayPalOrder) {
53
+ throw new Error("PayPal Order not found.");
54
+ }
55
+ if (accountPayPalOrder.state === 'approved') {
56
+ throw new Error("PayPal Order has already been approved.");
57
+ }
58
+ yield this._update(accountPayPalOrder.account, ['payment_id'], { payment_id, state });
59
+ const accountMembershipStatus = accountPayPalOrder.account.account_membership_status;
60
+ const currentDate = new Date();
61
+ const newExpirationDate = (accountMembershipStatus === null || accountMembershipStatus === void 0 ? void 0 : accountMembershipStatus.membership_expires_at) && accountMembershipStatus.membership_expires_at > currentDate
62
+ ? new Date(accountMembershipStatus.membership_expires_at.setFullYear(accountMembershipStatus.membership_expires_at.getFullYear() + 1))
63
+ : new Date(currentDate.setFullYear(currentDate.getFullYear() + 1));
64
+ const successState = isV2 ? 'completed' : 'approved';
65
+ if (state === successState) {
66
+ yield this.accountMembershipStatusService.update(accountPayPalOrder.account, {
67
+ account_membership_id: podverse_helpers_1.AccountMembershipEnum.Basic,
68
+ membership_expires_at: newExpirationDate
69
+ });
70
+ }
71
+ else {
72
+ throw new Error("PayPal Order not approved.");
73
+ }
74
+ return;
75
+ });
76
+ }
77
+ }
78
+ exports.AccountPayPalOrderService = AccountPayPalOrderService;
@@ -0,0 +1,13 @@
1
+ import { EntityManager } from 'typeorm';
2
+ import { Account } from '@orm/entities/account/account';
3
+ import { AccountProfile } from '@orm/entities/account/accountProfile';
4
+ import { BaseOneService } from '@orm/services/base/baseOneService';
5
+ export type AccountProfileDto = {
6
+ display_name?: string | null;
7
+ bio?: string | null;
8
+ };
9
+ export declare class AccountProfileService extends BaseOneService<AccountProfile, 'account'> {
10
+ constructor(transactionalEntityManager?: EntityManager);
11
+ update(account: Account, dto: AccountProfileDto): Promise<AccountProfile>;
12
+ }
13
+ //# sourceMappingURL=accountProfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountProfile.d.ts","sourceRoot":"","sources":["../../../src/services/account/accountProfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC;gBACtE,0BAA0B,CAAC,EAAE,aAAa;IAIhD,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;CAQhF"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AccountProfileService = void 0;
13
+ const accountProfile_1 = require("@orm/entities/account/accountProfile");
14
+ const baseOneService_1 = require("@orm/services/base/baseOneService");
15
+ class AccountProfileService extends baseOneService_1.BaseOneService {
16
+ constructor(transactionalEntityManager) {
17
+ super(accountProfile_1.AccountProfile, 'account', transactionalEntityManager);
18
+ }
19
+ update(account, dto) {
20
+ const _super = Object.create(null, {
21
+ _update: { get: () => super._update }
22
+ });
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ const finalDto = {
25
+ display_name: dto.display_name,
26
+ bio: dto.bio
27
+ };
28
+ return _super._update.call(this, account, finalDto);
29
+ });
30
+ }
31
+ }
32
+ exports.AccountProfileService = AccountProfileService;
@@ -0,0 +1,16 @@
1
+ import { EntityManager } from 'typeorm';
2
+ import { Account } from '@orm/entities/account/account';
3
+ import { AccountResetPassword } from '@orm/entities/account/accountResetPassword';
4
+ import { BaseOneService } from '@orm/services/base/baseOneService';
5
+ export type AccountResetPasswordDto = {
6
+ reset_token: string;
7
+ reset_token_expires_at: Date;
8
+ };
9
+ export declare class AccountResetPasswordService extends BaseOneService<AccountResetPassword, 'account'> {
10
+ constructor(transactionalEntityManager?: EntityManager);
11
+ get(account: Account): Promise<AccountResetPassword | null>;
12
+ getByToken(reset_token: string): Promise<AccountResetPassword | null>;
13
+ update(account: Account, dto: AccountResetPasswordDto): Promise<AccountResetPasswordDto>;
14
+ deleteByAccountId(account_id: number): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=accountResetPassword.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountResetPassword.d.ts","sourceRoot":"","sources":["../../../src/services/account/accountResetPassword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,sBAAsB,EAAE,IAAI,CAAA;CAC7B,CAAA;AAED,qBAAa,2BAA4B,SAAQ,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC;gBAClF,0BAA0B,CAAC,EAAE,aAAa;IAIhD,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAI3D,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAOrE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIxF,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AccountResetPasswordService = void 0;
13
+ const accountResetPassword_1 = require("@orm/entities/account/accountResetPassword");
14
+ const baseOneService_1 = require("@orm/services/base/baseOneService");
15
+ class AccountResetPasswordService extends baseOneService_1.BaseOneService {
16
+ constructor(transactionalEntityManager) {
17
+ super(accountResetPassword_1.AccountResetPassword, 'account', transactionalEntityManager);
18
+ }
19
+ get(account) {
20
+ const _super = Object.create(null, {
21
+ _get: { get: () => super._get }
22
+ });
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return _super._get.call(this, account);
25
+ });
26
+ }
27
+ getByToken(reset_token) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ return this.repositoryRead.findOne({
30
+ where: { reset_token },
31
+ relations: ['account']
32
+ });
33
+ });
34
+ }
35
+ update(account, dto) {
36
+ const _super = Object.create(null, {
37
+ _update: { get: () => super._update }
38
+ });
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ return _super._update.call(this, account, dto);
41
+ });
42
+ }
43
+ deleteByAccountId(account_id) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ yield this.repositoryReadWrite.delete({ account: { id: account_id } });
46
+ });
47
+ }
48
+ }
49
+ exports.AccountResetPasswordService = AccountResetPasswordService;
@@ -0,0 +1,16 @@
1
+ import { EntityManager } from 'typeorm';
2
+ import { Account } from '@orm/entities/account/account';
3
+ import { AccountVerification } from '@orm/entities/account/accountVerification';
4
+ import { BaseOneService } from '@orm/services/base/baseOneService';
5
+ export type AccountVerificationDto = {
6
+ verification_token: string;
7
+ verification_token_expires_at: Date;
8
+ };
9
+ export declare class AccountVerificationService extends BaseOneService<AccountVerification, 'account'> {
10
+ constructor(transactionalEntityManager?: EntityManager);
11
+ get(account: Account): Promise<AccountVerification | null>;
12
+ getByToken(verification_token: string): Promise<AccountVerification | null>;
13
+ update(account: Account, dto: AccountVerificationDto): Promise<AccountVerificationDto>;
14
+ deleteByAccountId(account_id: number): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=accountVerification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountVerification.d.ts","sourceRoot":"","sources":["../../../src/services/account/accountVerification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG;IACnC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,6BAA6B,EAAE,IAAI,CAAA;CACpC,CAAA;AAED,qBAAa,0BAA2B,SAAQ,cAAc,CAAC,mBAAmB,EAAE,SAAS,CAAC;gBAChF,0BAA0B,CAAC,EAAE,aAAa;IAIhD,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAI1D,UAAU,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAO3E,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAItF,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AccountVerificationService = void 0;
13
+ const accountVerification_1 = require("@orm/entities/account/accountVerification");
14
+ const baseOneService_1 = require("@orm/services/base/baseOneService");
15
+ class AccountVerificationService extends baseOneService_1.BaseOneService {
16
+ constructor(transactionalEntityManager) {
17
+ super(accountVerification_1.AccountVerification, 'account', transactionalEntityManager);
18
+ }
19
+ get(account) {
20
+ const _super = Object.create(null, {
21
+ _get: { get: () => super._get }
22
+ });
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return _super._get.call(this, account);
25
+ });
26
+ }
27
+ getByToken(verification_token) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ return this.repositoryRead.findOne({
30
+ where: { verification_token },
31
+ relations: ['account']
32
+ });
33
+ });
34
+ }
35
+ update(account, dto) {
36
+ const _super = Object.create(null, {
37
+ _update: { get: () => super._update }
38
+ });
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ return _super._update.call(this, account, dto);
41
+ });
42
+ }
43
+ deleteByAccountId(account_id) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ yield this.repositoryReadWrite.delete({ account: { id: account_id } });
46
+ });
47
+ }
48
+ }
49
+ exports.AccountVerificationService = AccountVerificationService;
@@ -0,0 +1,17 @@
1
+ import { Feed } from '@orm/entities/feed/feed';
2
+ import { Item } from '@orm/entities/item/item';
3
+ export declare class ArchiverService {
4
+ private itemRepositoryRead;
5
+ private itemRepositoryReadWrite;
6
+ private feedRepositoryRead;
7
+ private feedRepositoryReadWrite;
8
+ private playlistResourceRepository;
9
+ private clipRepository;
10
+ getItemsPendingArchive(): Promise<Item[]>;
11
+ getFeedsPendingArchive(): Promise<Feed[]>;
12
+ private processItems;
13
+ processPendingArchiveFeeds(): Promise<void>;
14
+ processPendingArchiveItems(): Promise<void>;
15
+ archiveAll(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=archiver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/services/archiver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAK/C,qBAAa,eAAe;IAC1B,OAAO,CAAC,kBAAkB,CAAyC;IACnE,OAAO,CAAC,uBAAuB,CAA8C;IAC7E,OAAO,CAAC,kBAAkB,CAAyC;IACnE,OAAO,CAAC,uBAAuB,CAA8C;IAC7E,OAAO,CAAC,0BAA0B,CAAqD;IACvF,OAAO,CAAC,cAAc,CAAyC;IAEzD,sBAAsB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAsBzC,sBAAsB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAWjC,YAAY;IAmBpB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC3C,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}