podverse-orm 5.0.5 → 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 (370) hide show
  1. package/dist/config/index.d.ts +4 -2
  2. package/dist/config/index.d.ts.map +1 -1
  3. package/dist/config/index.js +4 -2
  4. package/dist/db/index.d.ts +5 -1
  5. package/dist/db/index.d.ts.map +1 -1
  6. package/dist/db/index.js +50 -41
  7. package/dist/entities/account/account.d.ts +32 -0
  8. package/dist/entities/account/account.d.ts.map +1 -1
  9. package/dist/entities/account/account.js +80 -0
  10. package/dist/entities/account/accountAdminRoles.js +1 -1
  11. package/dist/entities/account/accountAppStorePurchase.d.ts +2 -2
  12. package/dist/entities/account/accountAppStorePurchase.d.ts.map +1 -1
  13. package/dist/entities/account/accountAppStorePurchase.js +9 -9
  14. package/dist/entities/account/accountCredentials.d.ts +1 -0
  15. package/dist/entities/account/accountCredentials.d.ts.map +1 -1
  16. package/dist/entities/account/accountCredentials.js +5 -1
  17. package/dist/entities/account/accountEmailChangeVerification.d.ts +10 -0
  18. package/dist/entities/account/accountEmailChangeVerification.d.ts.map +1 -0
  19. package/dist/entities/account/accountEmailChangeVerification.js +46 -0
  20. package/dist/entities/account/accountFCMDevice.d.ts +1 -0
  21. package/dist/entities/account/accountFCMDevice.d.ts.map +1 -1
  22. package/dist/entities/account/accountFCMDevice.js +5 -1
  23. package/dist/entities/account/accountFollowingAddByRSSChannel.d.ts +1 -1
  24. package/dist/entities/account/accountFollowingAddByRSSChannel.js +10 -10
  25. package/dist/entities/account/accountGooglePlayPurchase.d.ts +2 -2
  26. package/dist/entities/account/accountGooglePlayPurchase.d.ts.map +1 -1
  27. package/dist/entities/account/accountGooglePlayPurchase.js +9 -9
  28. package/dist/entities/account/accountMembership.d.ts +2 -0
  29. package/dist/entities/account/accountMembership.d.ts.map +1 -1
  30. package/dist/entities/account/accountMembership.js +5 -0
  31. package/dist/entities/account/accountMembershipStatus.js +1 -1
  32. package/dist/entities/account/{accountNotification.d.ts → accountNotificationChannel.d.ts} +2 -2
  33. package/dist/entities/account/accountNotificationChannel.d.ts.map +1 -0
  34. package/dist/entities/account/{accountNotification.js → accountNotificationChannel.js} +9 -9
  35. package/dist/entities/account/accountPayPalOrder.d.ts +1 -1
  36. package/dist/entities/account/accountPayPalOrder.js +9 -9
  37. package/dist/entities/account/accountProfile.js +1 -1
  38. package/dist/entities/account/accountResetPassword.js +1 -1
  39. package/dist/entities/account/accountVerification.js +1 -1
  40. package/dist/entities/category.d.ts +2 -1
  41. package/dist/entities/category.d.ts.map +1 -1
  42. package/dist/entities/category.js +12 -6
  43. package/dist/entities/channel/channel.d.ts +40 -3
  44. package/dist/entities/channel/channel.d.ts.map +1 -1
  45. package/dist/entities/channel/channel.js +95 -4
  46. package/dist/entities/channel/channelAbout.d.ts +3 -2
  47. package/dist/entities/channel/channelAbout.d.ts.map +1 -1
  48. package/dist/entities/channel/channelAbout.js +6 -1
  49. package/dist/entities/channel/channelCategory.d.ts +3 -1
  50. package/dist/entities/channel/channelCategory.d.ts.map +1 -1
  51. package/dist/entities/channel/channelCategory.js +10 -5
  52. package/dist/entities/channel/channelChat.js +1 -1
  53. package/dist/entities/channel/channelDescription.js +1 -1
  54. package/dist/entities/channel/channelLicense.js +1 -1
  55. package/dist/entities/channel/channelLocation.js +1 -1
  56. package/dist/entities/channel/channelPodroll.d.ts +2 -0
  57. package/dist/entities/channel/channelPodroll.d.ts.map +1 -1
  58. package/dist/entities/channel/channelPodroll.js +6 -1
  59. package/dist/entities/channel/channelPublisher.d.ts +2 -0
  60. package/dist/entities/channel/channelPublisher.d.ts.map +1 -1
  61. package/dist/entities/channel/channelPublisher.js +6 -1
  62. package/dist/entities/channel/channelPublisherRemoteItem.js +1 -1
  63. package/dist/entities/channel/channelTrailer.d.ts +1 -1
  64. package/dist/entities/channel/channelTrailer.d.ts.map +1 -1
  65. package/dist/entities/channel/channelTrailer.js +2 -2
  66. package/dist/entities/channel/channelValue.d.ts +2 -0
  67. package/dist/entities/channel/channelValue.d.ts.map +1 -1
  68. package/dist/entities/channel/channelValue.js +5 -0
  69. package/dist/entities/clip.d.ts +2 -2
  70. package/dist/entities/clip.d.ts.map +1 -1
  71. package/dist/entities/clip.js +2 -2
  72. package/dist/entities/feed/feed.d.ts +2 -0
  73. package/dist/entities/feed/feed.d.ts.map +1 -1
  74. package/dist/entities/feed/feed.js +8 -0
  75. package/dist/entities/feed/feedFlagStatus.d.ts +6 -6
  76. package/dist/entities/feed/feedFlagStatus.d.ts.map +1 -1
  77. package/dist/entities/feed/feedFlagStatus.js +8 -14
  78. package/dist/entities/feed/feedLog.d.ts.map +1 -1
  79. package/dist/entities/feed/feedLog.js +2 -1
  80. package/dist/entities/item/item.d.ts +41 -6
  81. package/dist/entities/item/item.d.ts.map +1 -1
  82. package/dist/entities/item/item.js +107 -12
  83. package/dist/entities/item/itemAbout.d.ts +2 -2
  84. package/dist/entities/item/itemAbout.d.ts.map +1 -1
  85. package/dist/entities/item/itemAbout.js +1 -1
  86. package/dist/entities/item/itemChapterLocation.js +1 -1
  87. package/dist/entities/item/itemChaptersFeed.d.ts +2 -0
  88. package/dist/entities/item/itemChaptersFeed.d.ts.map +1 -1
  89. package/dist/entities/item/itemChaptersFeed.js +6 -1
  90. package/dist/entities/item/itemChaptersFeedLog.d.ts.map +1 -1
  91. package/dist/entities/item/itemChaptersFeedLog.js +2 -1
  92. package/dist/entities/item/itemChat.js +1 -1
  93. package/dist/entities/item/itemDescription.js +1 -1
  94. package/dist/entities/item/itemEnclosure.d.ts +4 -0
  95. package/dist/entities/item/itemEnclosure.d.ts.map +1 -1
  96. package/dist/entities/item/itemEnclosure.js +10 -0
  97. package/dist/entities/item/itemEnclosureIntegrity.js +1 -1
  98. package/dist/entities/item/itemFlagStatus.d.ts +13 -0
  99. package/dist/entities/item/itemFlagStatus.d.ts.map +1 -0
  100. package/dist/entities/item/itemFlagStatus.js +44 -0
  101. package/dist/entities/item/itemLicense.js +1 -1
  102. package/dist/entities/item/itemLocation.js +1 -1
  103. package/dist/entities/item/itemSeason.js +1 -1
  104. package/dist/entities/item/itemSeasonEpisode.js +1 -1
  105. package/dist/entities/item/itemValue.d.ts +4 -0
  106. package/dist/entities/item/itemValue.d.ts.map +1 -1
  107. package/dist/entities/item/itemValue.js +10 -0
  108. package/dist/entities/item/itemValueTimeSplit.d.ts +4 -0
  109. package/dist/entities/item/itemValueTimeSplit.d.ts.map +1 -1
  110. package/dist/entities/item/itemValueTimeSplit.js +10 -0
  111. package/dist/entities/item/itemValueTimeSplitRemoteItem.js +1 -1
  112. package/dist/entities/medium.d.ts +1 -22
  113. package/dist/entities/medium.d.ts.map +1 -1
  114. package/dist/entities/medium.js +3 -50
  115. package/dist/entities/membershipClaimToken.d.ts +3 -3
  116. package/dist/entities/membershipClaimToken.d.ts.map +1 -1
  117. package/dist/entities/membershipClaimToken.js +3 -2
  118. package/dist/entities/playlist/playlist.d.ts +3 -5
  119. package/dist/entities/playlist/playlist.d.ts.map +1 -1
  120. package/dist/entities/playlist/playlist.js +4 -7
  121. package/dist/entities/playlist/playlistResource.d.ts +21 -0
  122. package/dist/entities/playlist/playlistResource.d.ts.map +1 -0
  123. package/dist/entities/playlist/playlistResource.js +82 -0
  124. package/dist/entities/queue/queue.d.ts +4 -2
  125. package/dist/entities/queue/queue.d.ts.map +1 -1
  126. package/dist/entities/queue/queue.js +16 -1
  127. package/dist/entities/queue/queueResource.d.ts +24 -0
  128. package/dist/entities/queue/queueResource.d.ts.map +1 -0
  129. package/dist/entities/queue/queueResource.js +93 -0
  130. package/dist/entities/stats/statsAggregatedAccount.d.ts +24 -0
  131. package/dist/entities/stats/statsAggregatedAccount.d.ts.map +1 -0
  132. package/dist/entities/stats/statsAggregatedAccount.js +101 -0
  133. package/dist/entities/stats/statsAggregatedChannel.d.ts +24 -0
  134. package/dist/entities/stats/statsAggregatedChannel.d.ts.map +1 -0
  135. package/dist/entities/stats/statsAggregatedChannel.js +101 -0
  136. package/dist/entities/stats/statsAggregatedClip.d.ts +24 -0
  137. package/dist/entities/stats/statsAggregatedClip.d.ts.map +1 -0
  138. package/dist/entities/stats/statsAggregatedClip.js +101 -0
  139. package/dist/entities/stats/statsAggregatedItem.d.ts +24 -0
  140. package/dist/entities/stats/statsAggregatedItem.d.ts.map +1 -0
  141. package/dist/entities/stats/statsAggregatedItem.js +101 -0
  142. package/dist/entities/stats/statsAggregatedPlaylist.d.ts +24 -0
  143. package/dist/entities/stats/statsAggregatedPlaylist.d.ts.map +1 -0
  144. package/dist/entities/stats/statsAggregatedPlaylist.js +101 -0
  145. package/dist/entities/stats/statsTrackAccountGuid.d.ts +8 -0
  146. package/dist/entities/stats/statsTrackAccountGuid.d.ts.map +1 -0
  147. package/dist/entities/{playlist/playlistResourceBase.js → stats/statsTrackAccountGuid.js} +19 -16
  148. package/dist/entities/stats/statsTrackEventAccount.d.ts +10 -0
  149. package/dist/entities/stats/statsTrackEventAccount.d.ts.map +1 -0
  150. package/dist/entities/stats/statsTrackEventAccount.js +43 -0
  151. package/dist/entities/stats/statsTrackEventChannel.d.ts +10 -0
  152. package/dist/entities/stats/statsTrackEventChannel.d.ts.map +1 -0
  153. package/dist/entities/stats/statsTrackEventChannel.js +43 -0
  154. package/dist/entities/stats/statsTrackEventClip.d.ts +10 -0
  155. package/dist/entities/stats/statsTrackEventClip.d.ts.map +1 -0
  156. package/dist/entities/stats/statsTrackEventClip.js +43 -0
  157. package/dist/entities/stats/statsTrackEventItem.d.ts +10 -0
  158. package/dist/entities/stats/statsTrackEventItem.d.ts.map +1 -0
  159. package/dist/entities/stats/statsTrackEventItem.js +43 -0
  160. package/dist/entities/stats/statsTrackEventPlaylist.d.ts +10 -0
  161. package/dist/entities/stats/statsTrackEventPlaylist.d.ts.map +1 -0
  162. package/dist/entities/stats/statsTrackEventPlaylist.js +43 -0
  163. package/dist/index.d.ts +39 -13
  164. package/dist/index.d.ts.map +1 -1
  165. package/dist/index.js +39 -13
  166. package/dist/services/account/account.d.ts +28 -0
  167. package/dist/services/account/account.d.ts.map +1 -0
  168. package/dist/services/account/account.js +159 -0
  169. package/dist/services/account/accountCredentials.d.ts +14 -0
  170. package/dist/services/account/accountCredentials.d.ts.map +1 -0
  171. package/dist/services/account/accountCredentials.js +33 -0
  172. package/dist/services/account/accountEmailChangeVerification.d.ts +17 -0
  173. package/dist/services/account/accountEmailChangeVerification.d.ts.map +1 -0
  174. package/dist/services/account/accountEmailChangeVerification.js +50 -0
  175. package/dist/services/account/accountFCMDevice.d.ts +12 -0
  176. package/dist/services/account/accountFCMDevice.d.ts.map +1 -0
  177. package/dist/services/account/accountFCMDevice.js +70 -0
  178. package/dist/services/account/accountFollowingAccount.d.ts +15 -0
  179. package/dist/services/account/accountFollowingAccount.d.ts.map +1 -0
  180. package/dist/services/account/accountFollowingAccount.js +80 -0
  181. package/dist/services/account/accountFollowingAddByRSSChannel.d.ts +16 -0
  182. package/dist/services/account/accountFollowingAddByRSSChannel.d.ts.map +1 -0
  183. package/dist/services/account/accountFollowingAddByRSSChannel.js +49 -0
  184. package/dist/services/account/accountFollowingChannel.d.ts +12 -0
  185. package/dist/services/account/accountFollowingChannel.d.ts.map +1 -0
  186. package/dist/services/account/accountFollowingChannel.js +60 -0
  187. package/dist/services/account/accountFollowingPlaylist.d.ts +13 -0
  188. package/dist/services/account/accountFollowingPlaylist.d.ts.map +1 -0
  189. package/dist/services/account/accountFollowingPlaylist.js +74 -0
  190. package/dist/services/account/accountMembership.d.ts +6 -0
  191. package/dist/services/account/accountMembership.d.ts.map +1 -0
  192. package/dist/services/account/accountMembership.js +11 -0
  193. package/dist/services/account/accountMembershipStatus.d.ts +14 -0
  194. package/dist/services/account/accountMembershipStatus.d.ts.map +1 -0
  195. package/dist/services/account/accountMembershipStatus.js +38 -0
  196. package/dist/services/account/accountNotificationChannel.d.ts +14 -0
  197. package/dist/services/account/accountNotificationChannel.d.ts.map +1 -0
  198. package/dist/services/account/accountNotificationChannel.js +82 -0
  199. package/dist/services/account/accountPayPalOrder.d.ts +12 -0
  200. package/dist/services/account/accountPayPalOrder.d.ts.map +1 -0
  201. package/dist/services/account/accountPayPalOrder.js +78 -0
  202. package/dist/services/account/accountProfile.d.ts +13 -0
  203. package/dist/services/account/accountProfile.d.ts.map +1 -0
  204. package/dist/services/account/accountProfile.js +32 -0
  205. package/dist/services/account/accountResetPassword.d.ts +16 -0
  206. package/dist/services/account/accountResetPassword.d.ts.map +1 -0
  207. package/dist/services/account/accountResetPassword.js +49 -0
  208. package/dist/services/account/accountVerification.d.ts +16 -0
  209. package/dist/services/account/accountVerification.d.ts.map +1 -0
  210. package/dist/services/account/accountVerification.js +49 -0
  211. package/dist/services/archiver.d.ts +17 -0
  212. package/dist/services/archiver.d.ts.map +1 -0
  213. package/dist/services/archiver.js +131 -0
  214. package/dist/services/base/baseGetOnlyService.d.ts +14 -0
  215. package/dist/services/base/baseGetOnlyService.d.ts.map +1 -0
  216. package/dist/services/base/baseGetOnlyService.js +30 -0
  217. package/dist/services/base/baseManyService.d.ts +5 -2
  218. package/dist/services/base/baseManyService.d.ts.map +1 -1
  219. package/dist/services/base/baseManyService.js +21 -9
  220. package/dist/services/base/baseOneService.d.ts +2 -1
  221. package/dist/services/base/baseOneService.d.ts.map +1 -1
  222. package/dist/services/base/baseOneService.js +7 -6
  223. package/dist/services/base/baseRemoteItemsService.js +4 -4
  224. package/dist/services/category.d.ts +7 -0
  225. package/dist/services/category.d.ts.map +1 -0
  226. package/dist/services/category.js +73 -0
  227. package/dist/services/channel/channel.d.ts +14 -9
  228. package/dist/services/channel/channel.d.ts.map +1 -1
  229. package/dist/services/channel/channel.js +161 -10
  230. package/dist/services/channel/channelCategory.d.ts +15 -0
  231. package/dist/services/channel/channelCategory.d.ts.map +1 -0
  232. package/dist/services/channel/channelCategory.js +45 -0
  233. package/dist/services/channel/channelPodroll.d.ts +1 -0
  234. package/dist/services/channel/channelPodroll.d.ts.map +1 -1
  235. package/dist/services/channel/channelPodroll.js +8 -0
  236. package/dist/services/channel/channelPodrollRemoteItem.d.ts +4 -8
  237. package/dist/services/channel/channelPodrollRemoteItem.d.ts.map +1 -1
  238. package/dist/services/channel/channelPodrollRemoteItem.js +8 -0
  239. package/dist/services/channel/channelPublisher.d.ts +4 -1
  240. package/dist/services/channel/channelPublisher.d.ts.map +1 -1
  241. package/dist/services/channel/channelPublisher.js +18 -2
  242. package/dist/services/channel/channelPublisherRemoteItem.d.ts +6 -9
  243. package/dist/services/channel/channelPublisherRemoteItem.d.ts.map +1 -1
  244. package/dist/services/channel/channelPublisherRemoteItem.js +10 -2
  245. package/dist/services/channel/channelRemoteItem.d.ts +4 -8
  246. package/dist/services/channel/channelRemoteItem.d.ts.map +1 -1
  247. package/dist/services/channel/channelRemoteItem.js +8 -0
  248. package/dist/services/channel/channelSeason.js +1 -1
  249. package/dist/services/channel/channelTrailer.d.ts +1 -1
  250. package/dist/services/channel/channelTrailer.d.ts.map +1 -1
  251. package/dist/services/clip.d.ts +25 -0
  252. package/dist/services/clip.d.ts.map +1 -0
  253. package/dist/services/clip.js +109 -0
  254. package/dist/services/feed/feed.d.ts +5 -2
  255. package/dist/services/feed/feed.d.ts.map +1 -1
  256. package/dist/services/feed/feed.js +38 -11
  257. package/dist/services/feed/feedFlagStatus.d.ts +4 -2
  258. package/dist/services/feed/feedFlagStatus.d.ts.map +1 -1
  259. package/dist/services/feed/feedFlagStatus.js +18 -3
  260. package/dist/services/item/item.d.ts +21 -10
  261. package/dist/services/item/item.d.ts.map +1 -1
  262. package/dist/services/item/item.js +275 -18
  263. package/dist/services/item/itemChapter.d.ts +3 -2
  264. package/dist/services/item/itemChapter.d.ts.map +1 -1
  265. package/dist/services/item/itemChapter.js +9 -3
  266. package/dist/services/item/itemFlagStatus.d.ts +6 -0
  267. package/dist/services/item/itemFlagStatus.d.ts.map +1 -0
  268. package/dist/services/item/itemFlagStatus.js +27 -0
  269. package/dist/services/item/itemSoundbite.d.ts +2 -2
  270. package/dist/services/item/itemSoundbite.d.ts.map +1 -1
  271. package/dist/services/item/itemSoundbite.js +3 -2
  272. package/dist/services/item/itemValueTimeSplitRemoteItem.d.ts +2 -7
  273. package/dist/services/item/itemValueTimeSplitRemoteItem.d.ts.map +1 -1
  274. package/dist/services/liveItem/liveItem.d.ts +4 -1
  275. package/dist/services/liveItem/liveItem.d.ts.map +1 -1
  276. package/dist/services/liveItem/liveItem.js +6 -1
  277. package/dist/services/medium.d.ts +2 -2
  278. package/dist/services/medium.d.ts.map +1 -1
  279. package/dist/services/medium.js +3 -3
  280. package/dist/services/membershipClaimToken.d.ts +17 -0
  281. package/dist/services/membershipClaimToken.d.ts.map +1 -0
  282. package/dist/services/membershipClaimToken.js +71 -0
  283. package/dist/services/playlist/playlist.d.ts +22 -0
  284. package/dist/services/playlist/playlist.d.ts.map +1 -0
  285. package/dist/services/playlist/playlist.js +74 -0
  286. package/dist/services/playlist/playlistResource.d.ts +51 -0
  287. package/dist/services/playlist/playlistResource.d.ts.map +1 -0
  288. package/dist/services/playlist/playlistResource.js +300 -0
  289. package/dist/services/queue/queue.d.ts +16 -0
  290. package/dist/services/queue/queue.d.ts.map +1 -0
  291. package/dist/services/queue/queue.js +57 -0
  292. package/dist/services/queue/queueResource.d.ts +65 -0
  293. package/dist/services/queue/queueResource.d.ts.map +1 -0
  294. package/dist/services/queue/queueResource.js +426 -0
  295. package/dist/services/stats/baseStatsAggregated.d.ts +35 -0
  296. package/dist/services/stats/baseStatsAggregated.d.ts.map +1 -0
  297. package/dist/services/stats/baseStatsAggregated.js +100 -0
  298. package/dist/services/stats/baseStatsTrackEvent.d.ts +18 -0
  299. package/dist/services/stats/baseStatsTrackEvent.d.ts.map +1 -0
  300. package/dist/services/stats/baseStatsTrackEvent.js +97 -0
  301. package/dist/services/stats/statsAggregatedAccount.d.ts +10 -0
  302. package/dist/services/stats/statsAggregatedAccount.d.ts.map +1 -0
  303. package/dist/services/stats/statsAggregatedAccount.js +36 -0
  304. package/dist/services/stats/statsAggregatedChannel.d.ts +10 -0
  305. package/dist/services/stats/statsAggregatedChannel.d.ts.map +1 -0
  306. package/dist/services/stats/statsAggregatedChannel.js +36 -0
  307. package/dist/services/stats/statsAggregatedClip.d.ts +10 -0
  308. package/dist/services/stats/statsAggregatedClip.d.ts.map +1 -0
  309. package/dist/services/stats/statsAggregatedClip.js +36 -0
  310. package/dist/services/stats/statsAggregatedItem.d.ts +10 -0
  311. package/dist/services/stats/statsAggregatedItem.d.ts.map +1 -0
  312. package/dist/services/stats/statsAggregatedItem.js +36 -0
  313. package/dist/services/stats/statsAggregatedPlaylist.d.ts +10 -0
  314. package/dist/services/stats/statsAggregatedPlaylist.d.ts.map +1 -0
  315. package/dist/services/stats/statsAggregatedPlaylist.js +36 -0
  316. package/dist/services/stats/statsTrackAccountGuid.d.ts +11 -0
  317. package/dist/services/stats/statsTrackAccountGuid.d.ts.map +1 -0
  318. package/dist/services/stats/statsTrackAccountGuid.js +56 -0
  319. package/dist/services/stats/statsTrackEventAccount.d.ts +13 -0
  320. package/dist/services/stats/statsTrackEventAccount.d.ts.map +1 -0
  321. package/dist/services/stats/statsTrackEventAccount.js +31 -0
  322. package/dist/services/stats/statsTrackEventChannel.d.ts +13 -0
  323. package/dist/services/stats/statsTrackEventChannel.d.ts.map +1 -0
  324. package/dist/services/stats/statsTrackEventChannel.js +31 -0
  325. package/dist/services/stats/statsTrackEventClip.d.ts +13 -0
  326. package/dist/services/stats/statsTrackEventClip.d.ts.map +1 -0
  327. package/dist/services/stats/statsTrackEventClip.js +31 -0
  328. package/dist/services/stats/statsTrackEventItem.d.ts +13 -0
  329. package/dist/services/stats/statsTrackEventItem.d.ts.map +1 -0
  330. package/dist/services/stats/statsTrackEventItem.js +31 -0
  331. package/dist/services/stats/statsTrackEventPlaylist.d.ts +13 -0
  332. package/dist/services/stats/statsTrackEventPlaylist.d.ts.map +1 -0
  333. package/dist/services/stats/statsTrackEventPlaylist.js +31 -0
  334. package/package.json +4 -4
  335. package/dist/entities/account/accountNotification.d.ts.map +0 -1
  336. package/dist/entities/playlist/playlistResourceBase.d.ts +0 -7
  337. package/dist/entities/playlist/playlistResourceBase.d.ts.map +0 -1
  338. package/dist/entities/playlist/playlistResourceClip.d.ts +0 -6
  339. package/dist/entities/playlist/playlistResourceClip.d.ts.map +0 -1
  340. package/dist/entities/playlist/playlistResourceClip.js +0 -26
  341. package/dist/entities/playlist/playlistResourceItem.d.ts +0 -6
  342. package/dist/entities/playlist/playlistResourceItem.d.ts.map +0 -1
  343. package/dist/entities/playlist/playlistResourceItem.js +0 -26
  344. package/dist/entities/playlist/playlistResourceItemAddByRSS.d.ts +0 -5
  345. package/dist/entities/playlist/playlistResourceItemAddByRSS.d.ts.map +0 -1
  346. package/dist/entities/playlist/playlistResourceItemAddByRSS.js +0 -24
  347. package/dist/entities/playlist/playlistResourceItemChapter.d.ts +0 -6
  348. package/dist/entities/playlist/playlistResourceItemChapter.d.ts.map +0 -1
  349. package/dist/entities/playlist/playlistResourceItemChapter.js +0 -26
  350. package/dist/entities/playlist/playlistResourceItemSoundbite.d.ts +0 -6
  351. package/dist/entities/playlist/playlistResourceItemSoundbite.d.ts.map +0 -1
  352. package/dist/entities/playlist/playlistResourceItemSoundbite.js +0 -26
  353. package/dist/entities/queue/queueResourceBase.d.ts +0 -10
  354. package/dist/entities/queue/queueResourceBase.d.ts.map +0 -1
  355. package/dist/entities/queue/queueResourceBase.js +0 -45
  356. package/dist/entities/queue/queueResourceClip.d.ts +0 -6
  357. package/dist/entities/queue/queueResourceClip.d.ts.map +0 -1
  358. package/dist/entities/queue/queueResourceClip.js +0 -27
  359. package/dist/entities/queue/queueResourceItem.d.ts +0 -6
  360. package/dist/entities/queue/queueResourceItem.d.ts.map +0 -1
  361. package/dist/entities/queue/queueResourceItem.js +0 -27
  362. package/dist/entities/queue/queueResourceItemAddByRSS.d.ts +0 -5
  363. package/dist/entities/queue/queueResourceItemAddByRSS.d.ts.map +0 -1
  364. package/dist/entities/queue/queueResourceItemAddByRSS.js +0 -25
  365. package/dist/entities/queue/queueResourceItemChapter.d.ts +0 -6
  366. package/dist/entities/queue/queueResourceItemChapter.d.ts.map +0 -1
  367. package/dist/entities/queue/queueResourceItemChapter.js +0 -27
  368. package/dist/entities/queue/queueResourceItemSoundbite.d.ts +0 -6
  369. package/dist/entities/queue/queueResourceItemSoundbite.d.ts.map +0 -1
  370. package/dist/entities/queue/queueResourceItemSoundbite.js +0 -27
@@ -0,0 +1,71 @@
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.MembershipClaimTokenService = void 0;
13
+ const db_1 = require("@orm/db");
14
+ const membershipClaimToken_1 = require("@orm/entities/membershipClaimToken");
15
+ const accountMembership_1 = require("@orm/services/account/accountMembership");
16
+ const account_1 = require("@orm/services/account/account");
17
+ const accountMembershipStatus_1 = require("@orm/services/account/accountMembershipStatus");
18
+ class MembershipClaimTokenService {
19
+ constructor() {
20
+ this.repositoryRead = db_1.AppDataSourceRead.getRepository(membershipClaimToken_1.MembershipClaimToken);
21
+ this.repositoryReadWrite = db_1.AppDataSourceReadWrite.getRepository(membershipClaimToken_1.MembershipClaimToken);
22
+ this.accountMembershipService = new accountMembership_1.AccountMembershipService();
23
+ this.accountService = new account_1.AccountService();
24
+ this.accountMembershipStatusService = new accountMembershipStatus_1.AccountMembershipStatusService();
25
+ }
26
+ create(account_membership_id, months_to_add) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ if (!Number.isInteger(months_to_add) || months_to_add < 1) {
29
+ throw new Error('months_to_add must be an integer 1 or larger');
30
+ }
31
+ const accountMembership = yield this.accountMembershipService.get(account_membership_id);
32
+ if (!accountMembership) {
33
+ throw new Error('AccountMembership not found');
34
+ }
35
+ const membershipClaimToken = this.repositoryReadWrite.create({
36
+ account_membership_id,
37
+ months_to_add,
38
+ claimed: false
39
+ });
40
+ return this.repositoryReadWrite.save(membershipClaimToken);
41
+ });
42
+ }
43
+ claim(account_id, membership_claim_token_id) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ const account = yield this.accountService.get(account_id);
46
+ if (!account) {
47
+ throw new Error('Account not found');
48
+ }
49
+ const membershipClaimToken = yield this.repositoryReadWrite.findOneBy({ id: membership_claim_token_id });
50
+ if (!membershipClaimToken) {
51
+ throw new Error('MembershipClaimToken not found');
52
+ }
53
+ if (membershipClaimToken.claimed) {
54
+ throw new Error('MembershipClaimToken has already been claimed');
55
+ }
56
+ const accountMembershipStatus = yield this.accountMembershipStatusService._get(account);
57
+ const currentDate = new Date();
58
+ const newExpirationDate = (accountMembershipStatus === null || accountMembershipStatus === void 0 ? void 0 : accountMembershipStatus.membership_expires_at)
59
+ ? new Date(accountMembershipStatus.membership_expires_at)
60
+ : currentDate;
61
+ newExpirationDate.setMonth(newExpirationDate.getMonth() + membershipClaimToken.months_to_add);
62
+ yield this.accountMembershipStatusService.update(account, {
63
+ account_membership_id: membershipClaimToken.account_membership_id,
64
+ membership_expires_at: newExpirationDate
65
+ });
66
+ membershipClaimToken.claimed = true;
67
+ yield this.repositoryReadWrite.save(membershipClaimToken);
68
+ });
69
+ }
70
+ }
71
+ exports.MembershipClaimTokenService = MembershipClaimTokenService;
@@ -0,0 +1,22 @@
1
+ import { MediumEnum, SharableStatusEnum } from 'podverse-helpers';
2
+ import { EntityManager, FindManyOptions, FindOneOptions } from 'typeorm';
3
+ import { Playlist } from '@orm/entities/playlist/playlist';
4
+ import { BaseManyService } from '@orm/services/base/baseManyService';
5
+ export type PlaylistDto = {
6
+ title?: string;
7
+ description?: string;
8
+ medium: MediumEnum;
9
+ sharable_status: SharableStatusEnum;
10
+ is_default_favorites: boolean;
11
+ };
12
+ export declare class PlaylistService extends BaseManyService<Playlist, 'account'> {
13
+ private accountService;
14
+ constructor(transactionalEntityManager?: EntityManager);
15
+ create(account_id: number, dto: PlaylistDto): Promise<Playlist>;
16
+ update(account_id: number, playlist_id_text: string, dto: PlaylistDto): Promise<Playlist>;
17
+ delete(account_id: number, playlist_id_text: string): Promise<void>;
18
+ getByIdText(playlist_id_text: string, options?: FindOneOptions<Playlist>): Promise<Playlist | null>;
19
+ getMany(options?: FindManyOptions<Playlist>): Promise<Playlist[]>;
20
+ getManyByAccount(account_id: number): Promise<Playlist[]>;
21
+ }
22
+ //# sourceMappingURL=playlist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playlist.d.ts","sourceRoot":"","sources":["../../../src/services/playlist/playlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,kBAAkB,CAAC;IACpC,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,qBAAa,eAAgB,SAAQ,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC;IACvE,OAAO,CAAC,cAAc,CAAiB;gBAE3B,0BAA0B,CAAC,EAAE,aAAa;IAKhD,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU/D,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAezF,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASnE,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAOnG,OAAO,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAIjE,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAQhE"}
@@ -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.PlaylistService = void 0;
13
+ const playlist_1 = require("@orm/entities/playlist/playlist");
14
+ const baseManyService_1 = require("@orm/services/base/baseManyService");
15
+ const account_1 = require("@orm/services/account/account");
16
+ class PlaylistService extends baseManyService_1.BaseManyService {
17
+ constructor(transactionalEntityManager) {
18
+ super(playlist_1.Playlist, 'account', transactionalEntityManager);
19
+ this.accountService = new account_1.AccountService();
20
+ }
21
+ create(account_id, dto) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const account = yield this.accountService.get(account_id);
24
+ if (!account) {
25
+ throw new Error("Account not found.");
26
+ }
27
+ const whereKeys = [];
28
+ return this._update(account, whereKeys, dto);
29
+ });
30
+ }
31
+ update(account_id, playlist_id_text, dto) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ const account = yield this.accountService.get(account_id);
34
+ if (!account) {
35
+ throw new Error("Account not found.");
36
+ }
37
+ const playlist = yield this._get(account, { id_text: playlist_id_text });
38
+ if (!playlist) {
39
+ throw new Error("Playlist not found.");
40
+ }
41
+ const whereKeys = ['id'];
42
+ return this._update(account, whereKeys, dto, undefined, playlist);
43
+ });
44
+ }
45
+ delete(account_id, playlist_id_text) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const account = yield this.accountService.get(account_id);
48
+ if (!account) {
49
+ throw new Error("Account not found.");
50
+ }
51
+ return this._delete(account, { id_text: playlist_id_text });
52
+ });
53
+ }
54
+ getByIdText(playlist_id_text, options) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ return this.repositoryRead.findOne(Object.assign({ where: { id_text: playlist_id_text } }, options));
57
+ });
58
+ }
59
+ getMany(options) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ return this.repositoryRead.find(options);
62
+ });
63
+ }
64
+ getManyByAccount(account_id) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ const account = yield this.accountService.get(account_id);
67
+ if (!account) {
68
+ throw new Error("Account not found.");
69
+ }
70
+ return this._getAll(account);
71
+ });
72
+ }
73
+ }
74
+ exports.PlaylistService = PlaylistService;
@@ -0,0 +1,51 @@
1
+ import { EntityManager } from 'typeorm';
2
+ import { PlaylistResource } from '@orm/entities/playlist/playlistResource';
3
+ import { BaseManyService } from '@orm/services/base/baseManyService';
4
+ export declare class PlaylistResourceService extends BaseManyService<PlaylistResource, 'playlist'> {
5
+ private playlistService;
6
+ private clipService;
7
+ private itemService;
8
+ private itemChapterService;
9
+ private itemSoundbiteService;
10
+ constructor(transactionalEntityManager?: EntityManager);
11
+ getAllByPlaylistIdText(playlist_id_text: string): Promise<PlaylistResource[]>;
12
+ getFirstAndLastItemsByPlaylistIdText(playlist_id_text: string): Promise<{
13
+ firstItem: PlaylistResource | null;
14
+ lastItem: PlaylistResource | null;
15
+ }>;
16
+ private addResourceToPlaylist;
17
+ private addResourceToPlaylistHelper;
18
+ private addResourceToPlaylistFirst;
19
+ private addResourceToPlaylistLast;
20
+ private addResourceToPlaylistBetween;
21
+ private removeResourceFromPlaylist;
22
+ addClipToPlaylistFirst(playlist_id_text: string, clip_id_text: string): Promise<PlaylistResource>;
23
+ addClipToPlaylistLast(playlist_id_text: string, clip_id_text: string): Promise<PlaylistResource>;
24
+ addClipToPlaylistBetween(playlist_id_text: string, clip_id_text: string, position1: number, position2: number): Promise<PlaylistResource>;
25
+ removeClipFromPlaylist(playlist_id_text: string, clip_id_text: string): Promise<void>;
26
+ addItemToPlaylistFirst(playlist_id_text: string, item_id_text: string): Promise<PlaylistResource>;
27
+ addItemToPlaylistLast(playlist_id_text: string, item_id_text: string): Promise<PlaylistResource>;
28
+ addItemToPlaylistBetween(playlist_id_text: string, item_id_text: string, position1: number, position2: number): Promise<PlaylistResource>;
29
+ removeItemFromPlaylist(playlist_id_text: string, item_id_text: string): Promise<void>;
30
+ addItemChapterToPlaylistFirst(playlist_id_text: string, item_chapter_id_text: string): Promise<PlaylistResource>;
31
+ addItemChapterToPlaylistLast(playlist_id_text: string, item_chapter_id_text: string): Promise<PlaylistResource>;
32
+ addItemChapterToPlaylistBetween(playlist_id_text: string, item_chapter_id_text: string, position1: number, position2: number): Promise<PlaylistResource>;
33
+ removeItemChapterFromPlaylist(playlist_id_text: string, item_chapter_id_text: string): Promise<void>;
34
+ addItemSoundbiteToPlaylistFirst(playlist_id_text: string, item_soundbite_id_text: string): Promise<PlaylistResource>;
35
+ addItemSoundbiteToPlaylistLast(playlist_id_text: string, item_soundbite_id_text: string): Promise<PlaylistResource>;
36
+ addItemSoundbiteToPlaylistBetween(playlist_id_text: string, item_soundbite_id_text: string, position1: number, position2: number): Promise<PlaylistResource>;
37
+ removeItemSoundbiteFromPlaylist(playlist_id_text: string, item_soundbite_id_text: string): Promise<void>;
38
+ private addItemAddByRSSToPlaylist;
39
+ private addItemAddByRSSToPlaylistHelper;
40
+ addItemAddByRSSToPlaylistFirst(playlist_id_text: string, add_by_rss_resource_data: object): Promise<PlaylistResource>;
41
+ addItemAddByRSSToPlaylistLast(playlist_id_text: string, add_by_rss_resource_data: object): Promise<PlaylistResource>;
42
+ addItemAddByRSSToPlaylistBetween(playlist_id_text: string, add_by_rss_resource_data: object, position1: number, position2: number): Promise<PlaylistResource>;
43
+ removeItemAddByRSSFromPlaylist(playlist_id_text: string, add_by_rss_hash_id: string): Promise<void>;
44
+ getResourcesByParams(params: {
45
+ clip_id?: number;
46
+ item_id?: number;
47
+ item_chapter_id?: number;
48
+ item_soundbite_id?: number;
49
+ }): Promise<PlaylistResource[]>;
50
+ }
51
+ //# sourceMappingURL=playlistResource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playlistResource.d.ts","sourceRoot":"","sources":["../../../src/services/playlist/playlistResource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,300 @@
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.PlaylistResourceService = void 0;
13
+ // TODO: get rid of "any" in the file
14
+ /* eslint-disable @typescript-eslint/no-explicit-any */
15
+ const podverse_helpers_1 = require("podverse-helpers");
16
+ const playlistResource_1 = require("@orm/entities/playlist/playlistResource");
17
+ const playlist_1 = require("./playlist");
18
+ const baseManyService_1 = require("@orm/services/base/baseManyService");
19
+ const clip_1 = require("../clip");
20
+ const item_1 = require("../item/item");
21
+ const itemChapter_1 = require("../item/itemChapter");
22
+ const itemSoundbite_1 = require("../item/itemSoundbite");
23
+ const PLAYLIST_LIST_POSITION_INCREMENT = 0.00000001;
24
+ class PlaylistResourceService extends baseManyService_1.BaseManyService {
25
+ constructor(transactionalEntityManager) {
26
+ super(playlistResource_1.PlaylistResource, 'playlist', transactionalEntityManager);
27
+ this.playlistService = new playlist_1.PlaylistService(transactionalEntityManager);
28
+ this.clipService = new clip_1.ClipService(transactionalEntityManager);
29
+ this.itemService = new item_1.ItemService();
30
+ this.itemChapterService = new itemChapter_1.ItemChapterService(transactionalEntityManager);
31
+ this.itemSoundbiteService = new itemSoundbite_1.ItemSoundbiteService(transactionalEntityManager);
32
+ }
33
+ getAllByPlaylistIdText(playlist_id_text) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ const playlist = yield this.playlistService.getByIdText(playlist_id_text);
36
+ if (!playlist) {
37
+ throw new Error("Playlist not found.");
38
+ }
39
+ const options = {
40
+ where: { playlist: { id: playlist.id } },
41
+ order: { list_position: 'ASC' },
42
+ relations: ['clip', 'item', 'item_chapter', 'item_soundbite']
43
+ };
44
+ return this.repositoryRead.find(options);
45
+ });
46
+ }
47
+ getFirstAndLastItemsByPlaylistIdText(playlist_id_text) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ const playlist = yield this.playlistService.getByIdText(playlist_id_text);
50
+ if (!playlist) {
51
+ throw new Error("Playlist not found.");
52
+ }
53
+ const firstItem = yield this.repositoryRead.findOne({
54
+ where: { playlist },
55
+ order: { list_position: 'ASC' }
56
+ });
57
+ const lastItem = yield this.repositoryRead.findOne({
58
+ where: { playlist },
59
+ order: { list_position: 'DESC' }
60
+ });
61
+ return { firstItem, lastItem };
62
+ });
63
+ }
64
+ addResourceToPlaylist(playlist_id_text, resource_id_text, resourceService, resourceKey, calculatePosition) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ const playlist = yield this.playlistService.getByIdText(playlist_id_text);
67
+ if (!playlist) {
68
+ throw new Error("Playlist not found.");
69
+ }
70
+ const resource = yield resourceService.getByIdText(resource_id_text);
71
+ if (!resource) {
72
+ throw new Error(`${resourceKey} not found.`);
73
+ }
74
+ const { firstItem, lastItem } = yield this.getFirstAndLastItemsByPlaylistIdText(playlist_id_text);
75
+ const list_position = calculatePosition(firstItem, lastItem);
76
+ const finalDto = {
77
+ [resourceKey]: resource,
78
+ list_position
79
+ };
80
+ return this._update(playlist, ['playlist', resourceKey], finalDto);
81
+ });
82
+ }
83
+ addResourceToPlaylistHelper(playlist_id_text, resource_id_text, resourceService, resourceKey, calculatePosition) {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ return this.addResourceToPlaylist(playlist_id_text, resource_id_text, resourceService, resourceKey, calculatePosition);
86
+ });
87
+ }
88
+ addResourceToPlaylistFirst(playlist_id_text, resource_id_text, resourceService, resourceKey) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ return this.addResourceToPlaylistHelper(playlist_id_text, resource_id_text, resourceService, resourceKey, (firstItem) => {
91
+ const newPosition = firstItem ? parseFloat(firstItem.list_position) - PLAYLIST_LIST_POSITION_INCREMENT : 1;
92
+ return newPosition < 0 ? '0' : newPosition.toString();
93
+ });
94
+ });
95
+ }
96
+ addResourceToPlaylistLast(playlist_id_text, resource_id_text, resourceService, resourceKey) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ return this.addResourceToPlaylistHelper(playlist_id_text, resource_id_text, resourceService, resourceKey, (_, lastItem) => {
99
+ return lastItem ? (parseFloat(lastItem.list_position) + PLAYLIST_LIST_POSITION_INCREMENT).toString() : '1';
100
+ });
101
+ });
102
+ }
103
+ addResourceToPlaylistBetween(playlist_id_text, resource_id_text, resourceService, resourceKey, position1, position2) {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ if (position1 === undefined || position2 === undefined) {
106
+ throw new Error("Both position1 and position2 must be provided.");
107
+ }
108
+ if (position1 >= position2) {
109
+ throw new Error("Position1 should be less than Position2.");
110
+ }
111
+ return this.addResourceToPlaylistHelper(playlist_id_text, resource_id_text, resourceService, resourceKey, () => {
112
+ const pos1 = parseFloat(position1.toString());
113
+ const pos2 = parseFloat(position2.toString());
114
+ if (isNaN(pos1) || isNaN(pos2)) {
115
+ throw new Error("Invalid positions provided.");
116
+ }
117
+ return ((pos1 + pos2) / 2).toString();
118
+ });
119
+ });
120
+ }
121
+ removeResourceFromPlaylist(playlist_id_text, resource_id_text, resourceService, resourceKey) {
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ const playlist = yield this.playlistService.getByIdText(playlist_id_text);
124
+ if (!playlist) {
125
+ throw new Error("Playlist not found.");
126
+ }
127
+ const resource = yield resourceService.getByIdText(resource_id_text);
128
+ if (!resource) {
129
+ throw new Error(`${resourceKey} not found.`);
130
+ }
131
+ return this._delete(playlist, { [`${resourceKey}_id`]: resource.id });
132
+ });
133
+ }
134
+ addClipToPlaylistFirst(playlist_id_text, clip_id_text) {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ return this.addResourceToPlaylistFirst(playlist_id_text, clip_id_text, this.clipService, 'clip');
137
+ });
138
+ }
139
+ addClipToPlaylistLast(playlist_id_text, clip_id_text) {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ return this.addResourceToPlaylistLast(playlist_id_text, clip_id_text, this.clipService, 'clip');
142
+ });
143
+ }
144
+ addClipToPlaylistBetween(playlist_id_text, clip_id_text, position1, position2) {
145
+ return __awaiter(this, void 0, void 0, function* () {
146
+ return this.addResourceToPlaylistBetween(playlist_id_text, clip_id_text, this.clipService, 'clip', position1, position2);
147
+ });
148
+ }
149
+ removeClipFromPlaylist(playlist_id_text, clip_id_text) {
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ return this.removeResourceFromPlaylist(playlist_id_text, clip_id_text, this.clipService, 'clip');
152
+ });
153
+ }
154
+ addItemToPlaylistFirst(playlist_id_text, item_id_text) {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ return this.addResourceToPlaylistFirst(playlist_id_text, item_id_text, this.itemService, 'item');
157
+ });
158
+ }
159
+ addItemToPlaylistLast(playlist_id_text, item_id_text) {
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ return this.addResourceToPlaylistLast(playlist_id_text, item_id_text, this.itemService, 'item');
162
+ });
163
+ }
164
+ addItemToPlaylistBetween(playlist_id_text, item_id_text, position1, position2) {
165
+ return __awaiter(this, void 0, void 0, function* () {
166
+ return this.addResourceToPlaylistBetween(playlist_id_text, item_id_text, this.itemService, 'item', position1, position2);
167
+ });
168
+ }
169
+ removeItemFromPlaylist(playlist_id_text, item_id_text) {
170
+ return __awaiter(this, void 0, void 0, function* () {
171
+ return this.removeResourceFromPlaylist(playlist_id_text, item_id_text, this.itemService, 'item');
172
+ });
173
+ }
174
+ addItemChapterToPlaylistFirst(playlist_id_text, item_chapter_id_text) {
175
+ return __awaiter(this, void 0, void 0, function* () {
176
+ return this.addResourceToPlaylistFirst(playlist_id_text, item_chapter_id_text, this.itemChapterService, 'item_chapter');
177
+ });
178
+ }
179
+ addItemChapterToPlaylistLast(playlist_id_text, item_chapter_id_text) {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ return this.addResourceToPlaylistLast(playlist_id_text, item_chapter_id_text, this.itemChapterService, 'item_chapter');
182
+ });
183
+ }
184
+ addItemChapterToPlaylistBetween(playlist_id_text, item_chapter_id_text, position1, position2) {
185
+ return __awaiter(this, void 0, void 0, function* () {
186
+ return this.addResourceToPlaylistBetween(playlist_id_text, item_chapter_id_text, this.itemChapterService, 'item_chapter', position1, position2);
187
+ });
188
+ }
189
+ removeItemChapterFromPlaylist(playlist_id_text, item_chapter_id_text) {
190
+ return __awaiter(this, void 0, void 0, function* () {
191
+ return this.removeResourceFromPlaylist(playlist_id_text, item_chapter_id_text, this.itemChapterService, 'item_chapter');
192
+ });
193
+ }
194
+ addItemSoundbiteToPlaylistFirst(playlist_id_text, item_soundbite_id_text) {
195
+ return __awaiter(this, void 0, void 0, function* () {
196
+ return this.addResourceToPlaylistFirst(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, 'item_soundbite');
197
+ });
198
+ }
199
+ addItemSoundbiteToPlaylistLast(playlist_id_text, item_soundbite_id_text) {
200
+ return __awaiter(this, void 0, void 0, function* () {
201
+ return this.addResourceToPlaylistLast(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, 'item_soundbite');
202
+ });
203
+ }
204
+ addItemSoundbiteToPlaylistBetween(playlist_id_text, item_soundbite_id_text, position1, position2) {
205
+ return __awaiter(this, void 0, void 0, function* () {
206
+ return this.addResourceToPlaylistBetween(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, 'item_soundbite', position1, position2);
207
+ });
208
+ }
209
+ removeItemSoundbiteFromPlaylist(playlist_id_text, item_soundbite_id_text) {
210
+ return __awaiter(this, void 0, void 0, function* () {
211
+ return this.removeResourceFromPlaylist(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, 'item_soundbite');
212
+ });
213
+ }
214
+ addItemAddByRSSToPlaylist(playlist_id_text, add_by_rss_resource_data, calculatePosition) {
215
+ return __awaiter(this, void 0, void 0, function* () {
216
+ const playlist = yield this.playlistService.getByIdText(playlist_id_text);
217
+ if (!playlist) {
218
+ throw new Error("Playlist not found.");
219
+ }
220
+ const { firstItem, lastItem } = yield this.getFirstAndLastItemsByPlaylistIdText(playlist_id_text);
221
+ const list_position = calculatePosition(firstItem, lastItem);
222
+ const add_by_rss_hash_id = (0, podverse_helpers_1.getMd5Hash)(add_by_rss_resource_data);
223
+ const finalDto = {
224
+ add_by_rss_resource_data,
225
+ list_position,
226
+ add_by_rss_hash_id
227
+ };
228
+ return this._update(playlist, ['playlist', 'add_by_rss_hash_id'], finalDto);
229
+ });
230
+ }
231
+ addItemAddByRSSToPlaylistHelper(playlist_id_text, add_by_rss_resource_data, calculatePosition) {
232
+ return __awaiter(this, void 0, void 0, function* () {
233
+ return this.addItemAddByRSSToPlaylist(playlist_id_text, add_by_rss_resource_data, calculatePosition);
234
+ });
235
+ }
236
+ addItemAddByRSSToPlaylistFirst(playlist_id_text, add_by_rss_resource_data) {
237
+ return __awaiter(this, void 0, void 0, function* () {
238
+ return this.addItemAddByRSSToPlaylistHelper(playlist_id_text, add_by_rss_resource_data, (firstItem) => {
239
+ const newPosition = firstItem ? parseFloat(firstItem.list_position) - PLAYLIST_LIST_POSITION_INCREMENT : 1;
240
+ return newPosition < 0 ? '0' : newPosition.toString();
241
+ });
242
+ });
243
+ }
244
+ addItemAddByRSSToPlaylistLast(playlist_id_text, add_by_rss_resource_data) {
245
+ return __awaiter(this, void 0, void 0, function* () {
246
+ return this.addItemAddByRSSToPlaylistHelper(playlist_id_text, add_by_rss_resource_data, (_, lastItem) => {
247
+ return lastItem ? (parseFloat(lastItem.list_position) + PLAYLIST_LIST_POSITION_INCREMENT).toString() : '1';
248
+ });
249
+ });
250
+ }
251
+ addItemAddByRSSToPlaylistBetween(playlist_id_text, add_by_rss_resource_data, position1, position2) {
252
+ return __awaiter(this, void 0, void 0, function* () {
253
+ if (position1 === undefined || position2 === undefined) {
254
+ throw new Error("Both position1 and position2 must be provided.");
255
+ }
256
+ if (position1 >= position2) {
257
+ throw new Error("Position1 should be less than Position2.");
258
+ }
259
+ return this.addItemAddByRSSToPlaylistHelper(playlist_id_text, add_by_rss_resource_data, () => {
260
+ const pos1 = parseFloat(position1.toString());
261
+ const pos2 = parseFloat(position2.toString());
262
+ if (isNaN(pos1) || isNaN(pos2)) {
263
+ throw new Error("Invalid positions provided.");
264
+ }
265
+ return ((pos1 + pos2) / 2).toString();
266
+ });
267
+ });
268
+ }
269
+ removeItemAddByRSSFromPlaylist(playlist_id_text, add_by_rss_hash_id) {
270
+ return __awaiter(this, void 0, void 0, function* () {
271
+ const playlist = yield this.playlistService.getByIdText(playlist_id_text);
272
+ if (!playlist) {
273
+ throw new Error("Playlist not found.");
274
+ }
275
+ return this._delete(playlist, { add_by_rss_hash_id });
276
+ });
277
+ }
278
+ getResourcesByParams(params) {
279
+ return __awaiter(this, void 0, void 0, function* () {
280
+ const whereClause = {};
281
+ if (params.clip_id) {
282
+ whereClause.clip = { id: params.clip_id };
283
+ }
284
+ if (params.item_id) {
285
+ whereClause.item = { id: params.item_id };
286
+ }
287
+ if (params.item_chapter_id) {
288
+ whereClause.item_chapter = { id: params.item_chapter_id };
289
+ }
290
+ if (params.item_soundbite_id) {
291
+ whereClause.item_soundbite = { id: params.item_soundbite_id };
292
+ }
293
+ return this.repositoryRead.find({
294
+ where: whereClause,
295
+ relations: ['clip', 'item', 'item_chapter', 'item_soundbite', 'playlist']
296
+ });
297
+ });
298
+ }
299
+ }
300
+ exports.PlaylistResourceService = PlaylistResourceService;
@@ -0,0 +1,16 @@
1
+ import { MediumEnum } from 'podverse-helpers';
2
+ import { EntityManager, FindManyOptions, FindOneOptions } from 'typeorm';
3
+ import { Queue } from '@orm/entities/queue/queue';
4
+ import { BaseManyService } from '@orm/services/base/baseManyService';
5
+ export type QueueDto = {
6
+ medium: MediumEnum;
7
+ };
8
+ export declare class QueueService extends BaseManyService<Queue, 'account'> {
9
+ private accountService;
10
+ constructor(transactionalEntityManager?: EntityManager);
11
+ create(account_id: number, dto: QueueDto): Promise<Queue>;
12
+ delete(account_id: number, queue_id_text: string): Promise<void>;
13
+ getByIdText(queue_id_text: string, config?: FindOneOptions<Queue>): Promise<Queue | null>;
14
+ getAllPrivate(account_id: number, config?: FindManyOptions<Queue>): Promise<Queue[]>;
15
+ }
16
+ //# sourceMappingURL=queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/services/queue/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,qBAAa,YAAa,SAAQ,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC;IACjE,OAAO,CAAC,cAAc,CAAiB;gBAE3B,0BAA0B,CAAC,EAAE,aAAa;IAKhD,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAUzD,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IASzF,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAQ3F"}
@@ -0,0 +1,57 @@
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.QueueService = void 0;
13
+ const queue_1 = require("@orm/entities/queue/queue");
14
+ const baseManyService_1 = require("@orm/services/base/baseManyService");
15
+ const account_1 = require("@orm/services/account/account");
16
+ class QueueService extends baseManyService_1.BaseManyService {
17
+ constructor(transactionalEntityManager) {
18
+ super(queue_1.Queue, 'account', transactionalEntityManager);
19
+ this.accountService = new account_1.AccountService();
20
+ }
21
+ create(account_id, dto) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const account = yield this.accountService.get(account_id);
24
+ if (!account) {
25
+ throw new Error("Account not found.");
26
+ }
27
+ const whereKeys = [];
28
+ return this._update(account, whereKeys, dto);
29
+ });
30
+ }
31
+ delete(account_id, queue_id_text) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ const account = yield this.accountService.get(account_id);
34
+ if (!account) {
35
+ throw new Error("Account not found.");
36
+ }
37
+ return this._delete(account, { id_text: queue_id_text });
38
+ });
39
+ }
40
+ getByIdText(queue_id_text, config) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ return this.repositoryRead.findOne(Object.assign({ where: {
43
+ id_text: queue_id_text
44
+ } }, config));
45
+ });
46
+ }
47
+ getAllPrivate(account_id, config) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ const account = yield this.accountService.get(account_id);
50
+ if (!account) {
51
+ throw new Error("Account not found.");
52
+ }
53
+ return this._getAll(account, config);
54
+ });
55
+ }
56
+ }
57
+ exports.QueueService = QueueService;