@saooti/octopus-sdk 42.2.1 → 42.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (569) hide show
  1. package/dist/{AdvancedSearch-fO5eaqLJ.mjs → AdvancedSearch-C4segSRv.mjs} +6 -6
  2. package/dist/AdvancedSearch-C4segSRv.mjs.map +1 -0
  3. package/dist/AdvancedSearch-DD9tnLCw.mjs.map +1 -0
  4. package/dist/{CategoryFilter-Cu2a0YE9.mjs → CategoryFilter-CpplEC8n.mjs} +5 -5
  5. package/dist/CategoryFilter-CpplEC8n.mjs.map +1 -0
  6. package/dist/CategoryFilter-cbQR_ySd.mjs.map +1 -0
  7. package/dist/{CategoryList-DkxZDrO5.mjs → CategoryList-BTabY3vQ.mjs} +2 -2
  8. package/dist/CategoryList-BTabY3vQ.mjs.map +1 -0
  9. package/dist/CategoryList-DHEJoaez.mjs.map +1 -0
  10. package/dist/CategoryPage-BbsCC3Wr.mjs.map +1 -0
  11. package/dist/CategoryPage-BxvUmThb.mjs.map +1 -0
  12. package/dist/{CategoryPage-3HFz1i7_.mjs → CategoryPage-D755GvQZ.mjs} +3 -3
  13. package/dist/CategoryPage-D755GvQZ.mjs.map +1 -0
  14. package/dist/CategoryPage-DDBJ2krs.mjs.map +1 -0
  15. package/dist/CategoryPage-DRCYjOqG.mjs.map +1 -0
  16. package/dist/ChapteringModal-CSQqCWIk.mjs.map +1 -0
  17. package/dist/ChapteringModal-Dt8Rsauh.mjs.map +1 -0
  18. package/dist/{ChapteringModal-C-rdkbSz.mjs → ChapteringModal-ei6ZqVJU.mjs} +2 -2
  19. package/dist/ChapteringModal-ei6ZqVJU.mjs.map +1 -0
  20. package/dist/CheckIdentityModal-CNFVJVB_.mjs.map +1 -0
  21. package/dist/{CheckIdentityModal-N9h8yvhC.mjs → CheckIdentityModal-cpMOuJGv.mjs} +3 -3
  22. package/dist/CheckIdentityModal-cpMOuJGv.mjs.map +1 -0
  23. package/dist/ClipboardModal-2ZGF38VB.mjs.map +1 -0
  24. package/dist/{ClipboardModal-CnieIOJr.mjs → ClipboardModal-DzCUqSph.mjs} +2 -2
  25. package/dist/ClipboardModal-DzCUqSph.mjs.map +1 -0
  26. package/dist/CommentInput-CV46HJN8.mjs.map +1 -0
  27. package/dist/{CommentInput-CEioyN7X.mjs → CommentInput-D_p03L68.mjs} +6 -6
  28. package/dist/CommentInput-D_p03L68.mjs.map +1 -0
  29. package/dist/CommentInput-DwRbD74k.mjs.map +1 -0
  30. package/dist/CommentItem-B6_XUaFR.mjs.map +1 -0
  31. package/dist/CommentItem-CbbmwVXB.mjs.map +1 -0
  32. package/dist/CommentItem-DfKKazY0.mjs.map +1 -0
  33. package/dist/CommentItem-JRjSLmui.mjs.map +1 -0
  34. package/dist/{CommentItem-BefuRoxQ.mjs → CommentItem-MFN0JNW1.mjs} +8 -8
  35. package/dist/CommentItem-MFN0JNW1.mjs.map +1 -0
  36. package/dist/{CommentList-BsPwzqkf.mjs → CommentList-BkKy5ftL.mjs} +3 -3
  37. package/dist/CommentList-BkKy5ftL.mjs.map +1 -0
  38. package/dist/CommentList-BrP71Ug4.mjs.map +1 -0
  39. package/dist/CommentList-Ng_YXr74.mjs.map +1 -0
  40. package/dist/CommentList-tKA7NFHM.mjs.map +1 -0
  41. package/dist/CommentList-yarlxaXg.mjs.map +1 -0
  42. package/dist/{CommentMoreActions-C86aqy8M.mjs → CommentMoreActions-CBSvuOGJ.mjs} +5 -5
  43. package/dist/CommentMoreActions-CBSvuOGJ.mjs.map +1 -0
  44. package/dist/CommentMoreActions-D7guBdA7.mjs.map +1 -0
  45. package/dist/CommentName-frCHmngc.mjs.map +1 -0
  46. package/dist/{CommentName-DT1QyPi3.mjs → CommentName-zTMSdG4d.mjs} +3 -3
  47. package/dist/CommentName-zTMSdG4d.mjs.map +1 -0
  48. package/dist/{CommentParentInfo-9Fe-3e6c.mjs → CommentParentInfo-CRTYPb8P.mjs} +2 -2
  49. package/dist/CommentParentInfo-CRTYPb8P.mjs.map +1 -0
  50. package/dist/CommentParentInfo-D8qquB6k.mjs.map +1 -0
  51. package/dist/CommentParentInfo-DC4Q6wNO.mjs.map +1 -0
  52. package/dist/CommentParentInfo-temUvqNv.mjs.map +1 -0
  53. package/dist/{CommentPlayer-CiWQM64Y.mjs → CommentPlayer-BMuLmZdI.mjs} +3 -3
  54. package/dist/CommentPlayer-BMuLmZdI.mjs.map +1 -0
  55. package/dist/CommentPlayer-BPA_lEoE.mjs.map +1 -0
  56. package/dist/CommentPlayer-CUNi1Lxv.mjs.map +1 -0
  57. package/dist/{CommentSection-Be38YIkC.mjs → CommentSection-B91sHMDT.mjs} +5 -5
  58. package/dist/CommentSection-B91sHMDT.mjs.map +1 -0
  59. package/dist/CommentSection-CpYd7i8U.mjs.map +1 -0
  60. package/dist/CommentSection-CrqweNX4.mjs.map +1 -0
  61. package/dist/CommentSection-G8rMWPrM.mjs.map +1 -0
  62. package/dist/CommentSection-xjY6h7nn.mjs.map +1 -0
  63. package/dist/CommentStore-9WWuGwIj.mjs.map +1 -0
  64. package/dist/{CommentStore-Dv7j94Uo.mjs → CommentStore-ClU882RI.mjs} +2 -2
  65. package/dist/CommentStore-ClU882RI.mjs.map +1 -0
  66. package/dist/ContractPreviewModal-C4_20E99.mjs.map +1 -0
  67. package/dist/{ContractPreviewModal-CPT6bDpJ.mjs → ContractPreviewModal-Dn5MeLFo.mjs} +2 -2
  68. package/dist/ContractPreviewModal-Dn5MeLFo.mjs.map +1 -0
  69. package/dist/{DownloadPodcastButton-6D8qNAkT.mjs → DownloadPodcastButton-BI_sZWcJ.mjs} +3 -3
  70. package/dist/DownloadPodcastButton-BI_sZWcJ.mjs.map +1 -0
  71. package/dist/DownloadPodcastButton-CSRcg8Nl.mjs.map +1 -0
  72. package/dist/EditCommentModal-KAP1l9RK.mjs.map +1 -0
  73. package/dist/{EditCommentModal-aAcjhc0v.mjs → EditCommentModal-RbVMVDOp.mjs} +2 -2
  74. package/dist/EditCommentModal-RbVMVDOp.mjs.map +1 -0
  75. package/dist/{EmissionGroupChooser-Djt1IZg7.mjs → EmissionGroupChooser-BXqM4iXP.mjs} +2 -2
  76. package/dist/EmissionGroupChooser-BXqM4iXP.mjs.map +1 -0
  77. package/dist/EmissionGroupChooser-CO1WBOUi.mjs.map +1 -0
  78. package/dist/EmissionInlineList-B-r4eI3D.mjs.map +1 -0
  79. package/dist/{EmissionInlineList-BcrKpW8S.mjs → EmissionInlineList-Cy1lbYKY.mjs} +6 -6
  80. package/dist/EmissionInlineList-Cy1lbYKY.mjs.map +1 -0
  81. package/dist/EmissionInlineList-IKPyjBTQ.mjs.map +1 -0
  82. package/dist/EmissionItem-982WkWkg.mjs.map +1 -0
  83. package/dist/EmissionItem-B8q9hnN5.mjs.map +1 -0
  84. package/dist/{EmissionItem-DfkPRcPz.mjs → EmissionItem-BwXm3nNx.mjs} +5 -5
  85. package/dist/EmissionItem-BwXm3nNx.mjs.map +1 -0
  86. package/dist/EmissionItem-ZDlQ7B9S.mjs.map +1 -0
  87. package/dist/{EmissionList-DSuGp0JO.mjs → EmissionList-C8OxrndH.mjs} +6 -6
  88. package/dist/EmissionList-C8OxrndH.mjs.map +1 -0
  89. package/dist/EmissionList-C9-UUWMV.mjs.map +1 -0
  90. package/dist/EmissionList-Dk9xS4s_.mjs.map +1 -0
  91. package/dist/EmissionList-nrY7ASws.mjs.map +1 -0
  92. package/dist/EmissionList-vH4NX1NW.mjs.map +1 -0
  93. package/dist/EmissionPage-BHAPlZw-.mjs.map +1 -0
  94. package/dist/EmissionPage-B_2JalGG.mjs.map +1 -0
  95. package/dist/EmissionPage-D4PjyZzN.mjs.map +1 -0
  96. package/dist/EmissionPage-HGPCRuZD.mjs.map +1 -0
  97. package/dist/{EmissionPage-Bo9fK8HE.mjs → EmissionPage-nCNIiWCo.mjs} +25 -18
  98. package/dist/EmissionPage-nCNIiWCo.mjs.map +1 -0
  99. package/dist/EmissionPlayerItem-B_wRzikv.mjs.map +1 -0
  100. package/dist/{EmissionPlayerItem-D21OrPmm.mjs → EmissionPlayerItem-Degbnz9F.mjs} +5 -5
  101. package/dist/EmissionPlayerItem-Degbnz9F.mjs.map +1 -0
  102. package/dist/EmissionPlayerItem-Dkd0o1ee.mjs.map +1 -0
  103. package/dist/EmissionPresentationItem-BQ7HhOlC.mjs.map +1 -0
  104. package/dist/{EmissionPresentationItem-CwDIBurH.mjs → EmissionPresentationItem-CwBGPIgz.mjs} +2 -2
  105. package/dist/EmissionPresentationItem-CwBGPIgz.mjs.map +1 -0
  106. package/dist/{EmissionPresentationList-CASI5laP.mjs → EmissionPresentationList-BKI5mQdw.mjs} +4 -4
  107. package/dist/EmissionPresentationList-BKI5mQdw.mjs.map +1 -0
  108. package/dist/EmissionPresentationList-CLli23rs.mjs.map +1 -0
  109. package/dist/EmissionsPage-CO2xgVOR.mjs.map +1 -0
  110. package/dist/{EmissionsPage-Bw8Qtzlk.mjs → EmissionsPage-Cj7su56Z.mjs} +5 -5
  111. package/dist/EmissionsPage-Cj7su56Z.mjs.map +1 -0
  112. package/dist/EmissionsPage-DJdy0re_.mjs.map +1 -0
  113. package/dist/EmissionsPage-DR9r7_gH.mjs.map +1 -0
  114. package/dist/EmissionsPage-OVNfLKFu.mjs.map +1 -0
  115. package/dist/Error403Page-Ch535DfU.mjs.map +1 -0
  116. package/dist/{Error403Page-nTYCHwTi.mjs → Error403Page-DW2kK8ZZ.mjs} +2 -2
  117. package/dist/Error403Page-DW2kK8ZZ.mjs.map +1 -0
  118. package/dist/FooterGarSection-B76j-WZS.mjs.map +1 -0
  119. package/dist/{FooterGarSection-Cod8Key5.mjs → FooterGarSection-DVdF5RFq.mjs} +4 -4
  120. package/dist/FooterGarSection-DVdF5RFq.mjs.map +1 -0
  121. package/dist/FooterSection-BQiO-D1p.mjs.map +1 -0
  122. package/dist/{FooterSection-4WXBZj7c.mjs → FooterSection-CpYI9OGH.mjs} +5 -5
  123. package/dist/FooterSection-CpYI9OGH.mjs.map +1 -0
  124. package/dist/{HomeDropdown-CVe7yF6Y.mjs → HomeDropdown-D7FezAO8.mjs} +3 -3
  125. package/dist/HomeDropdown-D7FezAO8.mjs.map +1 -0
  126. package/dist/HomeDropdown-DQoMvBgU.mjs.map +1 -0
  127. package/dist/HomePage-BWs_az04.mjs.map +1 -0
  128. package/dist/HomePage-CMPKjRFA.mjs.map +1 -0
  129. package/dist/HomePage-CsXaeTCW.mjs.map +1 -0
  130. package/dist/HomePage-NH7OxpA_.mjs.map +1 -0
  131. package/dist/{HomePage-DupmOw6F.mjs → HomePage-vo6At2bL.mjs} +4 -4
  132. package/dist/HomePage-vo6At2bL.mjs.map +1 -0
  133. package/dist/{PodcastRubriqueList-BeTq7IRu.mjs → InlineRubriqueList-3ZVN9GJk.mjs} +14 -12
  134. package/dist/InlineRubriqueList-3ZVN9GJk.mjs.map +1 -0
  135. package/dist/InlineRubriqueList-D03VCzg8.mjs.map +1 -0
  136. package/dist/LikeSection-DtthHZj6.mjs.map +1 -0
  137. package/dist/{LikeSection-DAid96g9.mjs → LikeSection-jKjhnj88.mjs} +4 -4
  138. package/dist/LikeSection-jKjhnj88.mjs.map +1 -0
  139. package/dist/{ListPaginate-C9saxru9.mjs → ListPaginate-BXNnw_I8.mjs} +3 -3
  140. package/dist/ListPaginate-BXNnw_I8.mjs.map +1 -0
  141. package/dist/ListPaginate-COsL4t78.mjs.map +1 -0
  142. package/dist/ListPaginate-JuC0L113.mjs.map +1 -0
  143. package/dist/LiveHorizontalList-CFs9mGYs.mjs.map +1 -0
  144. package/dist/LiveHorizontalList-CWBQkS78.mjs.map +1 -0
  145. package/dist/LiveHorizontalList-DwPVmnvH.mjs.map +1 -0
  146. package/dist/LiveHorizontalList-jducN58c.mjs.map +1 -0
  147. package/dist/{LiveHorizontalList-OArlzudf.mjs → LiveHorizontalList-wgXkgFLv.mjs} +4 -4
  148. package/dist/LiveHorizontalList-wgXkgFLv.mjs.map +1 -0
  149. package/dist/LiveList-Bp-feBp9.mjs.map +1 -0
  150. package/dist/LiveList-ByyCyWUl.mjs.map +1 -0
  151. package/dist/{LiveList-EqIo_cye.mjs → LiveList-CA5n6VeN.mjs} +6 -6
  152. package/dist/LiveList-CA5n6VeN.mjs.map +1 -0
  153. package/dist/LiveList-Cah5VFun.mjs.map +1 -0
  154. package/dist/LiveList-DTAnN32j.mjs.map +1 -0
  155. package/dist/LivesPage-CNPMz3xS.mjs.map +1 -0
  156. package/dist/{LivesPage-BmHiBN8A.mjs → LivesPage-CTjXgU-Y.mjs} +5 -5
  157. package/dist/LivesPage-CTjXgU-Y.mjs.map +1 -0
  158. package/dist/LivesPage-CdhWyikV.mjs.map +1 -0
  159. package/dist/LivesPage-CwvFSl6G.mjs.map +1 -0
  160. package/dist/LivesPage-DyIfBEPX.mjs.map +1 -0
  161. package/dist/{MapPage-DcXKTGGh.mjs → MapPage-C_nGG0_5.mjs} +3 -3
  162. package/dist/MapPage-C_nGG0_5.mjs.map +1 -0
  163. package/dist/MapPage-DXV40zWN.mjs.map +1 -0
  164. package/dist/{MobileMenu-C0IYBWwF.mjs → MobileMenu-C95GAIm0.mjs} +4 -4
  165. package/dist/MobileMenu-C95GAIm0.mjs.map +1 -0
  166. package/dist/MobileMenu-CfHqWqsL.mjs.map +1 -0
  167. package/dist/NewsletterModal-4Lei4Y59.mjs.map +1 -0
  168. package/dist/{NewsletterModal-BzlUlz3P.mjs → NewsletterModal-B6ky7DBC.mjs} +2 -2
  169. package/dist/NewsletterModal-B6ky7DBC.mjs.map +1 -0
  170. package/dist/OrganisationChooser-BufDZsSd.mjs.map +1 -0
  171. package/dist/{OrganisationChooser-Bm4zqqCH.mjs → OrganisationChooser-CA0_LiTH.mjs} +3 -3
  172. package/dist/OrganisationChooser-CA0_LiTH.mjs.map +1 -0
  173. package/dist/{OrganisationChooserLight-BQ9B91mO.mjs → OrganisationChooserLight-BwG5mNdW.mjs} +2 -2
  174. package/dist/OrganisationChooserLight-BwG5mNdW.mjs.map +1 -0
  175. package/dist/OrganisationChooserLight-C2oGlc9Z.mjs.map +1 -0
  176. package/dist/{PageNotFound-BVQ8M8sO.mjs → PageNotFound-BHpjyNDo.mjs} +3 -3
  177. package/dist/PageNotFound-BHpjyNDo.mjs.map +1 -0
  178. package/dist/PageNotFound-IMnfLZqX.mjs.map +1 -0
  179. package/dist/{ParticipantInlineList-BQtQZFW1.mjs → ParticipantInlineList-A8UwjE4m.mjs} +5 -5
  180. package/dist/ParticipantInlineList-A8UwjE4m.mjs.map +1 -0
  181. package/dist/ParticipantInlineList-BpVOpEBm.mjs.map +1 -0
  182. package/dist/ParticipantInlineList-C5jWxedt.mjs.map +1 -0
  183. package/dist/ParticipantInlineList-C78uhskc.mjs.map +1 -0
  184. package/dist/ParticipantItem--Wv16z3V.mjs.map +1 -0
  185. package/dist/ParticipantItem-B3k4mf2V.mjs.map +1 -0
  186. package/dist/ParticipantItem-DAPOMGZD.mjs.map +1 -0
  187. package/dist/{ParticipantItem-EDPkxTT-.mjs → ParticipantItem-Szz8WXI6.mjs} +4 -4
  188. package/dist/ParticipantItem-Szz8WXI6.mjs.map +1 -0
  189. package/dist/ParticipantPage-BbKUwNKL.mjs.map +1 -0
  190. package/dist/ParticipantPage-Byq-9aCQ.mjs.map +1 -0
  191. package/dist/ParticipantPage-D4RVBlE-.mjs.map +1 -0
  192. package/dist/ParticipantPage-DfLxuZf-.mjs.map +1 -0
  193. package/dist/{ParticipantPage-BF-s1oof.mjs → ParticipantPage-y3OoBod8.mjs} +9 -9
  194. package/dist/ParticipantPage-y3OoBod8.mjs.map +1 -0
  195. package/dist/{ParticipantsPage-Bzt8Hxah.mjs → ParticipantsPage--BxmzVwz.mjs} +7 -7
  196. package/dist/ParticipantsPage--BxmzVwz.mjs.map +1 -0
  197. package/dist/ParticipantsPage-BEPHaCy5.mjs.map +1 -0
  198. package/dist/ParticipantsPage-BlQavFT6.mjs.map +1 -0
  199. package/dist/ParticipantsPage-D8ja25F9.mjs.map +1 -0
  200. package/dist/ParticipantsPage-R8LVrDFY.mjs.map +1 -0
  201. package/dist/{PlayerAnonymousModal-CbrqO1hs.mjs → PlayerAnonymousModal-BGPpTBPW.mjs} +3 -3
  202. package/dist/PlayerAnonymousModal-BGPpTBPW.mjs.map +1 -0
  203. package/dist/PlayerAnonymousModal-BW239BiA.mjs.map +1 -0
  204. package/dist/PlayerCompact-BFC95d7Y.mjs.map +1 -0
  205. package/dist/PlayerCompact-C-WCTFZN.mjs.map +1 -0
  206. package/dist/{PlayerCompact-BtKfz384.mjs → PlayerCompact-DnJns8S2.mjs} +4 -4
  207. package/dist/PlayerCompact-DnJns8S2.mjs.map +1 -0
  208. package/dist/PlayerComponent-B8AGq9pg.mjs.map +1 -0
  209. package/dist/{PlayerComponent-CxNkDcFc.mjs → PlayerComponent-BRBrXVjI.mjs} +27 -39
  210. package/dist/PlayerComponent-BRBrXVjI.mjs.map +1 -0
  211. package/dist/PlayerComponent-BbvNS7sy.mjs.map +1 -0
  212. package/dist/PlayerComponent-By_JAwx_.mjs.map +1 -0
  213. package/dist/PlayerComponent-C425OWjX.mjs.map +1 -0
  214. package/dist/PlayerComponent-C5PNQ3TW.mjs.map +1 -0
  215. package/dist/PlayerComponent-Cnk_vePj.mjs.map +1 -0
  216. package/dist/PlayerComponent-CovfufPB.mjs.map +1 -0
  217. package/dist/PlayerComponent-DC4jQIwE.mjs.map +1 -0
  218. package/dist/PlayerComponent-DEUmVv0M.mjs.map +1 -0
  219. package/dist/PlayerComponent-DOXY0vL0.mjs.map +1 -0
  220. package/dist/PlayerComponent-DajZbHv7.mjs.map +1 -0
  221. package/dist/PlayerComponent-DejSC061.mjs.map +1 -0
  222. package/dist/PlayerComponent-p7W2UNk6.mjs.map +1 -0
  223. package/dist/PlayerLarge-3zzN7qom.mjs.map +1 -0
  224. package/dist/{PlayerLarge-BH6BLQxk.mjs → PlayerLarge-B97rRmrJ.mjs} +12 -10
  225. package/dist/PlayerLarge-B97rRmrJ.mjs.map +1 -0
  226. package/dist/PlayerLarge-BzwrEgVR.mjs.map +1 -0
  227. package/dist/PlayerLarge-CLOwDO6Q.mjs.map +1 -0
  228. package/dist/PlayerLarge-Chv7pMOU.mjs.map +1 -0
  229. package/dist/PlayerLarge-CkWGaDiY.mjs.map +1 -0
  230. package/dist/PlayerLarge-D0NMzCRi.mjs.map +1 -0
  231. package/dist/PlayerLarge-D3obSnYt.mjs.map +1 -0
  232. package/dist/PlayerLarge-DLGXpE3K.mjs.map +1 -0
  233. package/dist/PlayerLarge-QtUrqNm5.mjs.map +1 -0
  234. package/dist/PlayerLarge-juuY9yOX.mjs.map +1 -0
  235. package/dist/PlayerLarge-n7zyM6b_.mjs.map +1 -0
  236. package/dist/PlayerLarge-o4FVk0QB.mjs.map +1 -0
  237. package/dist/PlayerLarge-tMW3v2La.mjs.map +1 -0
  238. package/dist/PlayerPlayButton-CTu0337E.mjs.map +1 -0
  239. package/dist/PlayerPlayButton-CfJWIpoP.mjs.map +1 -0
  240. package/dist/{PlayerPlayButton-DT2OdqnI.mjs → PlayerPlayButton-zKdHGzFr.mjs} +5 -5
  241. package/dist/PlayerPlayButton-zKdHGzFr.mjs.map +1 -0
  242. package/dist/{PlayerProgressBar-CSYnPjZb.mjs → PlayerProgressBar-BG5NG596.mjs} +4 -4
  243. package/dist/PlayerProgressBar-BG5NG596.mjs.map +1 -0
  244. package/dist/PlayerProgressBar-Cjv8JVY2.mjs.map +1 -0
  245. package/dist/PlayerProgressBar-Co0_YEF3.mjs.map +1 -0
  246. package/dist/PlayerStore-B-L2PQ_b.mjs.map +1 -0
  247. package/dist/PlayerStore-C2XzSrF5.mjs.map +1 -0
  248. package/dist/{PlayerStore-DukkcHI_.mjs → PlayerStore-vYmnOEA_.mjs} +3 -3
  249. package/dist/PlayerStore-vYmnOEA_.mjs.map +1 -0
  250. package/dist/PlayerVideo-DD6NaGkU.mjs.map +1 -0
  251. package/dist/{PlayerVideo-_Uz00K_T.mjs → PlayerVideo-Ds0oYeTC.mjs} +5 -5
  252. package/dist/PlayerVideo-Ds0oYeTC.mjs.map +1 -0
  253. package/dist/PlayerVideo-cYHZOYMv.mjs.map +1 -0
  254. package/dist/PlayerVideoDigiteka-BPJdJNEB.mjs.map +1 -0
  255. package/dist/{PlayerVideoDigiteka-CjfuxXBF.mjs → PlayerVideoDigiteka-C7xb0ndg.mjs} +3 -3
  256. package/dist/PlayerVideoDigiteka-C7xb0ndg.mjs.map +1 -0
  257. package/dist/PlayerVideoDigiteka-oqtYXqYK.mjs.map +1 -0
  258. package/dist/PlayerVideoHls-CB4psqbz.mjs.map +1 -0
  259. package/dist/{PlayerVideoHls-Dms7iTSo.mjs → PlayerVideoHls-xSNqzBEw.mjs} +4 -4
  260. package/dist/PlayerVideoHls-xSNqzBEw.mjs.map +1 -0
  261. package/dist/PlayerVideoHls-zNbegJFp.mjs.map +1 -0
  262. package/dist/PlaylistPage-BUj1Lzfp.mjs.map +1 -0
  263. package/dist/PlaylistPage-BhcJkM15.mjs.map +1 -0
  264. package/dist/PlaylistPage-BsHMB2nn.mjs.map +1 -0
  265. package/dist/{PlaylistPage-CQX0LhXn.mjs → PlaylistPage-D4mcAo00.mjs} +12 -12
  266. package/dist/PlaylistPage-D4mcAo00.mjs.map +1 -0
  267. package/dist/PlaylistPage-DjAgejp8.mjs.map +1 -0
  268. package/dist/PlaylistsPage-B3V5-WT9.mjs.map +1 -0
  269. package/dist/PlaylistsPage-DSjvWTw5.mjs.map +1 -0
  270. package/dist/{PlaylistsPage-Bd-u4qlc.mjs → PlaylistsPage-Dr6HKHf8.mjs} +7 -7
  271. package/dist/PlaylistsPage-Dr6HKHf8.mjs.map +1 -0
  272. package/dist/PodcastFilterList-C-8AF1Dn.mjs.map +1 -0
  273. package/dist/{PodcastFilterList-DkH6bqv_.mjs → PodcastFilterList-CYwPiGko.mjs} +3 -3
  274. package/dist/PodcastFilterList-CYwPiGko.mjs.map +1 -0
  275. package/dist/PodcastFilterList-C_d1SyTB.mjs.map +1 -0
  276. package/dist/PodcastFilterList-ClMsIUaO.mjs.map +1 -0
  277. package/dist/PodcastFilterList-DBS0kvW6.mjs.map +1 -0
  278. package/dist/PodcastImage-B8o3T5zK.mjs.map +1 -0
  279. package/dist/{PodcastImage-BtxcPlrh.mjs → PodcastImage-Bs1lpubL.mjs} +4 -4
  280. package/dist/PodcastImage-Bs1lpubL.mjs.map +1 -0
  281. package/dist/PodcastImage-DBB5689n.mjs.map +1 -0
  282. package/dist/PodcastImage-DNLZH0dY.mjs.map +1 -0
  283. package/dist/PodcastImage-DrV8oxG8.mjs.map +1 -0
  284. package/dist/{PodcastInlineList-CVWfH5np.mjs → PodcastInlineList-B7-2QswT.mjs} +2 -2
  285. package/dist/PodcastInlineList-B7-2QswT.mjs.map +1 -0
  286. package/dist/PodcastInlineList-BVMV6Wvd.mjs.map +1 -0
  287. package/dist/PodcastInlineList-BXPpF0YD.mjs.map +1 -0
  288. package/dist/PodcastInlineList-CLjO1SpD.mjs.map +1 -0
  289. package/dist/PodcastInlineList-Cf5YF0j9.mjs.map +1 -0
  290. package/dist/PodcastInlineListTemplate-BX0tXOFx.mjs.map +1 -0
  291. package/dist/{PodcastInlineListTemplate-BWw1Ix-7.mjs → PodcastInlineListTemplate-DCWn3r7s.mjs} +4 -4
  292. package/dist/PodcastInlineListTemplate-DCWn3r7s.mjs.map +1 -0
  293. package/dist/PodcastIsPlaying-BG1_FgVX.mjs.map +1 -0
  294. package/dist/{PodcastIsPlaying-B7YVeSyB.mjs → PodcastIsPlaying-BsObdQGR.mjs} +2 -2
  295. package/dist/PodcastIsPlaying-BsObdQGR.mjs.map +1 -0
  296. package/dist/PodcastIsPlaying-Csd-C2jr.mjs.map +1 -0
  297. package/dist/PodcastItem-CGmEwYT4.mjs.map +1 -0
  298. package/dist/PodcastItem-CN6gwARQ.mjs.map +1 -0
  299. package/dist/PodcastItem-CdLjZKxf.mjs.map +1 -0
  300. package/dist/PodcastItem-D1MwHzhE.mjs.map +1 -0
  301. package/dist/{PodcastItem-CFk8MX9D.mjs → PodcastItem-_8ErwIDG.mjs} +7 -7
  302. package/dist/PodcastItem-_8ErwIDG.mjs.map +1 -0
  303. package/dist/PodcastList-BXla7F3u.mjs.map +1 -0
  304. package/dist/PodcastList-BqE8dwdc.mjs.map +1 -0
  305. package/dist/PodcastList-BvC6iOS6.mjs.map +1 -0
  306. package/dist/PodcastList-CRwA-s7F.mjs.map +1 -0
  307. package/dist/PodcastList-CVFr9WNS.mjs.map +1 -0
  308. package/dist/PodcastList-DZKxDulS.mjs.map +1 -0
  309. package/dist/{PodcastList-BLXPFjvL.mjs → PodcastList-DgLQjL0d.mjs} +6 -6
  310. package/dist/PodcastList-DgLQjL0d.mjs.map +1 -0
  311. package/dist/{PodcastList-c0Iwzakm.mjs → PodcastList-DhKeiBbv.mjs} +5 -5
  312. package/dist/PodcastList-DhKeiBbv.mjs.map +1 -0
  313. package/dist/PodcastList-Dtq6kEG4.mjs.map +1 -0
  314. package/dist/PodcastList-Dx-mo7Wo.mjs.map +1 -0
  315. package/dist/{PodcastPage-C_d9FaS7.mjs → PodcastPage-C5OCwW8q.mjs} +23 -23
  316. package/dist/PodcastPage-C5OCwW8q.mjs.map +1 -0
  317. package/dist/PodcastPage-CsVqOGWc.mjs.map +1 -0
  318. package/dist/PodcastPage-DQInD9ry.mjs.map +1 -0
  319. package/dist/PodcastPage-Dka9GEzi.mjs.map +1 -0
  320. package/dist/PodcastPage-acKIH0vO.mjs.map +1 -0
  321. package/dist/PodcastPlayBar-AgtR8Ia9.mjs.map +1 -0
  322. package/dist/PodcastPlayBar-D7CyLEM4.mjs.map +1 -0
  323. package/dist/{PodcastPlayBar-WjGn_KlZ.mjs → PodcastPlayBar-DC5HCx76.mjs} +4 -4
  324. package/dist/PodcastPlayBar-DC5HCx76.mjs.map +1 -0
  325. package/dist/PodcastPlayBasicButton-DHYxw3NX.mjs.map +1 -0
  326. package/dist/{PodcastPlayBasicButton-BNKlqhGR.mjs → PodcastPlayBasicButton-PJHza4d_.mjs} +2 -2
  327. package/dist/PodcastPlayBasicButton-PJHza4d_.mjs.map +1 -0
  328. package/dist/PodcastPlayBasicButton-gK82n3YL.mjs.map +1 -0
  329. package/dist/{PodcastPlayButton-B9hWbPEk.mjs → PodcastPlayButton-1eaXWTlG.mjs} +4 -4
  330. package/dist/PodcastPlayButton-1eaXWTlG.mjs.map +1 -0
  331. package/dist/PodcastPlayButton-Bosq5ozq.mjs.map +1 -0
  332. package/dist/PodcastPlayButton-DIQi57Oh.mjs.map +1 -0
  333. package/dist/PodcastPlayButton-DcjbCnlT.mjs.map +1 -0
  334. package/dist/PodcastPlayButton-DgSCyhrd.mjs.map +1 -0
  335. package/dist/PodcastPlaylistInlineList-C0HZum5z.mjs.map +1 -0
  336. package/dist/PodcastPlaylistInlineList-CSziI2j4.mjs.map +1 -0
  337. package/dist/PodcastPlaylistInlineList-CvX2rauY.mjs.map +1 -0
  338. package/dist/PodcastPlaylistInlineList-H_rnCHag.mjs.map +1 -0
  339. package/dist/{PodcastPlaylistInlineList-_csxbYAx.mjs → PodcastPlaylistInlineList-XTbhC8OJ.mjs} +5 -5
  340. package/dist/PodcastPlaylistInlineList-XTbhC8OJ.mjs.map +1 -0
  341. package/dist/{PodcastPresentationList-BD8XmnW0.mjs → PodcastPresentationList-BUl5Rq83.mjs} +5 -5
  342. package/dist/PodcastPresentationList-BUl5Rq83.mjs.map +1 -0
  343. package/dist/PodcastPresentationList-BvkEDbtG.mjs.map +1 -0
  344. package/dist/PodcastPresentationList-C0n-xr5w.mjs.map +1 -0
  345. package/dist/PodcastPresentationList-CnrMkINf.mjs.map +1 -0
  346. package/dist/PodcastPresentationList-DC-Oi_eK.mjs.map +1 -0
  347. package/dist/PodcastProgressBar-CP-0ptRF.mjs.map +1 -0
  348. package/dist/{PodcastProgressBar-B3XOeeJx.mjs → PodcastProgressBar-VG-mRcpi.mjs} +4 -4
  349. package/dist/PodcastProgressBar-VG-mRcpi.mjs.map +1 -0
  350. package/dist/PodcastProgressBar-jY43GoFx.mjs.map +1 -0
  351. package/dist/PodcastRawTranscript-BAu-dt2V.mjs.map +1 -0
  352. package/dist/{PodcastRawTranscript-D0Nm7jGM.mjs → PodcastRawTranscript-Bf6f5yNd.mjs} +3 -3
  353. package/dist/PodcastRawTranscript-Bf6f5yNd.mjs.map +1 -0
  354. package/dist/{PodcastSwiperList-DJ0O3dqM.mjs → PodcastSwiperList-BhulNkN-.mjs} +5 -5
  355. package/dist/PodcastSwiperList-BhulNkN-.mjs.map +1 -0
  356. package/dist/PodcastSwiperList-CGeumBPj.mjs.map +1 -0
  357. package/dist/PodcastSwiperList-CzUkS6M6.mjs.map +1 -0
  358. package/dist/PodcastSwiperList-DLKOAjUS.mjs.map +1 -0
  359. package/dist/PodcastSwiperList-DaTHwrHm.mjs.map +1 -0
  360. package/dist/PodcastmakerHeader-BZT-U0KX.mjs.map +1 -0
  361. package/dist/{PodcastmakerHeader-DAATtOG_.mjs → PodcastmakerHeader-Df0g2dCr.mjs} +2 -2
  362. package/dist/PodcastmakerHeader-Df0g2dCr.mjs.map +1 -0
  363. package/dist/PodcastsPage-B-Qzlif0.mjs.map +1 -0
  364. package/dist/PodcastsPage-BoK55Z9G.mjs.map +1 -0
  365. package/dist/PodcastsPage-CTzbr2VD.mjs.map +1 -0
  366. package/dist/{PodcastsPage-ZhEVoMp1.mjs → PodcastsPage-DSJUPRZE.mjs} +5 -5
  367. package/dist/PodcastsPage-DSJUPRZE.mjs.map +1 -0
  368. package/dist/PodcastsPage-Jg_jAix6.mjs.map +1 -0
  369. package/dist/{ProductorSearch-xs0kzX_E.mjs → ProductorSearch-BTj9gIOs.mjs} +3 -3
  370. package/dist/ProductorSearch-BTj9gIOs.mjs.map +1 -0
  371. package/dist/ProductorSearch-ziDbxrDd.mjs.map +1 -0
  372. package/dist/ProgressBar-BOq9RfZ2.mjs.map +1 -0
  373. package/dist/{ProgressBar-0DSoUTwB.mjs → ProgressBar-BVc0_6Lv.mjs} +2 -2
  374. package/dist/ProgressBar-BVc0_6Lv.mjs.map +1 -0
  375. package/dist/ProgressBar-Cgt2PqnO.mjs.map +1 -0
  376. package/dist/QrCode-DNiPIFIA.mjs.map +1 -0
  377. package/dist/{QrCode-CUP2O18d.mjs → QrCode-MCv4t_Bn.mjs} +2 -2
  378. package/dist/QrCode-MCv4t_Bn.mjs.map +1 -0
  379. package/dist/{QrCodeModal-DXBCuki7.mjs → QrCodeModal-Be8E0JlC.mjs} +2 -2
  380. package/dist/QrCodeModal-Be8E0JlC.mjs.map +1 -0
  381. package/dist/QrCodeModal-DYDKLLuw.mjs.map +1 -0
  382. package/dist/RadioCurrently-BJOmCSby.mjs.map +1 -0
  383. package/dist/RadioCurrently-CZePLInZ.mjs.map +1 -0
  384. package/dist/{RadioCurrently-D5M81oIX.mjs → RadioCurrently-DWySwV64.mjs} +4 -4
  385. package/dist/RadioCurrently-DWySwV64.mjs.map +1 -0
  386. package/dist/RadioHistory-7EGvEAMx.mjs.map +1 -0
  387. package/dist/RadioHistory-BdMa013x.mjs.map +1 -0
  388. package/dist/{RadioHistory-BgOve4jk.mjs → RadioHistory-DlQFZYp2.mjs} +3 -3
  389. package/dist/RadioHistory-DlQFZYp2.mjs.map +1 -0
  390. package/dist/{RadioImage-CUTRr3DL.mjs → RadioImage-BIe2KpG_.mjs} +5 -5
  391. package/dist/RadioImage-BIe2KpG_.mjs.map +1 -0
  392. package/dist/RadioImage-CXFZXN1N.mjs.map +1 -0
  393. package/dist/RadioImage-CpJmuc8a.mjs.map +1 -0
  394. package/dist/{RadioList-CwzOFHc1.mjs → RadioList-B23gsiEF.mjs} +5 -5
  395. package/dist/RadioList-B23gsiEF.mjs.map +1 -0
  396. package/dist/RadioList-BwzgNcMO.mjs.map +1 -0
  397. package/dist/RadioList-KvAacjmD.mjs.map +1 -0
  398. package/dist/RadioPage-CM_4A1AQ.mjs.map +1 -0
  399. package/dist/RadioPage-DkBL81mI.mjs.map +1 -0
  400. package/dist/{RadioPage-DVflzCV-.mjs → RadioPage-Jg2kmtna.mjs} +11 -11
  401. package/dist/RadioPage-Jg2kmtna.mjs.map +1 -0
  402. package/dist/{RadioPlanning-CJ7Qqyhs.mjs → RadioPlanning-2aWTnbZb.mjs} +3 -3
  403. package/dist/RadioPlanning-2aWTnbZb.mjs.map +1 -0
  404. package/dist/RadioPlanning-DHxcBVQo.mjs.map +1 -0
  405. package/dist/RadioProgressBar-BHAawrHe.mjs.map +1 -0
  406. package/dist/RadioProgressBar-CPjLAoPB.mjs.map +1 -0
  407. package/dist/{RadioProgressBar-BmJbzzQA.mjs → RadioProgressBar-yIz1oI5d.mjs} +2 -2
  408. package/dist/RadioProgressBar-yIz1oI5d.mjs.map +1 -0
  409. package/dist/RecaptchaModal-DKugsU7h.mjs.map +1 -0
  410. package/dist/{RecaptchaModal-DX9rAHUg.mjs → RecaptchaModal-dfMCfebx.mjs} +2 -2
  411. package/dist/RecaptchaModal-dfMCfebx.mjs.map +1 -0
  412. package/dist/ReportAbuseModal-Bxr7NTvH.mjs.map +1 -0
  413. package/dist/{ReportAbuseModal-CYCRaFAY.mjs → ReportAbuseModal-DZKRbYXJ.mjs} +4 -4
  414. package/dist/ReportAbuseModal-DZKRbYXJ.mjs.map +1 -0
  415. package/dist/RightsIndicator-BgW0q3af.mjs.map +1 -0
  416. package/dist/RightsIndicator-BtzqiPWc.mjs.map +1 -0
  417. package/dist/{RightsIndicator-qIU4_wiF.mjs → RightsIndicator-D5I3DOfO.mjs} +2 -2
  418. package/dist/RightsIndicator-D5I3DOfO.mjs.map +1 -0
  419. package/dist/RightsIndicator-NOZ05rEh.mjs.map +1 -0
  420. package/dist/RightsWrapper-Cv41FXNO.mjs.map +1 -0
  421. package/dist/{RightsWrapper-Cs6prZ3E.mjs → RightsWrapper-HasUbnny.mjs} +3 -3
  422. package/dist/RightsWrapper-HasUbnny.mjs.map +1 -0
  423. package/dist/{RubriqueFilter-OA_DJKL1.mjs → RubriqueFilter-3SPVH4nT.mjs} +3 -3
  424. package/dist/RubriqueFilter-3SPVH4nT.mjs.map +1 -0
  425. package/dist/RubriqueFilter-B_F2fyA0.mjs.map +1 -0
  426. package/dist/RubriqueList-CalsqgcR.mjs.map +1 -0
  427. package/dist/{RubriqueList-B94NM5yi.mjs → RubriqueList-TnVM2-Ry.mjs} +3 -3
  428. package/dist/RubriqueList-TnVM2-Ry.mjs.map +1 -0
  429. package/dist/RubriquePage-BhneK7GY.mjs.map +1 -0
  430. package/dist/RubriquePage-CPV9lztT.mjs.map +1 -0
  431. package/dist/{RubriquePage-DyusiBmp.mjs → RubriquePage-D223TaA2.mjs} +5 -5
  432. package/dist/RubriquePage-D223TaA2.mjs.map +1 -0
  433. package/dist/RubriquePage-DriBVVmv.mjs.map +1 -0
  434. package/dist/RubriquePage-x_tOmQCH.mjs.map +1 -0
  435. package/dist/SearchPage-B-KDO-5r.mjs.map +1 -0
  436. package/dist/{SearchPage-BGOBGS4j.mjs → SearchPage-BH1gYkHn.mjs} +3 -3
  437. package/dist/SearchPage-BH1gYkHn.mjs.map +1 -0
  438. package/dist/SearchPage-CXOoJF_2.mjs.map +1 -0
  439. package/dist/SearchPage-DyX_tEm5.mjs.map +1 -0
  440. package/dist/SearchPage-IvX74fSJ.mjs.map +1 -0
  441. package/dist/{ShareAnonymous-Chfdzzra.mjs → ShareAnonymous-4UxjKrIe.mjs} +6 -6
  442. package/dist/ShareAnonymous-4UxjKrIe.mjs.map +1 -0
  443. package/dist/ShareAnonymous-C4xPMrgf.mjs.map +1 -0
  444. package/dist/{ShareModalPlayer-CLY_JFFD.mjs → ShareModalPlayer-B0wPlpdU.mjs} +2 -2
  445. package/dist/ShareModalPlayer-B0wPlpdU.mjs.map +1 -0
  446. package/dist/ShareModalPlayer-CEvDV-I_.mjs.map +1 -0
  447. package/dist/ShareNewsletter-Bno5t4ay.mjs.map +1 -0
  448. package/dist/{ShareNewsletter-B4dn4-jA.mjs → ShareNewsletter-Cf9w-I6c.mjs} +2 -2
  449. package/dist/ShareNewsletter-Cf9w-I6c.mjs.map +1 -0
  450. package/dist/SharePlayer-BLqYnywl.mjs.map +1 -0
  451. package/dist/{SharePlayer-wHDYsWYd.mjs → SharePlayer-Oy1pWckd.mjs} +4 -4
  452. package/dist/SharePlayer-Oy1pWckd.mjs.map +1 -0
  453. package/dist/{SharePlayerRadio-D3LXD_gK.mjs → SharePlayerRadio-CI6glNuI.mjs} +3 -3
  454. package/dist/SharePlayerRadio-CI6glNuI.mjs.map +1 -0
  455. package/dist/SharePlayerRadio-c_HFTupz.mjs.map +1 -0
  456. package/dist/SharePlayerTypes-Dkmmw2We.mjs.map +1 -0
  457. package/dist/{SharePlayerTypes-eYSeVl-W.mjs → SharePlayerTypes-cUgCFZ65.mjs} +2 -2
  458. package/dist/SharePlayerTypes-cUgCFZ65.mjs.map +1 -0
  459. package/dist/{ShareSocialsButtons-iHtSoQ3K.mjs → ShareSocialsButtons-BYsXc2Jr.mjs} +2 -2
  460. package/dist/ShareSocialsButtons-BYsXc2Jr.mjs.map +1 -0
  461. package/dist/ShareSocialsButtons-DZLZc1c6.mjs.map +1 -0
  462. package/dist/SimpleLayout-BCsUQENG.mjs.map +1 -0
  463. package/dist/SimpleLayout-BGKNHHjx.mjs.map +1 -0
  464. package/dist/SimpleLayout-BHIdltFB.mjs.map +1 -0
  465. package/dist/SimpleLayout-BKkwQmN6.mjs.map +1 -0
  466. package/dist/SimpleLayout-BORx9hRX.mjs.map +1 -0
  467. package/dist/{SimpleLayout-Bk74CAAr.mjs → SimpleLayout-BTJyAJO6.mjs} +3 -3
  468. package/dist/SimpleLayout-BTJyAJO6.mjs.map +1 -0
  469. package/dist/SimpleLayout-BvOAauzs.mjs.map +1 -0
  470. package/dist/SimpleLayout-C3xekYgM.mjs.map +1 -0
  471. package/dist/SimpleLayout-C4xNk0R4.mjs.map +1 -0
  472. package/dist/SimpleLayout-CDcsE-Be.mjs.map +1 -0
  473. package/dist/SimpleLayout-D3M_c1Eu.mjs.map +1 -0
  474. package/dist/SimpleLayout-DJgC3LcZ.mjs.map +1 -0
  475. package/dist/SimpleLayout-DkvEZxow.mjs.map +1 -0
  476. package/dist/SimpleLayout-gtbBGlVV.mjs.map +1 -0
  477. package/dist/SmartLinkPage-BF8hfaWZ.mjs.map +1 -0
  478. package/dist/{SmartLinkPage-DbuQT8GM.mjs → SmartLinkPage-DQljzYa-.mjs} +5 -5
  479. package/dist/SmartLinkPage-DQljzYa-.mjs.map +1 -0
  480. package/dist/SmartLinkPage-DmlqwhYP.mjs.map +1 -0
  481. package/dist/SubscribeButtons-DO4MRuDr.mjs.map +1 -0
  482. package/dist/{SubscribeButtons-rnonTVzT.mjs → SubscribeButtons-lAAMYQCm.mjs} +3 -3
  483. package/dist/SubscribeButtons-lAAMYQCm.mjs.map +1 -0
  484. package/dist/{SwiperList-C1v0T1wx.mjs → SwiperList-C51H-enh.mjs} +2 -2
  485. package/dist/SwiperList-C51H-enh.mjs.map +1 -0
  486. package/dist/SwiperList-Dsq1MFX6.mjs.map +1 -0
  487. package/dist/TagList-B5C9zojs.mjs.map +1 -0
  488. package/dist/{TagList-VeuYS_zJ.mjs → TagList-D3Bn2fIn.mjs} +2 -2
  489. package/dist/TagList-D3Bn2fIn.mjs.map +1 -0
  490. package/dist/TagPage-B71pZpRY.mjs.map +1 -0
  491. package/dist/{TagPage-Bd81QJHn.mjs → TagPage-Brw9iL1F.mjs} +4 -4
  492. package/dist/TagPage-Brw9iL1F.mjs.map +1 -0
  493. package/dist/TagPage-CWRyUZkD.mjs.map +1 -0
  494. package/dist/TagPage-DFo25ZeP.mjs.map +1 -0
  495. package/dist/TagPage-sI917OpV.mjs.map +1 -0
  496. package/dist/TopBar-CaCA8kOs.mjs.map +1 -0
  497. package/dist/{TopBar-CZVp2T7C.mjs → TopBar-DIdhyJi_.mjs} +7 -7
  498. package/dist/TopBar-DIdhyJi_.mjs.map +1 -0
  499. package/dist/{UserButtonContent-DmNyGmWr.mjs → UserButtonContent-D13cVA34.mjs} +7 -7
  500. package/dist/UserButtonContent-D13cVA34.mjs.map +1 -0
  501. package/dist/UserButtonContent-DMKyXEmF.mjs.map +1 -0
  502. package/dist/{VideoModuleBox-yJZpgCw6.mjs → VideoModuleBox-CFQmvPrA.mjs} +2 -2
  503. package/dist/VideoModuleBox-CFQmvPrA.mjs.map +1 -0
  504. package/dist/VideoModuleBox-DsBLAMrh.mjs.map +1 -0
  505. package/dist/VideoPage-CfJeWV-R.mjs.map +1 -0
  506. package/dist/VideoPage-CnIZYz-k.mjs.map +1 -0
  507. package/dist/VideoPage-D6UNKt2D.mjs.map +1 -0
  508. package/dist/{VideoPage-y6G4Y2Zi.mjs → VideoPage-DU9dJviO.mjs} +10 -10
  509. package/dist/VideoPage-DU9dJviO.mjs.map +1 -0
  510. package/dist/VideoPage-OIb28KAS.mjs.map +1 -0
  511. package/dist/classicApi-C70YSK8J.mjs.map +1 -0
  512. package/dist/classicApi-DuzZv1Wk.mjs.map +1 -1
  513. package/dist/{classicApi-CkDHWZG1.mjs → classicApi-xjOqAovv.mjs} +11 -8
  514. package/dist/classicApi-xjOqAovv.mjs.map +1 -0
  515. package/dist/downloadHelper-C4q0i5xN.mjs.map +1 -0
  516. package/dist/{downloadHelper-DLdkblYN.mjs → downloadHelper-DY3fF3dA.mjs} +2 -2
  517. package/dist/downloadHelper-DY3fF3dA.mjs.map +1 -0
  518. package/dist/index.mjs +102 -97
  519. package/dist/index.mjs.map +1 -1
  520. package/dist/tests.mjs +2 -2
  521. package/dist/{useAdvancedParamInit-B7G2Mvjv.mjs → useAdvancedParamInit-CCprE3H2.mjs} +6 -6
  522. package/dist/useAdvancedParamInit-CCprE3H2.mjs.map +1 -0
  523. package/dist/useAdvancedParamInit-CT8CdPFW.mjs.map +1 -0
  524. package/dist/useDayjs-BPXVSBns.mjs.map +1 -0
  525. package/dist/{useDayjs-C3cnTiDW.mjs → useDayjs-DPVjvJPN.mjs} +2 -2
  526. package/dist/useDayjs-DPVjvJPN.mjs.map +1 -0
  527. package/dist/useErrorHandler-BxQT9ZGf.mjs.map +1 -0
  528. package/dist/{useErrorHandler-DtLjD9t_.mjs → useErrorHandler-D3XVxUh6.mjs} +2 -2
  529. package/dist/useErrorHandler-D3XVxUh6.mjs.map +1 -0
  530. package/dist/{useImageProxy-Bj0cOCct.mjs → useImageProxy-BdQJmj4a.mjs} +2 -2
  531. package/dist/useImageProxy-BdQJmj4a.mjs.map +1 -0
  532. package/dist/useImageProxy-DROuweGY.mjs.map +1 -0
  533. package/dist/{useOrgaComputed-BLSpEDfb.mjs → useOrgaComputed-B2Bq0VBT.mjs} +2 -2
  534. package/dist/useOrgaComputed-B2Bq0VBT.mjs.map +1 -0
  535. package/dist/useOrgaComputed-CGomgs0r.mjs.map +1 -0
  536. package/dist/{usePlayerLogicProgress-75G9QMg_.mjs → usePlayerLogicProgress-DcHbYGOR.mjs} +3 -3
  537. package/dist/usePlayerLogicProgress-DcHbYGOR.mjs.map +1 -0
  538. package/dist/usePlayerLogicProgress-Dchl5sUO.mjs.map +1 -0
  539. package/dist/usePlayerLogicProgress-lqnQ5qNd.mjs.map +1 -0
  540. package/dist/{usePodcastView-BftS642h.mjs → usePodcastView-BDZ6CGQj.mjs} +4 -4
  541. package/dist/usePodcastView-BDZ6CGQj.mjs.map +1 -0
  542. package/dist/usePodcastView-CI5le-WW.mjs.map +1 -0
  543. package/dist/usePresentationItem-Cw9fBYUi.mjs.map +1 -0
  544. package/dist/{usePresentationItem-CNXIk-Sf.mjs → usePresentationItem-UwAuhVqo.mjs} +4 -4
  545. package/dist/usePresentationItem-UwAuhVqo.mjs.map +1 -0
  546. package/dist/useRights-D8CLzCMH.mjs.map +1 -0
  547. package/dist/{useRights-Co0TgD8y.mjs → useRights-DSZ-5pFg.mjs} +2 -2
  548. package/dist/useRights-DSZ-5pFg.mjs.map +1 -0
  549. package/dist/{useRubriquesFilterComputed-VsdTUNL6.mjs → useRubriquesFilterComputed-BkDeXTf-.mjs} +2 -2
  550. package/dist/useRubriquesFilterComputed-BkDeXTf-.mjs.map +1 -0
  551. package/dist/useRubriquesFilterComputed-Bkre15fg.mjs.map +1 -0
  552. package/dist/useRubriquesFilterParam-BmE8v1fS.mjs.map +1 -0
  553. package/dist/{useRubriquesFilterParam--x07HEw1.mjs → useRubriquesFilterParam-Delgf48y.mjs} +2 -2
  554. package/dist/useRubriquesFilterParam-Delgf48y.mjs.map +1 -0
  555. package/dist/{useSharePlatforms-CSSRTkTG.mjs → useSharePlatforms-07n3JYu2.mjs} +3 -3
  556. package/dist/useSharePlatforms-07n3JYu2.mjs.map +1 -0
  557. package/dist/useSharePlatforms-B_3OwBFv.mjs.map +1 -0
  558. package/dist/{useSimplePageParam-ClaGQ9yj.mjs → useSimplePageParam-CsY_ie3c.mjs} +2 -2
  559. package/dist/useSimplePageParam-CsY_ie3c.mjs.map +1 -0
  560. package/dist/useSimplePageParam-ki2VyM-X.mjs.map +1 -0
  561. package/dist/{useTranslation-BNshNMQT.mjs → useTranslation-ChEasnl9.mjs} +25 -8
  562. package/dist/useTranslation-ChEasnl9.mjs.map +1 -0
  563. package/dist/useTranslation-D0R0BSx9.mjs.map +1 -0
  564. package/dist/usefetchRadioData-BPmkztGC.mjs.map +1 -0
  565. package/dist/{usefetchRadioData-C2cwiaCP.mjs → usefetchRadioData-CkrAfN1c.mjs} +2 -2
  566. package/dist/usefetchRadioData-CkrAfN1c.mjs.map +1 -0
  567. package/package.json +1 -1
  568. package/src/components/composable/player/usePlayerLive.ts +8 -7
  569. package/src/stores/AuthStore.ts +2 -0
@@ -1215,6 +1215,15 @@ async function searchRubriques(searchOptions) {
1215
1215
  });
1216
1216
  }
1217
1217
  /**
1218
+ * Fetch rubriques data by multiple ID
1219
+ * @param rubriqueId ID of the rubrique to fetch
1220
+ * @returns The rubrique
1221
+ */
1222
+ async function getAllRubriquesById(rubriqueIds) {
1223
+ const promises = rubriqueIds.map(getRubrique);
1224
+ return await Promise.all(promises);
1225
+ }
1226
+ /**
1218
1227
  * Fetch rubrique data by ID
1219
1228
  * @see getCachedRubrique
1220
1229
  * @param rubriqueId ID of the rubrique to fetch
@@ -1298,6 +1307,7 @@ async function setUserScope(userId, previousScope, rubriqueIds) {
1298
1307
  var rubriquesApi = {
1299
1308
  createRubriquage,
1300
1309
  findRestrictiveRubriquage,
1310
+ getAllRubriquesById,
1301
1311
  getRubriquage,
1302
1312
  getRubrique,
1303
1313
  getCachedRubrique,
@@ -1544,13 +1554,6 @@ var useAuthStore = defineStore("AuthStore", {
1544
1554
  });
1545
1555
  const [profileData, availablesOrganisations] = await Promise.all([profileDataPromise, availablesOrganisationsPromise]);
1546
1556
  const scope = [];
1547
- try {
1548
- const s = await rubriquesApi.listUserScope(profileData.sub);
1549
- scope.push(...s);
1550
- } catch (e) {
1551
- console.error(e);
1552
- scope.push(-1);
1553
- }
1554
1557
  const array = (availablesOrganisations ?? []).toSorted(function(a, b) {
1555
1558
  if (a.name.toLowerCase() < b.name.toLowerCase()) return -1;
1556
1559
  if (a.name.toLowerCase() > b.name.toLowerCase()) return 1;
@@ -1905,4 +1908,4 @@ var classicApi_default = {
1905
1908
  //#endregion
1906
1909
  export { state as A, emissionApi as C, getApiUrl as D, ModuleApi as E, useApiStore as O, transcriptionApi as S, useSaveFetchStore as T, playlistApi as _, useSubOrganisations as a, groupsApi as b, RUBRIQUAGE_HOMEORDER_RESET as c, aggregatorsApi as d, radioApi as f, registerI18n as g, loadLocaleMessages as h, useAuthStore as i, ParamSdkStore_default as k, RubriquageMode as l, podcastApi as m, fetchHelper_default as n, slugify as o, PodcastSort as p, useFilterStore as r, rubriquesApi as s, classicApi_default as t, mediathequeApi as u, unique as v, useNotificationStore as w, TranslationState as x, organisationApi as y };
1907
1910
 
1908
- //# sourceMappingURL=classicApi-CkDHWZG1.mjs.map
1911
+ //# sourceMappingURL=classicApi-xjOqAovv.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classicApi-xjOqAovv.mjs","names":[],"sources":["../src/stores/ParamSdkStore.ts","../src/stores/ApiStore.ts","../src/api/apiConnection.ts","../src/stores/SaveFetchStore.ts","../src/stores/NotificationStore.ts","../src/api/apiUtils.ts","../src/api/emissionApi.ts","../src/api/transcriptionApi.ts","../src/api/groupsApi.ts","../src/stores/CacheStore.ts","../src/api/organisationApi.ts","../src/helper/arrayHelper.ts","../src/api/playlistApi.ts","../src/api/participantApi.ts","../src/i18n.ts","../src/api/podcastApi.ts","../src/api/radioApi.ts","../src/api/aggregatorsApi.ts","../src/api/mediathequeApi.ts","../src/stores/class/rubrique/rubriquage.ts","../src/api/rubriquesApi.ts","../src/helper/slugify.ts","../src/components/composable/useSubOrganisations.ts","../src/stores/AuthStore.ts","../src/stores/FilterStore.ts","../src/helper/fetchHelper.ts","../src/api/classicApi.ts"],"sourcesContent":["import { PodcastSort } from \"../api/podcastApi\";\n\nconst state: ParamStore = {\n generalParameters: {\n forceOrganisationId: undefined,//\"ecbd98d9-79bd-4312-ad5e-fc7c1c4a191c\",\n forceRubriqueId: undefined,\n podcastmaker: false,\n buttonPlus: true,\n isLiveTab: true,\n isCaptchaTest: true,\n podcastItem: 13.5,\n },\n podcastPage: {\n ShareButtons: true,\n mainRubrique: 0,\n downloadButton: false,\n descriptionOrSummary: 'description',\n displayEmissionTitleInHeader: false\n },\n emissionsPage: {\n itemPlayer: false,\n rubriquage: undefined,\n mainRubrique: undefined,\n buttonMore: false,\n progressBar: false,\n displayEmissionTitleInHeader: false\n },\n emissionPage: {},\n player: {\n isVideoPage:false,\n },\n searchPage: {\n sortCriteria: undefined,\n },\n smartLink: {\n showOnlyFirstParagraphInDescription: false\n },\n presentationItems: {\n tags: 'none'\n }\n};\n\nexport interface ParamStore {\n generalParameters: {\n /** Automatically filter results by this organisation */\n forceOrganisationId?: string;\n /** Automatically filter results by these rubriques */\n forceRubriqueId?: number|number[];\n /** Automatically exclude these rubriquage from results */\n forceNoRubriquageId?: number|number[];\n /** Enable for podcastmakers */\n podcastmaker?: boolean;\n /** Show time with the dates on podcasts */\n showTimeWithDates?: boolean;\n buttonPlus?: boolean;\n /** Show the \"Radio & Live\" tab in the navigation; driven by additionalConfiguration from the backend */\n isLiveTab?: boolean;\n isCaptchaTest?: boolean;\n podcastItem?: number;\n };\n podcastPage: {\n ShareButtons?: boolean;\n mainRubrique?: number;\n downloadButton?:boolean;\n /** If true, hide tags on podcast page */\n hideTags?: boolean;\n /** The maximum number of tags that can be displayed */\n maxTags?: number;\n /** If true, do not display subtitles on podcast pages */\n hideSubtitle?: boolean;\n /** Select whether to display description, summary, or both */\n descriptionOrSummary?: 'description'|'summary'|'both';\n /** Displays the emission title in the header instead of the generic \"Episode\" */\n displayEmissionTitleInHeader: boolean;\n };\n emissionPage: {\n ShareButtons?: boolean;\n /** If true, hide tags on emission page */\n hideTags?: boolean;\n /** The maximum number of tags that can be displayed */\n maxTags?: number;\n /** If true, do not display subtitles on podcast pages */\n hideSubtitle?: boolean;\n /** Displays the emission title in the header instead of the generic \"Emission\" */\n displayEmissionTitleInHeader: boolean;\n };\n emissionsPage: {\n itemPlayer?: boolean;\n rubriquage?: number;\n mainRubrique?: number;\n buttonMore?: boolean;\n progressBar?: boolean;\n };\n player: {\n isVideoPage?:boolean;\n /**\n * Indicates that the play is at the top of the page.\n * This adapts player settings for properly display.\n * Currently *does not* position the player.\n */\n topPlacement?: boolean;\n /** Start with the large version by default */\n startLarge?: boolean;\n /** Show a warning regarding AI generation of transcripts */\n showAITranscriptWarning?: boolean;\n /** If true, the player will not close when finishing playing */\n stayOpenOnFinish?: boolean;\n };\n searchPage: {\n /** The default sort criteria for search results */\n sortCriteria?: PodcastSort;\n };\n\n /** Settings for presentation items */\n presentationItems: {\n /** Type of tags to display on presentation items */\n tags: 'none'|'iab'|'rubrique';\n /**\n * For rubrique type, the ID of the rubriquage the rubriques must belong to\n * to be displayed. If not set, will display all rubriques.\n */\n tagsRubriquageId?: number;\n /** Limit number of tags */\n tagsLimit?: number;\n /** Additional infos displayed in presentation item */\n additionalInfo?: Array<'productor'|'date'|'restrictive-rubrique'>;\n /**\n * ID of the restrictive rubriquage ID, used only when additionalInfo\n * contains 'restricted-rubrique'\n */\n restrictiveRubriquageId?: number;\n };\n\n /** Smartlink configuration */\n smartLink: {\n /** Truncate the description to the first paragraph */\n showOnlyFirstParagraphInDescription?: boolean;\n }\n}\n\nfunction definedProps<T>(obj: Partial<T>|undefined): Partial<T> {\n if (obj === undefined) {\n return {};\n } else {\n return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined)) as Partial<T>;\n }\n}\n\nconst initialize = function initialize(initObject: Partial<ParamStore>): void {\n state.generalParameters = Object.assign(\n state.generalParameters,\n definedProps(initObject.generalParameters),\n );\n state.podcastPage = Object.assign(\n state.podcastPage,\n definedProps(initObject.podcastPage),\n );\n state.emissionsPage = Object.assign(\n state.emissionsPage,\n definedProps(initObject.emissionsPage),\n );\n state.emissionPage = Object.assign(\n state.emissionPage,\n definedProps(initObject.emissionPage),\n );\n state.player = Object.assign(state.player, definedProps(initObject.player));\n state.searchPage = Object.assign(\n state.searchPage,\n definedProps(initObject.searchPage),\n );\n state.smartLink = Object.assign(\n state.smartLink,\n definedProps(initObject.smartLink)\n );\n state.presentationItems = Object.assign(\n state.presentationItems,\n definedProps(initObject.presentationItems)\n );\n};\n\nexport default { initialize, state };\nexport { initialize, state };\n","import { defineStore } from \"pinia\";\ninterface ApiState {\n apiUrl: string;\n billingUrl: string;\n chapteringUrl: string;\n commentUrl: string;\n frontendUrl: string;\n hlsUrl: string;\n imageUrl: string;\n importerUrl: string;\n keycloakUrl: string;\n keycloakOpenAiUrl: string;\n mediaUrl: string;\n miniplayerUrl: string;\n openAiUrl: string;\n processorUrl: string;\n radioUrl: string;\n recoUrl: string;\n rtmpUrl: string;\n speechToTextUrl: string;\n textToSpeechUrl: string;\n studioUrl: string;\n videoMakerUrl: string;\n storageUrl: string;\n statRadioUrl: string;\n}\nexport const useApiStore = defineStore(\"ApiStore\", {\n state: (): ApiState => ({\n apiUrl: \"\",\n billingUrl: \"\",\n chapteringUrl: \"\",\n commentUrl: \"\",\n frontendUrl: \"\",\n hlsUrl: \"\",\n imageUrl: \"\",\n importerUrl: \"\",\n keycloakUrl: \"\",\n keycloakOpenAiUrl: \"\",\n mediaUrl: \"\",\n miniplayerUrl: \"\",\n openAiUrl: \"\",\n processorUrl: \"\",\n radioUrl: \"\",\n recoUrl: \"\",\n rtmpUrl: \"\",\n speechToTextUrl: \"\",\n textToSpeechUrl: \"\",\n studioUrl: \"\",\n videoMakerUrl: \"\",\n storageUrl: \"\",\n statRadioUrl: \"\",\n }),\n actions: {\n initApis(initParam: ApiState) {\n this.apiUrl = initParam.apiUrl;\n this.billingUrl = initParam.billingUrl;\n this.chapteringUrl = initParam.chapteringUrl;\n this.commentUrl = initParam.commentUrl;\n this.frontendUrl = initParam.frontendUrl;\n this.hlsUrl = initParam.hlsUrl;\n this.imageUrl = initParam.imageUrl;\n this.importerUrl = initParam.importerUrl;\n this.keycloakUrl = initParam.keycloakUrl;\n this.keycloakOpenAiUrl = initParam.keycloakOpenAiUrl;\n this.mediaUrl = initParam.mediaUrl;\n this.miniplayerUrl = initParam.miniplayerUrl;\n this.openAiUrl = initParam.openAiUrl;\n this.processorUrl = initParam.processorUrl;\n this.radioUrl = initParam.radioUrl;\n this.recoUrl = initParam.recoUrl;\n this.rtmpUrl = initParam.rtmpUrl;\n this.speechToTextUrl = initParam.speechToTextUrl;\n this.textToSpeechUrl = initParam.textToSpeechUrl;\n this.studioUrl = initParam.studioUrl;\n this.videoMakerUrl = initParam.videoMakerUrl;\n this.storageUrl = initParam.storageUrl;\n this.statRadioUrl = initParam.statRadioUrl;\n },\n },\n});\n","import { useApiStore } from \"../stores/ApiStore\";\n\nenum ModuleApi {\n DEFAULT = 0,\n MEDIA = 1,\n COMMENT = 2,\n KEYCLOAK = 3,\n FRONTOFFICE = 4,\n PLAYER = 6,\n STORAGE = 8,\n STUDIO = 9,\n PROCESSOR = 10,\n SPEECHTOTEXT = 11,\n VIDEOMAKER = 12,\n RECOMMENDATION = 13,\n RADIO = 14,\n IMPORTER = 15,\n TEXTTOSPEECH = 16,\n BILLING = 17,\n OPENAI = 18,\n CHAPTERING = 19,\n KEYCLOAKOPENAI = 20,\n}\nfunction getApiUrl(moduleName: ModuleApi) {\n const api = useApiStore();\n switch (moduleName) {\n case 1:\n return api.mediaUrl;\n case 2:\n return api.commentUrl;\n case 3:\n return api.keycloakUrl;\n case 4:\n return \"\";\n case 6:\n return api.miniplayerUrl;\n case 8:\n return api.storageUrl;\n case 9:\n return api.studioUrl;\n case 10:\n return api.processorUrl;\n case 11:\n return api.speechToTextUrl;\n case 12:\n return api.videoMakerUrl;\n case 13:\n return api.recoUrl;\n case 14:\n return api.radioUrl;\n case 15:\n return api.importerUrl;\n case 16:\n return api.textToSpeechUrl;\n case 17:\n return api.billingUrl;\n case 18:\n return api.openAiUrl;\n case 19:\n return api.chapteringUrl;\n case 20:\n return api.keycloakOpenAiUrl;\n default:\n return api.apiUrl;\n }\n}\nexport {\n ModuleApi,\n getApiUrl\n}","import { defineStore } from \"pinia\";\nimport classicApi from \"../api/classicApi\";\nimport { useAuthStore } from \"./AuthStore\";\nimport { Organisation, OrganisationAttributes } from \"./class/general/organisation\";\nimport { Rubriquage } from \"./class/rubrique/rubriquage\";\n\ntype SaveObject = { [key: string]: string | number | boolean | undefined };\n\ninterface SaveFetchState {\n orgaPublicAttributes: { [key: string]: SaveObject };\n orgaLiveEnabled: { [key: string]: boolean };\n orgaData: { [key: string]: Organisation };\n orgaRubriques: { [key: string]: Array<Rubriquage> };\n}\nexport const useSaveFetchStore = defineStore(\"SaveFetchStore\", {\n state: (): SaveFetchState => ({\n orgaPublicAttributes: {},\n orgaLiveEnabled: {},\n orgaData: {},\n orgaRubriques:{},\n }),\n actions: {\n async getOrgaAttributes(orgaId: string): Promise<OrganisationAttributes> {\n if (this.orgaPublicAttributes[orgaId]) {\n return this.orgaPublicAttributes[orgaId];\n }\n const authStore = useAuthStore();\n if (\n orgaId === authStore.authOrganisation.id &&\n authStore.authOrganisation.attributes &&\n Object.keys(authStore.authOrganisation.attributes).length > 1\n ) {\n this.orgaPublicAttributes[orgaId] =\n authStore.authOrganisation.attributes;\n } else {\n this.orgaPublicAttributes[orgaId] = await classicApi.fetchData<{\n [key: string]: string;\n }>({\n api: 0,\n path: \"organisation/attributes/\" + orgaId,\n });\n }\n return this.orgaPublicAttributes[orgaId];\n },\n forceUpdateAttributes(orgaId: string, attributes: SaveObject) {\n this.orgaPublicAttributes[orgaId] = attributes;\n },\n async getOrgaLiveEnabled(orgaId: string): Promise<boolean> {\n if (!orgaId.length) {\n return false;\n }\n if (this.orgaLiveEnabled[orgaId]) {\n return this.orgaLiveEnabled[orgaId];\n }\n this.orgaLiveEnabled[orgaId] = await classicApi.fetchData<boolean>({\n api: 0,\n path: \"organisation/liveEnabled/\" + orgaId,\n });\n return this.orgaLiveEnabled[orgaId];\n },\n async getOrgaData(orgaId: string): Promise<Organisation> {\n if (this.orgaData[orgaId]) {\n return this.orgaData[orgaId];\n }\n const authStore = useAuthStore();\n if (orgaId === authStore.authOrganisation.id) {\n this.orgaData[orgaId] = authStore.authOrganisation;\n } else {\n this.orgaData[orgaId] = await classicApi.fetchData<Organisation>({\n api: 0,\n path: \"organisation/\" + orgaId,\n });\n }\n return this.orgaData[orgaId];\n },\n forceUpdateData(orgaId: string, data: Organisation) {\n this.orgaData[orgaId] = data;\n },\n async getOrgaRubriques(orgaId: string): Promise<Array<Rubriquage>> {\n if (this.orgaRubriques[orgaId]) {\n return this.orgaRubriques[orgaId];\n }\n this.orgaRubriques[orgaId] = await classicApi.fetchData<Array<Rubriquage>>({\n api: 0,\n path: \"rubriquage/find/\" + orgaId,\n });\n return this.orgaRubriques[orgaId];\n },\n forceUpdateRubriques(orgaId: string) {\n delete this.orgaRubriques[orgaId];\n },\n },\n});\n","import { defineStore } from \"pinia\";\nimport { computed, ref } from \"vue\";\n\ntype NotificationType = 'success'|'info'|'warning'|'error';\n\n/**\n * Type for notifications\n */\ninterface Notification {\n /** Optional title of the notification */\n title?: string;\n /** Message displayed by the notification */\n message: string;\n /** Type of notification, may affect display */\n type: NotificationType;\n /** When set to false, disallow manual closing of modal notification (default: true) */\n closeable?: boolean;\n /** Callback called when the notification is closed */\n closeCallback?: () => void;\n}\n\nexport const useNotificationStore = defineStore('notifications', () => {\n const notificationQueue = ref<Array<Notification>>([]);\n\n /**\n * Add a notification to the queue\n * @param notification The notification to add\n */\n function addNotification(notification: Notification): void {\n notificationQueue.value.push(notification);\n }\n\n /** Remove the current notification from the queue */\n function clearNotification(): void {\n const notif = currentNotification.value;\n if (notif !== null) {\n const idx = notificationQueue.value.indexOf(notif);\n notificationQueue.value.splice(idx, 1);\n\n if (notif.closeCallback) {\n notif.closeCallback();\n }\n }\n }\n\n /** The currently active notification */\n const currentNotification = computed((): Notification|undefined => {\n if (notificationQueue.value.length > 0) {\n return notificationQueue.value[0];\n }\n return undefined;\n });\n\n\n return {\n addNotification,\n currentNotification,\n clearNotification\n }\n});\n","/**\n * Utility function to easily convert a list of IDs to a map of id => element\n * @param ID The type of ID for the element\n * @param T The type of element to retrieve\n * @param ids The list of ids\n * @param getter A function that given an ID, returns a promise of the matching element\n * @param key The key for the ID\n * @return A promise containing a map of ID => element\n */\nexport async function mapFromGetAll<ID extends string|number, T extends object >(ids: Array<ID>, getter: (id: ID) => Promise<T>, key: keyof T): Promise<Record<string, T>> {\n const results: Record<string, T> = {};\n const promises: Array<Promise<T>> = [];\n\n // Retrieve data for each id\n ids.forEach((id: ID) => {\n const promise = getter(id).then(elt => results['' + elt[key]] = elt);\n promises.push(promise);\n });\n\n // Wait for all promises to finish\n await Promise.all(promises);\n\n return results;\n}\n\n","import classicApi from \"./classicApi\";\nimport { ModuleApi } from \"./apiConnection\";\nimport { mapFromGetAll } from \"./apiUtils\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\n\n/**\n * Retrieve an emission by ID\n * @param emissionId The ID of the emission\n * @return An emission\n */\nasync function get(emissionId: number): Promise<Emission> {\n return classicApi.fetchData<Emission>({\n api: ModuleApi.DEFAULT,\n path: 'emission/' + emissionId\n });\n}\n\n/**\n * Retrieve all emissions specified by their IDs\n * @param emissionIds A list of emission IDs. For better result, they\n should be unique.\n * @return The matching emissions\n */\nasync function getAllById(emissionIds: Array<number>): Promise<Record<string, Emission>> {\n return mapFromGetAll(emissionIds, get, 'emissionId');\n}\n\n\n/**\n * Search for emissions\n * @param query A filter on the name of the emission\n * @param options Optional options to filter the results\n */\nasync function search(query?: string, options?: {\n /** The index of the first element to retrieve */\n first?: number;\n /** The number of elements to retrieve */\n size?: number;\n specialTreatment?: boolean;\n distributedBy?: string;\n /** Filter by organisation */\n organisationId?: string|string[];\n}): Promise<ListClassicReturn<Emission>> {\n return classicApi.fetchData<ListClassicReturn<Emission>>({\n api: ModuleApi.DEFAULT,\n path: \"emission/search\",\n parameters: {\n query,\n first: options?.first ?? 0,\n size: options?.size ?? 10,\n distributedBy: options?.distributedBy,\n organisationId: options?.organisationId\n },\n specialTreatement: options?.specialTreatment ?? true\n });\n}\n\n/**\n * Remove seasons data from emission\n * @param emissionId The ID of the emission for which to remove the data\n */\nasync function resetSeasons(emissionId: number): Promise<void> {\n return classicApi.putData({\n api: ModuleApi.DEFAULT,\n path: 'emission/seasons/reset/' + emissionId\n });\n}\nexport const emissionApi = {\n get,\n getAllById,\n search,\n resetSeasons\n};\n","import { ModifyPodcastConfig } from \"../stores/class/transcript/transcriptParams\";\nimport { ModuleApi } from \"./apiConnection\";\nimport classicApi from \"./classicApi\";\n\n/** State of the translation */\nexport enum TranslationState {\n /** Translation in progress */\n TRANSLATING = 'TRANSLATING',\n /** Translation is finished */\n FINISHED = 'FINISHED',\n /** Translation has failed */\n FAILED = 'FAILED',\n /** AI limit has exceeded during translation */\n AI_LIMIT_EXCEEDED = 'AI_LIMIT_EXCEEDED'\n}\n\n/** Data for one translation */\nexport interface TranslationData {\n /** Language of translation */\n language: string;\n /** State of the translation */\n state: TranslationState;\n}\n\n/** Translation data for one podcast. Contains data of all generated translations. */\nexport interface PodcastTranslationData {\n /** ID of the podcast */\n podcastId: number;\n /** Native language of the podcast */\n nativeLanguage: string;\n /** Translation data */\n translations: Array<TranslationData>;\n}\n\ninterface TranslationProgress {\n started: boolean;\n percent: number;\n}\n\n/**\n * Returns the translations defined on the podcast\n * @param podcastId ID of the podcast\n * @returns Promise containing the translation data for the podcast\n */\nasync function getTranslations(podcastId: number): Promise<PodcastTranslationData> {\n return classicApi.fetchData<PodcastTranslationData>({\n api: ModuleApi.SPEECHTOTEXT,\n path: `transcription/${podcastId}/languages`\n });\n}\n\n/**\n * Returns the translation in a given language for the podcast\n * @param podcastId ID of the podcast\n * @param language The target language\n * @param mayCreate *(optional)* If set to true, request creation if not available\n * @returns The transcription\n */\nasync function getTranslation(podcastId: number, language: string, mayCreate?: boolean): Promise<string> {\n let path = `transcription/${podcastId}/languages/${language}/srt`;\n if (mayCreate !== undefined) {\n path = `${path}?mayCreateIfNotExists=${mayCreate}`;\n }\n\n let found = false;\n let timeout = 1000;\n const timeoutStep = 100;\n while (!found) {\n const result = await classicApi.fetchData<string|TranslationProgress>({\n api: ModuleApi.SPEECHTOTEXT,\n path\n });\n\n // Stop when we get the proper result\n if (typeof result === 'string') {\n found = true;\n return result;\n }\n\n // Wait some time before retrying\n await new Promise((resolve) => setTimeout(resolve, timeout));\n timeout += timeoutStep;\n\n if (timeout >= 60 * 1000) {\n break;\n }\n }\n\n throw new Error('Timeout lors de la récupération de la transcription');\n}\n\n/**\n * Get raw transcription for the given podcast\n * @param podcastId ID of the podcast\n * @returns The raw transcript\n */\nasync function getRawTranscription(podcastId: number): Promise<string> {\n return classicApi.fetchData({\n api: ModuleApi.SPEECHTOTEXT,\n path: `transcription/text/${podcastId}`,\n });\n}\n\n/**\n * Generate the transcription on the given podcast\n * @param podcastId ID of the podcast on which to do the transcription\n * @param langauge Target language. Should be the native language of the podcast\n * @param params Transcription parameters\n */\nasync function generateTranscription(podcastId: number, language: string, params: ModifyPodcastConfig): Promise<void> {\n await classicApi.postData({\n api: ModuleApi.SPEECHTOTEXT,\n path: `convert/${language}/${podcastId}`,\n dataToSend: params\n });\n}\n\n/**\n * Regenerate the transcription on the given podcast\n * Currently does the same as `generateTranscription`, but should be used when\n * relevant in case of future evolutions.\n * @param podcastId ID of the podcast on which to do the transcription\n * @param langauge Target language. Should be the native language of the podcast\n * @param params Transcription parameters\n */\nasync function regenerateTranscription(podcastId: number, language: string, params: ModifyPodcastConfig): Promise<void> {\n await classicApi.putData({\n api: ModuleApi.SPEECHTOTEXT,\n path: `regenerate/${language}/${podcastId}`,\n dataToSend: params\n });\n}\n\n/**\n * Change the visibility of the podcast\n * @param podcastId ID of the podcast for which to change the visibility\n * @param visibility New visibility state\n */\nasync function changeTranscriptionVisibility(podcastId: number, visibility: boolean): Promise<void> {\n await classicApi.putData({\n api: 11,\n path: \"visibility/\" + podcastId,\n parameters: {\n visibility\n }\n });\n}\n\n/**\n * Update the transcription of a podcast\n * @param podcastId ID of the podcast\n * @param transcript The new transcript\n */\nasync function updateTranscription(podcastId: number, transcript: string): Promise<void> {\n await classicApi.postData({\n api: ModuleApi.SPEECHTOTEXT,\n path: \"update/\" + podcastId,\n dataToSend: {\n file: new File([transcript], \"file\")\n },\n contentType: \"formData\"\n });\n}\n\n/**\n * Update the translation of a podcast\n * @param podcastId ID of the podcast\n * @param transcript The new translation\n */\nasync function updateTranslation(podcastId: number, language: string, translation: string): Promise<void> {\n await classicApi.putData({\n api: ModuleApi.SPEECHTOTEXT,\n path: `transcription/${podcastId}/languages/${language}/srt`,\n dataToSend: translation,\n raw: true\n });\n}\n\nexport const transcriptionApi = {\n changeTranscriptionVisibility,\n getTranslations,\n getTranslation,\n getRawTranscription,\n generateTranscription,\n regenerateTranscription,\n updateTranscription,\n updateTranslation\n};\n","import classicApi from \"./classicApi\";\nimport { ModuleApi } from \"./apiConnection\";\nimport { ListClassicReturn } from \"../stores/class/general/listReturn\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { mapFromGetAll } from \"./apiUtils\";\n\nconst BASE_PATH = 'emission/groups/';\n\n/** Group of emissions */\nexport interface EmissionGroup {\n /** Name of the group */\n name: string;\n /** Id of the group */\n groupId: number;\n /** Simple description */\n description?: string;\n /** The id of the organisation this group belongs to */\n organisationId: string;\n /** The list of ids of emissions in this group */\n emissionIds: Array<number>|null;\n /** If set, defines this group as a \"marque\" group. */\n acpmMarque: string|null;\n}\n\ninterface Pagination {\n /** Pagination */\n first: number;\n /** Number of elements */\n size: number;\n}\n\ninterface SearchParams {\n /** Filter by acpm */\n acpmMarque: string;\n /** Filter by name */\n search: string;\n /** Filter by organisations */\n organisationIds: Array<string>;\n}\n\n/**\n * Add an emission to a list of groups\n * @param emission The emission to add to the groups\n * @param groups The list of groups to add the emission to\n */\nasync function addToGroups(emission: Emission|number, groups: Array<EmissionGroup>|Array<number>): Promise<void> {\n if (groups.length === 0) {\n return;\n }\n\n let emissionId: number;\n if (typeof emission === 'object') {\n emissionId = emission.emissionId;\n } else {\n emissionId = emission;\n }\n let groupIds: Array<number>;\n if (typeof groups[0] === 'object') {\n groupIds = (groups as Array<EmissionGroup>).map(g => g.groupId);\n } else {\n groupIds = groups as Array<number>;\n }\n\n return classicApi.putData({\n api: ModuleApi.DEFAULT,\n path: BASE_PATH + 'add/' + emissionId,\n dataToSend: groupIds\n });\n}\n\n/**\n * Create a new group\n */\nasync function create(group: Omit<EmissionGroup, 'groupId'|'emissionIds'>): Promise<EmissionGroup> {\n return classicApi.postData<EmissionGroup>({\n api: ModuleApi.DEFAULT,\n path: BASE_PATH,\n dataToSend: group\n });\n}\n\n/**\n * Delete a group\n */\nasync function remove(groupId: number): Promise<void> {\n return classicApi.deleteData({\n api: ModuleApi.DEFAULT,\n path: BASE_PATH + groupId\n });\n}\n\n/**\n * Retrieve a group by its ID\n * @param groupId The ID of the group to retrieve\n * @return The group\n */\nasync function get(groupId: number): Promise<EmissionGroup> {\n return classicApi.fetchData<EmissionGroup>({\n api: ModuleApi.DEFAULT,\n path: BASE_PATH + groupId\n });\n}\n\n/**\n * Retrieve all groups specified by their IDs\n * @param groupIds A list of group IDs. For better result, they\n should be unique.\n * @return The matching groups\n */\nasync function getAllById(groupIds: Array<number>): Promise<Record<string, EmissionGroup>> {\n return mapFromGetAll(groupIds, get, 'groupId');\n}\n\n/**\n * Remove an emission from a list of groups\n * @param emission The emission to remove from the groups\n * @param groups The list of groups to remove the emission from\n */\nasync function removeFromGroups(emission: Emission|number, groups: Array<EmissionGroup>|Array<number>): Promise<void> {\n if (groups.length === 0) {\n return;\n }\n\n let emissionId: number;\n if (typeof emission === 'object') {\n emissionId = emission.emissionId;\n } else {\n emissionId = emission;\n }\n let groupIds: Array<number>;\n if (typeof groups[0] === 'object') {\n groupIds = (groups as Array<EmissionGroup>).map(g => g.groupId);\n } else {\n groupIds = groups as Array<number>;\n }\n\n return classicApi.putData({\n api: ModuleApi.DEFAULT,\n path: BASE_PATH + 'remove/' + emissionId,\n dataToSend: groupIds\n });\n}\n\n/**\n * Update a group\n */\nasync function update(group: Omit<EmissionGroup, 'emissionIds'>): Promise<EmissionGroup> {\n return classicApi.putData({\n api: ModuleApi.DEFAULT,\n path: BASE_PATH,\n dataToSend: group\n });\n}\n\n/**\n * Count number of groups\n */\nasync function count(parameters: Partial<SearchParams>): Promise<number> {\n const result = await search({\n ...parameters,\n size: 0\n });\n\n return result.count;\n}\n\n/**\n * Search groups\n */\nasync function search(parameters: Partial<SearchParams & Pagination>): Promise<ListClassicReturn<EmissionGroup>> {\n return classicApi.fetchData<ListClassicReturn<EmissionGroup>>({\n api: ModuleApi.DEFAULT,\n path: BASE_PATH + 'search',\n parameters\n });\n}\n\n/**\n * Search for all groups, without pagination\n */\nasync function searchNoPagination(parameters: Partial<SearchParams>): Promise<Array<EmissionGroup>> {\n const result: Array<EmissionGroup> = [];\n\n let index = 0;\n while (true) {\n const response = await search({\n ...parameters,\n first: index,\n size: 1\n });\n\n result.push(...response.result);\n index += response.result.length;\n\n if (index >= response.count || response.result.length === 0) {\n break;\n }\n }\n\n return result;\n}\n\nexport const groupsApi = {\n addToGroups,\n count,\n create,\n remove,\n get,\n getAllById,\n removeFromGroups,\n update,\n search,\n searchNoPagination\n};\n","import dayjs, { Dayjs } from \"dayjs\";\nimport { defineStore } from \"pinia\";\n\n/**\n * Type for cache storage\n */\ninterface CachedData<T> {\n /** The in-flight or resolved data, shared by concurrent callers */\n data: Promise<T>;\n /** Expiration date of the cached data */\n expiration: Dayjs;\n}\n\nexport const useCacheStore = defineStore('cache', () => {\n\n const cachedData: Record<string, CachedData<unknown>> = {};\n\n async function getData<T>(key: string, callback: () => Promise<T>): Promise<T> {\n let cache = cachedData[key] as CachedData<T>|undefined;\n if (isDataEmptyOrExpired(cache)) {\n // Store the promise immediately so concurrent callers share this fetch\n const data = callback();\n const expiration = dayjs().add(30, 'minutes');\n cache = { data, expiration };\n cachedData[key] = cache;\n // Don't keep a failed fetch cached: let the next call retry\n data.catch(() => invalidate(key));\n }\n\n return cache.data;\n }\n\n function invalidate(key: string): void {\n delete cachedData[key];\n }\n\n function isDataEmptyOrExpired(data: CachedData<unknown>|undefined): boolean {\n if (!data) {\n return true;\n } else {\n return dayjs().isAfter(data.expiration);\n }\n }\n\n return {\n getData,\n invalidate\n };\n});\n","import classicApi from \"./classicApi\";\nimport { ModuleApi } from \"./apiConnection\";\nimport { Organisation, OrganisationAttributes } from \"../stores/class/general/organisation\";\nimport { mapFromGetAll } from \"./apiUtils\";\nimport { VideoConfig } from \"@/stores/class/config/videoConfig\";\nimport { useCacheStore } from \"@/stores/CacheStore\";\n\n/**\n * Retrieve an organisation by ID\n * @param organisationId The ID of the organisation\n * @return An organisation\n */\nasync function get(organisationId: string): Promise<Organisation> {\n return classicApi.fetchData<Organisation>({\n api: ModuleApi.DEFAULT,\n path: 'organisation/' + organisationId\n });\n}\n\n/**\n * Retrieve all organisations specified by their IDs\n * @param organisationIds A list of organisation IDs. For better result, they\n should be unique.\n * @return The matching organisations\n */\nasync function getAllById(organisationIds: Array<string>): Promise<Record<string, Organisation>> {\n return mapFromGetAll(organisationIds, get, 'id');\n}\n\n/**\n * Retrieve the attributes of a given organisation\n * @param organisationId The ID of the organisation\n * @returns The attributes of the organisation\n */\nasync function getAttributes(organisationId: string): Promise<OrganisationAttributes> {\n return classicApi.fetchData<OrganisationAttributes>({\n api: ModuleApi.DEFAULT,\n path: 'organisation/attributes/' + organisationId\n });\n}\n\n/**\n * Retrieve the video configuration of a given organisation\n * @param organisationId The ID of the organisation\n * @returns The video configuration of the organisation\n */\nasync function getVideoConfig(organisationId: string): Promise<VideoConfig> {\n const cacheStore = useCacheStore();\n return cacheStore.getData(`org-video-config-${organisationId}`, () => {\n return classicApi.fetchData<VideoConfig>({\n api: ModuleApi.DEFAULT,\n path:\"video/config/\" + encodeURI(organisationId)\n });\n });\n}\n\nexport const organisationApi = {\n get,\n getAllById,\n getAttributes,\n getVideoConfig\n};\n","export function unique<T>(value: T, index: number, array: Array<T>): boolean {\n return array.indexOf(value) === index;\n}\n","import classicApi from \"./classicApi\";\nimport { ModuleApi } from \"./apiConnection\";\nimport { Podcast, SimplifiedPodcast } from \"../stores/class/general/podcast\";\nimport { Playlist, PlaylistAmbianceType } from \"../stores/class/general/playlist\";\nimport { organisationApi } from \"./organisationApi\";\nimport { emissionApi } from \"./emissionApi\";\nimport { unique } from '../helper/arrayHelper';\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\nimport { Paginable } from \"./types\";\nimport { FetchParam } from \"@/stores/class/general/fetchParam\";\n\n/**\n * Retrieve playlist data\n * @param playlistId The ID of the playlist\n * @return The playlist\n */\nasync function get(playlistId: number): Promise<Playlist> {\n return classicApi.fetchData<Playlist>({\n api: ModuleApi.DEFAULT,\n path: 'playlist/' + playlistId\n });\n}\n\n/**\n * Retrieve the podcasts defined in the playlist\n * @param playlistId The ID of the playlist\n * @return A list of simplified podcasts\n */\nasync function getContent(playlistId: number): Promise<Array<SimplifiedPodcast>> {\n return classicApi.fetchData<Array<SimplifiedPodcast>>({\n api: ModuleApi.DEFAULT,\n path: 'v2/playlist/' + playlistId + '/content'\n });\n}\n\n/**\n * Retrieve the podcasts defined in the playlist, with all their data\n * This query is longer, because it also needs to retrieve organisations &\n * emissions.\n * @param playlistId The ID of the playlist\n * @return A list of podcasts\n */\nasync function getContentFull(playlistId: number): Promise<Array<Podcast>> {\n const simplified = await this.getContent(playlistId);\n const full: Array<Podcast> = [];\n\n const organisationIds = simplified.map((p: SimplifiedPodcast) => p.organisationId)\n .filter(unique);\n const emissionIds = simplified.map((p: SimplifiedPodcast) => p.emissionId)\n .filter(unique);\n\n const organisations = await organisationApi.getAllById(organisationIds);\n const emissions = await emissionApi.getAllById(emissionIds);\n\n simplified.forEach((s: SimplifiedPodcast) => {\n const organisation = organisations[s.organisationId];\n const emission = emissions[s.emissionId];\n\n full.push({\n ...s,\n organisation,\n emission\n });\n })\n\n return full;\n}\n\n/**\n * Sort order for playlists\n */\nenum PlaylistSort {\n SCORE = \"SCORE\",\n NAME = \"NAME\"\n}\n\n/**\n * Search criterias for playlists\n */\ninterface PlaylistSearchOptions extends Paginable<PlaylistSort> {\n /** Filter on organisations */\n organisationId?: string[];\n /** Fitler on name */\n query?: string;\n /** Filter on type */\n type?: PlaylistAmbianceType;\n}\n\n/**\n * Search for playlists based on criterias\n */\nasync function search(options?: PlaylistSearchOptions): Promise<ListClassicReturn<Playlist>> {\n return await classicApi.fetchData<ListClassicReturn<Playlist>>({\n api: ModuleApi.DEFAULT,\n path: 'playlist/search',\n specialTreatement: true,\n parameters: options as FetchParam\n });\n}\n\n/**\n * API to manage playlists\n */\nexport const playlistApi = {\n get,\n getContent,\n getContentFull,\n search\n}\n","import { Participant } from \"@/stores/class/general/participant\";\nimport classicApi from \"./classicApi\";\nimport { ModuleApi } from \"./apiConnection\";\nimport { mapFromGetAll } from \"./apiUtils\";\n\n/**\n * Retrieve a participant by ID\n * @param participantId The ID of the participant\n * @return A participant\n */\nasync function get(participantId: number): Promise<Participant> {\n return classicApi.fetchData<Participant>({\n api: ModuleApi.DEFAULT,\n path: 'participant/' + participantId\n });\n}\n\n/**\n * Retrieve all participants specified by their IDs\n * @param participantIds A list of participant IDs. For better result, they\n should be unique.\n * @return The matching participants\n */\nasync function getAllById(participantIds: Array<number>): Promise<Record<string, Participant>> {\n return mapFromGetAll(participantIds, get, 'participantId');\n}\n\nexport const participantApi = {\n get,\n getAllById\n}\n","import { nextTick } from \"vue\";\nimport { createI18n, I18n } from \"vue-i18n\";\n\nexport function setupI18n(options: { [key:string]: string|boolean }, isAuthenticated: boolean, isEducation: boolean) {\n const i18n = createI18n(options);\n loadLocaleMessages(i18n.global, options.locale, isAuthenticated, isEducation);\n return i18n;\n}\n\nlet i18nInstance: I18n | null = null;\n\n/**\n * Register the app's i18n instance so it can be reached from code that\n * doesn't run inside a component setup, where useI18n() is unavailable.\n */\nexport function registerI18n(instance: I18n): void {\n i18nInstance = instance;\n}\n\nexport function getI18n(): I18n {\n if (!i18nInstance) {\n throw new Error('i18n instance accessed before registerI18n() was called');\n }\n return i18nInstance;\n}\n\nexport function setI18nLanguage(i18n: any, locale: string) {\n i18n.locale.value= locale;\n const html = document.querySelector(\"html\");\n if (html) {\n html.setAttribute(\"lang\", locale);\n }\n}\n\nexport async function loadLocaleMessages(\n i18n: any,\n locale: string,\n isAuthenticated: boolean,\n isEducation: boolean,\n) {\n if (\n !i18n.messages[locale] ||\n 0 === Object.keys(i18n.messages[locale]).length\n ) {\n let messages = await import(`./locale/${locale}.ts`);\n messages = messages.default;\n if (isEducation && (\"fr\" === locale || \"en\" === locale)) {\n const messagesEdu = await import(`./locale/education${locale}.ts`);\n messages = { ...messages, ...messagesEdu.default };\n }\n i18n.setLocaleMessage(locale, messages);\n }\n setI18nLanguage(i18n, locale);\n return nextTick();\n}\n","import { Podcast, PodcastProcessingStatus, PodcastType, SimplifiedPodcast } from '../stores/class/general/podcast';\nimport { ListClassicReturn } from '../stores/class/general/listReturn';\nimport classicApi from './classicApi';\nimport { ModuleApi } from './apiConnection';\nimport { unique } from '../helper/arrayHelper';\nimport { organisationApi } from './organisationApi';\nimport { emissionApi } from './emissionApi';\nimport { FetchParam } from '@/stores/class/general/fetchParam';\nimport { Paginable } from './types';\nimport { participantApi } from './participantApi';\nimport { useNotificationStore } from '@/stores/NotificationStore';\nimport { AxiosError } from 'axios';\nimport { getI18n } from '@/i18n';\n\nexport enum PodcastSort {\n DATE = 'DATE',\n DATE_ASC = 'DATE_ASC',\n NAME = 'NAME',\n LAST_PODCAST_DESC = 'LAST_PODCAST_DESC',\n POPULARITY = 'POPULARITY',\n SCORE = 'SCORE',\n UPDATE_ASC = 'UPDATE_ASC',\n UPDATE_DESC = 'UPDATE_DESC',\n /** Smart sort using seasons settings */\n SEASONAL = 'SEASONAL'\n}\n\nexport enum PodcastMonetisation {\n YES = \"YES\",\n NO = \"NO\",\n UNDEFINED = \"UNDEFINED\"\n}\n\n/**\n * The options available to search for podcasts.\n * \n * ** /!\\ This list is not exhaustive **\n */\nexport interface PodcastSearchOptions extends Paginable<PodcastSort> {\n /** Filter by emission ID */\n emissionId?: number|number[];\n /** Filter by emission groups */\n groupId?: number[];\n /** Filter by organisation ID */\n organisationId?: string[];\n /** Filter by title containing */\n query?: string;\n /** Filter by IAB category */\n iabId?: number;\n /** Filter by participant */\n participantId?: number;\n /** Fitler by monetisation */\n monetisable?: PodcastMonetisation;\n /** Filter by pub date before */\n pubDateBefore?: string;\n /** Filter by pub date after */\n pubDateAfter?: string;\n /** Filter by rubriquage exclusion ? */\n noRubriquageId?: Array<number>;\n /** Filter by rubrique */\n rubriqueId?: Array<number>;\n /** Filter by rubriquage */\n rubriquageId?: Array<number>;\n /** Also show hidden podcasts */\n includeHidden?: boolean;\n /** Filter by validity */\n validity?: boolean;\n /** Filter by status */\n processingStatus?: Array<PodcastProcessingStatus>;\n /** Filter by podcast having a video */\n withVideo?: boolean;\n /** Filter by tags */\n tags?: Array<string>;\n /** Filter by beneficiaries/rights holder reference */\n beneficiaries?: Array<string>;\n /** Filter by seasons */\n season?: Array<number>;\n /** Filter by season episode number */\n seasonEpisode?: Array<number>;\n /** Filter by episode type */\n episodeType?: PodcastType;\n}\n\nasync function downloadRegister(podcastId: number, parameters?: Record<string,unknown>): Promise<{ location: string; downloadId: number }> {\n try {\n return await classicApi.fetchData<{\n location: string;\n downloadId: number;\n }>({\n api: ModuleApi.DEFAULT,\n path:\"podcast/download/register/\" + podcastId + \".mp3\",\n parameters,\n headers: {'X-Extra-UA':'Saooti Player'}\n });\n } catch(e) {\n if (e instanceof AxiosError && e.status === 403) {\n const error = e.response.data;\n // #14620 - match \"Country FR is not whitelisted\" or \"Country FR is blacklisted\"\n if (error.includes('is blacklisted') || error.includes('is not whitelisted')) {\n const { addNotification } = useNotificationStore();\n const t = getI18n().global.t as (key: string) => string;\n addNotification({\n type: 'error',\n title: t('Generic - Content unavailable - Country blocked - Title'),\n message: t('Generic - Content unavailable - Country blocked - Message')\n });\n }\n }\n return Promise.reject(e);\n }\n}\n\n/**\n * Get a podcast by its ID\n */\nfunction get(podcastId: number): Promise<Podcast> {\n return classicApi.fetchData<Podcast>({\n api: ModuleApi.DEFAULT,\n path: 'podcast/' + podcastId\n });\n}\n\n\n/**\n * Convert easy to use PodcastSearchOptions to the actual FetchParams used by\n * the endpoint.\n */\nfunction processSearchParameters(search: PodcastSearchOptions): FetchParam {\n const parameters: FetchParam = {};\n\n Object.keys(search).forEach(key => {\n const value = search[key];\n\n if (value === undefined || value === null) {\n return;\n }\n\n if (key === 'beneficiaries') {\n parameters.beneficiary = value;\n } else if (key === 'processingStatus') {\n parameters.includeStatus = value;\n } else if (key === 'tags') {\n parameters.includeTag = value;\n } else if (key === 'pubDateBefore') {\n parameters.before = value;\n } else if (key === 'pubDateAfter') {\n parameters.after = value;\n } else if (key === 'pageSize') {\n parameters.size = value;\n } else {\n parameters[key] = value;\n }\n });\n\n return parameters;\n}\n\n/**\n * Search for podcasts. Retrieved podcasts are 'incomplete', some of their\n * properties are only IDs.\n * Use `searchFull` to get full podcasts, but more queries will be made\n * @param options The search criterias\n * @param adaptParameters If true, some adjustments will be made to the parameters\n * @return A list of simplified podcasts\n */\nasync function search(options: PodcastSearchOptions, adaptParameters?: boolean): Promise<ListClassicReturn<SimplifiedPodcast>> {\n return classicApi.fetchData<ListClassicReturn<SimplifiedPodcast>>({\n api: ModuleApi.DEFAULT,\n path: 'v2/podcast/search',\n parameters: processSearchParameters(options),\n specialTreatement: adaptParameters\n });\n}\n\n/**\n * Count podcasts matching the filters\n * @param options The search criterias\n * @param adaptParameters If true, some adjustments will be made to the parameters\n * @return A list of simplified podcasts\n */\nasync function count(options: PodcastSearchOptions, adaptParameters?: boolean): Promise<number> {\n const result = await search({\n ...options,\n size: 0\n }, adaptParameters);\n\n return result.count;\n}\n\n/**\n * Retrieve the podcasts matching the search criterias, with all their data.\n * This query is longer, because it also needs to retrieve organisations &\n * emissions.\n * @param options The search criterias\n * @param adaptParameters If true, some adjustments will be made to the parameters\n * @return A list of podcasts\n */\nasync function searchFull(options:PodcastSearchOptions, adaptParameters?: boolean): Promise<ListClassicReturn<Podcast>> {\n const podcasts = await search(options, adaptParameters);\n const full: ListClassicReturn<Podcast> = {\n count: podcasts.count,\n sort:podcasts.sort,\n result: []\n };\n \n const organisationIds = podcasts.result.map((p: SimplifiedPodcast) => p.organisationId)\n .filter(unique);\n const emissionIds = podcasts.result.map((p: SimplifiedPodcast) => p.emissionId)\n .filter(unique);\n const participantIds = podcasts.result.map((p: SimplifiedPodcast) => p.animatorId ?? [])\n .flat()\n .filter(unique);\n\n const organisationsPromise = organisationApi.getAllById(organisationIds);\n const emissionsPromise = emissionApi.getAllById(emissionIds);\n const participantsPromise = participantApi.getAllById(participantIds);\n\n const [organisations, emissions, participants] = await Promise.all([\n organisationsPromise,\n emissionsPromise,\n participantsPromise\n ])\n\n podcasts.result.forEach((s: SimplifiedPodcast) => {\n const organisation = organisations[s.organisationId];\n const emission = emissions[s.emissionId];\n const animators = s.animatorId?.map(id => participants[id]);\n\n full.result.push({\n ...s,\n organisation,\n emission,\n animators\n });\n });\n\n return full;\n}\n\nexport const podcastApi = {\n count,\n downloadRegister,\n get,\n search,\n searchFull\n}\n","import { Ambiance, Canal } from \"../stores/class/radio/canal\";\nimport classicApi from \"./classicApi\";\nimport { ModuleApi } from \"./apiConnection\";\n\n/**\n * Retrieve a radio canal by its id\n * @param radioId Id of the radio to retrieve\n * @returns The canal data\n */\nasync function get(radioId: number): Promise<Canal> {\n return classicApi.fetchData<Canal>({\n api: ModuleApi.RADIO,\n path: `canal/${radioId}`\n });\n}\n\n/**\n * Retrieve all radio canal by organisation\n * @param organisationId Id of the organisation\n * @returns The list of canal data\n */\nasync function getAll(organisationId: string): Promise<Array<Canal>> {\n return await classicApi.fetchData<Array<Canal>>({\n api: ModuleApi.RADIO,\n path: \"canal/orga/\" + organisationId + \"/\"\n });\n}\n\n/**\n * Set the default ambiance for the given canal\n * @param canalId ID of the canal to change\n * @param ambiance New ambiance settings\n * @returns The modified ambiance\n */\nasync function setDefaultAmbiance(canalId: number, ambiance: Ambiance): Promise<Ambiance> {\n return await classicApi.putData<Ambiance>({\n api: ModuleApi.RADIO,\n path: `ambiance/canal/${canalId}/default`,\n dataToSend: ambiance\n });\n \n}\n\nexport const radioApi = {\n get,\n getAll,\n setDefaultAmbiance\n};\n","import { ModuleApi } from \"./apiConnection\";\nimport classicApi from \"./classicApi\";\n\nexport interface Aggregator {\n /** ID of the aggregator */\n aggregatorId: number;\n /** Name of the aggregator */\n name: string;\n /** User who created this aggregator */\n createdBy: string;\n /** Link to image for aggregator */\n image?: string;\n /** IP criteria */\n ip?: string;\n /** IP range criteria */\n ipRange?: string;\n /** Regex for referer criteria */\n refererRegexp?: string;\n /** Slug criteria */\n slug?: string;\n /** Regex for user agent criteria */\n uaRegexp?: string;\n}\n\nexport type PredefinedAggregator = Pick<Aggregator, 'name' | 'image'>;\n\n/**\n * Return the list of predefined aggregators\n */\nasync function getPredefined(): Promise<Array<PredefinedAggregator>> {\n return classicApi.fetchData<Array<PredefinedAggregator>>({\n api: ModuleApi.DEFAULT,\n path: 'rss/aggregator/distributions'\n });\n}\n\n/**\n * Return the list of all user-defined aggregators\n * @param organisationId If defined, the aggregators will be filtered for this\n * organisation\n */\nasync function getAll(organisationId?: string): Promise<Array<Aggregator>> {\n return classicApi.fetchData<Array<Aggregator>>({\n api: ModuleApi.DEFAULT,\n path: 'rss/aggregator/list',\n parameters: organisationId ? { organisationId } : undefined\n });\n}\n\n/**\n * Return the list of all user-defined aggregators, without filter data.\n * This doesn't require to be authenticated.\n * @param organisationId If defined, the aggregators will be filtered for this\n * organisation\n */\nasync function getAllNoAuth(organisationId?: string): Promise<Array<PredefinedAggregator>> {\n return classicApi.fetchData<Array<Aggregator>>({\n api: ModuleApi.DEFAULT,\n path: 'rss/aggregator/noauth/list',\n parameters: organisationId ? { organisationId } : undefined\n });\n}\n\nexport const aggregatorsApi = {\n getPredefined,\n getAll,\n getAllNoAuth\n};\n","import { PlaylistMedia } from \"../stores/class/radio/playlistMedia\";\nimport { Mix } from \"../stores/class/radio/mix\";\nimport { ModuleApi } from \"./apiConnection\";\nimport classicApi from \"./classicApi\";\nimport { Cartouchier } from \"@/stores/class/cartouchier/cartouchier\";\n\n/**\n * Retrieve all cartouchier from the given organisation\n * @param organisationId The ID of the organisation\n * @param options Filtering options\n * @returns List of cartouchier belonging to the organisation\n */\nasync function getAllCartouchiers(organisationId: string, options?: { ownerId?: string }): Promise<Array<Cartouchier>> {\n return classicApi.fetchData<Array<Cartouchier>>({\n api: ModuleApi.MEDIA,\n path: `cartouchier/list/${organisationId}`,\n parameters: options\n });\n}\n\n/**\n * Retrieve all mix from the given organisation\n * @param organisationId The ID of the organisation\n * @returns List of mix belonging to the organisation\n */\nasync function getAllMix(organisationId: string): Promise<Array<Mix>> {\n return classicApi.fetchData<Array<Mix>>({\n api: ModuleApi.MEDIA,\n path: `mix/${organisationId}`\n });\n}\n\n/**\n * Delete mix with the given id\n * @param mixId The ID of the mix to delete\n */\nasync function deleteMix(mixId: number): Promise<void> {\n await classicApi.deleteData({\n api: ModuleApi.MEDIA,\n path: `mix/${mixId}`\n });\n}\n\n/**\n * Retrieve all playlist from the given organisation\n * @param organisationId The ID of the organisation\n * @param options Filtering options\n * @returns List of playlist belonging to the organisation\n */\nasync function getAllPlaylists(organisationId: string, options?: { ownerId?: string }): Promise<Array<PlaylistMedia>> {\n return classicApi.fetchData<Array<PlaylistMedia>>({\n api: ModuleApi.MEDIA,\n path: `playlist/${organisationId}`,\n parameters: options\n });\n}\n\n/**\n * Delete playlist with the given id\n * @param playlistId The ID of the playlist to delete\n */\nasync function deletePlaylist(playlistId: number): Promise<void> {\n await classicApi.deleteData({\n api: ModuleApi.MEDIA,\n path: `playlist/${playlistId}`\n });\n}\n\nexport const mediathequeApi = {\n getAllCartouchiers,\n getAllMix,\n deleteMix,\n getAllPlaylists,\n deletePlaylist\n}\n","import { Rubrique } from \"./rubrique\";\n\nexport const RUBRIQUAGE_HOMEORDER_RESET = -2;\n\nexport enum RubriquageMode {\n OPTIONAL = 'OPTIONAL',\n MANDATORY = 'MANDATORY',\n RESTRICTIVE = 'RESTRICTIVE'\n}\n\nexport interface Rubriquage {\n organisationId?: string;\n rubriquageId?: number;\n rubriques: Array<Rubrique>;\n title: string;\n homePageOrder?: number | null;\n organisationPrivacy?: string;\n mode: RubriquageMode;\n}\n","import { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { Rubriquage, RubriquageMode } from \"@/stores/class/rubrique/rubriquage\";\nimport { useCacheStore } from \"@/stores/CacheStore\";\nimport classicApi, { type APIOptions } from \"./classicApi\";\nimport { ModuleApi } from \"./apiConnection\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Rubriquage\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Find rubriquages according to criterias\n * @param organisationIds List of organisation IDs for which to retrieve the\n * rubriquage\n * @param searchOptions Additional search options\n */\nasync function searchRubriquages(organisationIds: Array<string>, searchOptions?: {\n rubriquageId?: number;\n organisationId?: string|Array<string>;\n query?: string;\n}, options?: APIOptions): Promise<Array<Rubriquage>> {\n return classicApi.fetchData<Array<Rubriquage>>({\n api: ModuleApi.DEFAULT,\n path: 'rubriquage/find',\n parameters: {\n organisationId: organisationIds,\n ...searchOptions\n },\n specialTreatement: options?.adaptParameters\n });\n}\n\n/**\n * Find rubriquages according to criterias\n * @param organisationId ID of the organisation for which to retrieve the\n rubriquage\n * @returns The found rubriquage\n */\nasync function findRestrictiveRubriquage(organisationId: string): Promise<Rubriquage|undefined> {\n const all = await searchRubriquages([organisationId]);\n return all.find(r => r.mode === RubriquageMode.RESTRICTIVE);\n}\n\n/**\n * Create a new rubriquage\n * @param data The new rubriquage data\n * @returns The created rubriquage\n */\nasync function createRubriquage(data: Omit<Rubriquage, 'rubriquageId'>): Promise<Rubriquage> {\n return classicApi.postData<Rubriquage>({\n api: ModuleApi.DEFAULT,\n path: \"rubriquage/\",\n dataToSend: data\n });\n}\n\n/**\n * Fetch rubriquage data by ID\n * @param rubriquageId ID of the rubriquage to fetch\n * @returns The rubriquage\n */\nasync function getRubriquage(rubriquageId: number): Promise<Rubriquage> {\n return classicApi.fetchData<Rubriquage>({\n api: ModuleApi.DEFAULT,\n path: `rubriquage/${rubriquageId}`\n });\n}\n\n/**\n * Update the values of the rubriquage\n * @param data The new rubriquage data\n * @returns The updated rubriquage\n */\nasync function updateRubriquage(data: Rubriquage): Promise<Rubriquage> {\n return classicApi.putData<Rubriquage>({\n api: ModuleApi.DEFAULT,\n path: \"rubriquage/\",\n dataToSend: data\n });\n}\n\n/**\n * Delete a rubriquage\n * @param data Either the rubriquage to delete, or its ID\n * @returns An empty promise\n */\nasync function deleteRubriquage(data: Rubriquage|number): Promise<void> {\n const rubriquageId = typeof data === 'object' ?\n data.rubriquageId :\n data;\n \n await classicApi.deleteData<void>({\n api: ModuleApi.DEFAULT,\n path: \"rubriquage/\" + rubriquageId\n });\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Rubriques\n////////////////////////////////////////////////////////////////////////////////\nasync function searchRubriques(searchOptions?: {\n rubriquageId?: number;\n organisationId?: string|Array<string>;\n query?: string;\n}): Promise<Array<Rubrique>> {\n return classicApi.fetchData<Array<Rubrique>>({\n api: ModuleApi.DEFAULT,\n path: 'rubrique/search',\n parameters: searchOptions\n });\n}\n\n/**\n * Fetch rubriques data by multiple ID\n * @param rubriqueId ID of the rubrique to fetch\n * @returns The rubrique\n */\nasync function getAllRubriquesById(rubriqueIds: Array<number>): Promise<Array<Rubrique>> {\n const promises = rubriqueIds.map(getRubrique);\n\n return await Promise.all(promises);\n}\n\n/**\n * Fetch rubrique data by ID\n * @see getCachedRubrique\n * @param rubriqueId ID of the rubrique to fetch\n * @returns The rubrique\n */\nasync function getRubrique(rubriqueId: number): Promise<Rubrique> {\n return classicApi.fetchData<Rubrique>({\n api: ModuleApi.DEFAULT,\n path: `rubrique/${rubriqueId}`\n });\n}\n\n/**\n * Fetch rubrique data by ID\n * If the rubrique is available in the cache, return it from the cache\n * @param rubriqueId ID of the rubrique to fetch\n * @returns The rubrique\n */\nasync function getCachedRubrique(rubriqueId: number): Promise<Rubrique> {\n const cacheStore = useCacheStore();\n return cacheStore.getData(`rubrique-${rubriqueId}`, () => getRubrique(rubriqueId));\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Scope\n////////////////////////////////////////////////////////////////////////////////\n/**\n * List the rubrique IDS associated to the given user\n * @param userId The ID of the user for which to retrieve this data\n * @returns The list of IDs of rubriques\n */\nasync function listUserScope(userId: string): Promise<Array<number>> {\n return classicApi.fetchData<Array<number>>({\n api: ModuleApi.DEFAULT,\n path: `rubrique/user/list/rubriques/${userId}`\n });\n}\n\n/**\n * List the user IDS associated to the given rubrique\n * @param rubriqueId The ID of the rubrique for which to retrieve this data\n * @returns The list of IDs of users\n */\nasync function listUsersScopedByRubrique(rubriqueId: string): Promise<Array<string>> {\n return classicApi.fetchData<Array<string>>({\n api: ModuleApi.DEFAULT,\n path: `rubrique/user/list/users/${rubriqueId}`\n });\n}\n\n/**\n * Update the associated rubriques to the user\n * @param userId The ID of the user for which to change the rights scope\n * @param previousScope Previous rubrique IDs\n * @param rubriqueIds New rubrique IDs to set\n * @returns A promise\n */\nasync function setUserScope(userId: string, previousScope: Array<number>, rubriqueIds: Array<number>): Promise<void> {\n\n const associatedIds: Array<number> = [];\n const dissociatedIds: Array<number> = [];\n const promises: Array<Promise<void>> = [];\n\n // Create a set containing all ids, will iterare over all of them to check\n // whether to add or remove them\n const allIds = new Set<number>();\n previousScope.forEach(allIds.add, allIds);\n rubriqueIds.forEach(allIds.add, allIds);\n\n\n // Find out which IDs need to be added/remove\n allIds.forEach(id => {\n const inOld = previousScope.includes(id);\n const inNew = rubriqueIds.includes(id);\n\n if (inOld && !inNew) {\n dissociatedIds.push(id);\n } else if (!inOld && inNew) {\n associatedIds.push(id);\n }\n })\n\n // API call for adding rubriques\n if (associatedIds.length > 0) {\n promises.push(classicApi.postData({\n api: ModuleApi.DEFAULT,\n path: 'rubrique/user/associate',\n dataToSend: {\n rubriqueIds: associatedIds,\n userIds: [userId]\n }\n }));\n }\n\n // API call for removing rubriques\n if (dissociatedIds.length > 0) {\n promises.push(classicApi.postData({\n api: ModuleApi.DEFAULT,\n path: 'rubrique/user/dissociate',\n dataToSend: {\n rubriqueIds: dissociatedIds,\n userIds: [userId]\n }\n }));\n }\n\n return Promise.all(promises).then();\n}\n\nexport const rubriquesApi = {\n createRubriquage,\n findRestrictiveRubriquage,\n getAllRubriquesById,\n getRubriquage,\n getRubrique,\n getCachedRubrique,\n searchRubriquages,\n searchRubriques,\n updateRubriquage,\n deleteRubriquage,\n listUserScope,\n listUsersScopedByRubrique,\n setUserScope\n};\n","export function slugify(name: string): string {\n return name\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '');\n}\n","import { rubriquesApi } from '@/api';\nimport { slugify } from '@/helper/slugify';\nimport { Annotations } from '@/stores/class/general';\nimport { Rubriquage } from '@/stores/class/rubrique/rubriquage';\nimport ParamSdkStore from '@/stores/ParamSdkStore';\nimport { effectScope, Ref, ref, watch } from 'vue';\n\nconst subOrganisations = ref<Array<SubOrganisation>>([]);\nconst selectedSubOrganisation = ref<SubOrganisation|null>(null);\n\n// Promise for retrieving suborganisations\nlet loadingPromise: Promise<Rubriquage|undefined>|null = null;\n\n// Whether the watch on organisationId has already been registered\nlet watchInitialized = false;\n\nexport interface SubOrganisation {\n id: number;\n name: string;\n annotations: Annotations;\n podcastCount: number;\n}\n\nfunction slugifySubOrganisation(subOrga: SubOrganisation): string {\n return slugify(subOrga.name);\n}\n\n/**\n * Composable to manage suborganisation.\n * Allows for selecting (= focusing), unselecting, listing, etc\n * @param organisationId ID of the current organisation\n * @param slugFunc Function to slugify the suborganisation ids\n */\nexport const useSubOrganisations = (organisationId: Ref<string>, slugFunc = slugifySubOrganisation) => {\n\n // Register the watch on organisationId only once, detached from any\n // component's lifecycle, so it isn't stopped when the first caller unmounts\n if (!watchInitialized) {\n watchInitialized = true;\n\n // Load suborganisations if necessary\n if (subOrganisations.value.length === 0 && !loadingPromise) {\n updateList();\n }\n\n effectScope(true).run(() => {\n watch(organisationId, updateList);\n });\n }\n\n async function updateList() {\n unselectSubOrganisation();\n loadingPromise = rubriquesApi.findRestrictiveRubriquage(organisationId.value);\n const rubriquage = await loadingPromise;\n loadingPromise = null;\n if (rubriquage) {\n subOrganisations.value = rubriquage.rubriques.map(r => ({\n id: r.rubriqueId,\n name: r.name,\n podcastCount: r.podcastCount ?? 0,\n annotations: r.annotations ?? {}\n }));\n } else {\n subOrganisations.value = [];\n }\n }\n\n async function getSubOrganisation(id: string|number): Promise<SubOrganisation> {\n if (loadingPromise) {\n await loadingPromise;\n }\n\n let findFunc;\n if (typeof id === 'string') {\n findFunc = (c: SubOrganisation) => slugFunc(c) === id;\n } else {\n findFunc = (c: SubOrganisation) => c.id === id;\n }\n\n const subOrga = subOrganisations.value.find(findFunc);\n if (subOrga) {\n return Promise.resolve(subOrga);\n } else {\n return Promise.reject(`Sub organisation ${id} not found`);\n }\n }\n\n function selectSubOrganisation(subOrganisation: SubOrganisation): void {\n if (selectedSubOrganisation.value) {\n unselectSubOrganisation();\n }\n\n selectedSubOrganisation.value = subOrganisation;\n // Force filtering on rubrique ID of the college\n ParamSdkStore.state.generalParameters.forceRubriqueId = [\n ParamSdkStore.state.generalParameters.forceRubriqueId ?? [],\n subOrganisation.id\n ].flat();\n }\n\n function unselectSubOrganisation(): void {\n // Nothing to do if no org is selected\n if (!selectedSubOrganisation.value) {\n return;\n }\n\n // Restore the site's base rubrique filter instead of clearing it outright\n const data = ParamSdkStore.state.generalParameters.forceRubriqueId;\n if (Array.isArray(data)) {\n const idx = data.findIndex(id => id === selectedSubOrganisation.value.id);\n if (idx >= 0) {\n data.splice(idx, 1);\n }\n ParamSdkStore.state.generalParameters.forceRubriqueId = data;\n } else {\n ParamSdkStore.state.generalParameters.forceRubriqueId = undefined;\n }\n selectedSubOrganisation.value = null;\n }\n\n return {\n /** Currently selected/focused suborganisation */\n selectSubOrganisation,\n /** Change the currently selected/focused suborganisation */\n selectedSubOrganisation,\n /** Remove the focus on the suborganisation */\n unselectSubOrganisation,\n /** List of available suborganisations */\n subOrganisations,\n /**\n * Get a suborganisation by its ID or sluggified name\n * @param id Either the numeric ID or the sluggified name of the orga\n * @returns A promise of the matching sub organisation\n */\n getSubOrganisation\n };\n};\n","import { Organisation } from \"./class/general/organisation\";\nimport { Profile } from \"@/stores/class/user/profile\";\nimport { useSaveFetchStore } from \"./SaveFetchStore\";\nimport { defineStore } from \"pinia\";\nimport { KeycloakInfo } from \"@/stores/class/user/person\";\nimport { VideoConfig } from \"@/stores/class/config/videoConfig\";\nimport classicApi from \"../api/classicApi\";\nimport { useNotificationStore } from \"./NotificationStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { organisationApi, rubriquesApi } from \"@/api\";\nimport { useSubOrganisations } from \"@/components/composable/useSubOrganisations\";\nimport { toRef } from \"vue\";\n\ninterface AuthParam {\n accessToken?: string;\n refreshToken?: string;\n expiration?: Date|string;\n clientId?: string;\n}\n\ninterface AuthState {\n authReload: number;\n authName: string;\n authOrgaId: string|undefined;\n authOrgaName?: string;\n authRole: Array<string>;\n authParam:AuthParam;\n authProfile?: Profile;\n authOrganisation: Organisation;\n authVideoConfig: VideoConfig;\n}\n\nexport const useAuthStore = defineStore(\"AuthStore\", {\n state: (): AuthState => ({\n authReload: 0,\n authName: \"\",\n authRole: [],\n authOrgaId: undefined,\n authParam: {\n accessToken: undefined,\n refreshToken: undefined,\n expiration: undefined,\n },\n authProfile: undefined,\n authOrganisation: {\n id: \"\",\n name: \"\",\n imageUrl: \"\",\n description: undefined,\n monetisable: undefined,\n location: undefined,\n comments: undefined,\n attributes: {\n RSS_CONTACT: undefined,\n }\n },\n authVideoConfig: { active: false },\n }),\n getters: {\n /** Indicates that the user is authenticated */\n isAuthenticated(): boolean {\n return this.authParam.accessToken !== undefined;\n },\n isRoleAdmin(): boolean {\n return this.authRole.includes(\"ADMIN\");\n },\n isRoleAnimator(): boolean {\n return this.authRole.includes(\"ANIMATION\");\n },\n isRoleUsers(): boolean {\n return this.authRole.includes(\"USERS\");\n },\n isRoleOrganisation(): boolean {\n return this.authRole.includes(\"ORGANISATION\");\n },\n isRoleProduction(): boolean {\n return this.authRole.includes(\"PRODUCTION\");\n },\n isRolePublication(): boolean {\n return this.authRole.includes(\"PODCAST_VALIDATION\");\n },\n isRoleContribution(): boolean {\n return this.authRole.includes(\"PODCAST_CRUD\");\n },\n isRolePlaylists(): boolean {\n return this.authRole.includes(\"PLAYLISTS\");\n },\n isRoleComments(): boolean {\n return this.authRole.includes(\"COMMENTS_MODERATION\");\n },\n isRoleEditor(): boolean {\n return this.authRole.includes(\"EDITION\");\n },\n isRoleAnalytics(): boolean {\n return this.authRole.includes(\"ANALYTICS\");\n },\n isRoleAdvertising(): boolean {\n return this.authRole.includes(\"ADVERTISING\");\n },\n isRoleLive(): boolean {\n return this.authRole.includes(\"LIVE\");\n },\n isRoleRadio(): boolean {\n return this.authRole.includes(\"RADIO\");\n },\n isRoleBillingAdmin(): boolean {\n return this.authRole.includes(\"BILLING_ADMIN\");\n },\n isRoleBillingViewer(): boolean {\n return this.authRole.includes(\"BILLING_VIEWER\");\n },\n isOneOfRoleProduction(): boolean {\n return (\n this.authRole.includes(\"PRODUCTION\") ||\n this.authRole.includes(\"RESTRICTED_PRODUCTION\")\n );\n },\n isRoleRestrictedProduction(): boolean {\n return this.authRole.includes(\"RESTRICTED_PRODUCTION\");\n },\n isGarRole(): string | undefined {\n return this.authProfile?.attributes?.[\"GAR\"] as\n | string\n | undefined; /*CHEF_ETABLISSEMENT, ENSEIGNANT, ELEVE, undefined */\n },\n isVideoOrga(): boolean {\n return this.authVideoConfig.active;\n },\n userScope(): Array<number> {\n // This should not happen, but in case our user has no profile, invalidate\n // the scope.\n if (!this.authProfile) {\n return [-1];\n }\n\n // Admins are not affected by scope\n if(\n this.authRole.includes('ADMIN') ||\n this.authRole.includes('ORGANISATION')\n ) {\n return [];\n } else {\n return this.authProfile.scope;\n }\n }\n },\n actions: {\n authUpdate(authentication: {name?:string, organisationId?:string,organisationName?:string, role?:Array<string>}) {\n this.authName = authentication.name ?? this.authName;\n this.authOrgaId = authentication.organisationId ?? this.authOrgaId;\n this.authOrgaName = authentication.organisationName ?? this.authOrgaName;\n this.authRole = authentication.role ?? this.authRole;\n },\n authUpdateParam(oAuthParam: AuthParam) {\n this.authParam = oAuthParam;\n },\n authUpdateProfile(profile: Profile) {\n this.authProfile = profile;\n this.authName = profile.firstname + \" \" + profile.lastname;\n },\n authUpdateOrganisation(organisation: Organisation) {\n this.authOrganisation = organisation;\n const saveFetchStore = useSaveFetchStore();\n saveFetchStore.forceUpdateAttributes(\n organisation.id,\n organisation.attributes??{}\n );\n saveFetchStore.forceUpdateData(organisation.id, organisation);\n },\n async fetchProfileAsynchrone() {\n try {\n const organisationData = await classicApi.fetchData<{\n [key: string]: string;\n }>({\n api: 0,\n path:\"organisation/attributes/\" + encodeURI(this.authOrganisation.id)\n });\n this.authVideoConfig = await organisationApi.getVideoConfig(this.authOrganisation.id);\n\n const organisation: Organisation = {\n ...this.authOrganisation,\n ...{ attributes: organisationData },\n };\n if (organisation.attributes?.SEPA) {\n const orgaSepa = Object.getOwnPropertyDescriptor(\n organisation.attributes,\n \"SEPA\",\n );\n if (orgaSepa) {\n Object.defineProperty(organisation.attributes, \"iban\", orgaSepa);\n }\n delete organisation.attributes[\"SEPA\"];\n }\n this.authUpdateOrganisation(organisation);\n } catch {\n if (this.authReload > 5) {\n return;\n }\n this.authReload += 1;\n await new Promise((resolve) => setTimeout(resolve, 500 * this.authReload));\n await this.fetchProfileAsynchrone();\n }\n },\n async fetchProfile() {\n try {\n const profileDataPromise = classicApi.fetchData<KeycloakInfo>({\n api: 20,\n path:\"userinfo\",\n });\n\n const availablesOrganisationsPromise = classicApi.fetchData<Array<Organisation>>({\n api: 0,\n path:\"user/me/organisations\",\n });\n\n const [profileData, availablesOrganisations] = await Promise.all([\n profileDataPromise,\n availablesOrganisationsPromise\n ]);\n\n // Retrieve user's rights scope\n const scope: Array<number> = [];\n // TODO remove when scope feature is available on prod\n /*\n try {\n const s = await rubriquesApi.listUserScope(profileData.sub);\n scope.push(...s);\n } catch (e) {\n console.error(e);\n // Disable scope\n scope.push(-1);\n }\n */\n\n const array = (availablesOrganisations ?? []).toSorted(function (a: Organisation, b: Organisation) {\n if (a.name.toLowerCase() < b.name.toLowerCase()) {\n return -1;\n }\n if (a.name.toLowerCase() > b.name.toLowerCase()) {\n return 1;\n }\n return 0;\n });\n\n const profile = {\n firstname: profileData.given_name,\n lastname: profileData.family_name,\n email: profileData.email,\n userId: profileData.sub,\n attributes: {\n CGUValid: profileData.CGUValid,\n GAR: profileData.GAR,\n description: profileData.description,\n imageUrl: profileData.imageUrl,\n active_organisation: profileData.active_organisation,\n },\n organisations: array,\n scope\n };\n\n this.authUpdateProfile(profile);\n if (!profileData.active_organisation) {\n return;\n }\n const activeOrganisation = await classicApi.fetchData<Organisation>({\n api: 0,\n path:\"organisation/\" + profileData.active_organisation,\n });\n this.authUpdate({\n organisationId: activeOrganisation.id,\n organisationName: activeOrganisation.name,\n });\n this.authUpdateOrganisation(activeOrganisation);\n this.fetchProfileAsynchrone();\n\n if (scope.length > 0) {\n const { selectSubOrganisation, getSubOrganisation } = useSubOrganisations(toRef(activeOrganisation, 'id'));\n const org = await getSubOrganisation(scope[0]);\n selectSubOrganisation(org);\n }\n } catch(error) {\n console.error(error);\n if (this.authReload > 5) {\n const { addNotification } = useNotificationStore();\n const { t } = useI18n();\n addNotification({\n type: 'error',\n title: t('Auth error - Couldn\\'t retrieve user info - Title'),\n message: t('Auth error - Couldn\\'t retrieve user info - Message')\n });\n return;\n }\n this.authReload += 1;\n\n // Wait before retrying\n await new Promise((resolve) => setTimeout(resolve, 500 * this.authReload));\n await this.fetchProfile();\n }\n },\n },\n});\n\n/** Type for the AuthStore */\nexport type AuthStore = ReturnType<typeof useAuthStore>;\n","import { computed, ref } from 'vue';\n\nimport { Category } from '@/stores/class/general/category';\nimport { Rubriquage } from '@/stores/class/rubrique/rubriquage';\nimport { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { Rubrique } from '@/stores/class/rubrique/rubrique';\nimport { defineStore } from 'pinia';\nimport { useAuthStore } from './AuthStore';\nimport { useRoute } from 'vue-router';\n\nimport { state as sdkParams } from './ParamSdkStore';\n\n/**\n * Store managing data regarding the filters to apply to know which\n * podcasts to show.\n */\nexport const useFilterStore = defineStore(\"FilterStore\", () => {\n const _filterOrgaId = ref<string|null>(null);\n const filterImgUrl = ref<string>();\n const filterName = ref<string>();\n const filterRubriquage = ref<Array<Rubriquage>>([]);\n const filterRubrique = ref<Array<RubriquageFilter>>([]);\n const filterRubriqueDisplay = ref<Array<Rubrique>>([]);\n const filterLive = ref<boolean>(false);\n const filterIab = ref<Category>();\n\n const route = useRoute();\n const authStore = useAuthStore();\n\n /**\n * ID of the current organisation.\n */\n const filterOrgaId = computed((): string|undefined => {\n // When explicitly asking to view all content, disable filter\n if (route?.query.viewall === \"true\") {\n return undefined;\n\n // When productor set in route, use it\n } else if (route?.query.productor) {\n return route.query.productor as string;\n\n // If we don´t have an ID stored, use data from auth store\n } else if(_filterOrgaId.value === null) {\n return authStore.authOrgaId;\n\n // Otherwise use stored ID\n } else {\n return _filterOrgaId.value ?? undefined;\n }\n });\n\n /** Update stored organisation ID only if not already set */\n function updateOrgaIfNecessary(orgaId: string|undefined): void {\n if (orgaId && filterOrgaId.value === undefined && sdkParams.generalParameters.podcastmaker !== true) {\n _filterOrgaId.value = orgaId;\n }\n }\n\n /**\n * The ID of the current organisation, regardless of other options.\n * Use this if you want to know the organisation of the user even in\n * unfocused mode (ie viewall = true)\n */\n const realOrgaId = computed(() => {\n return _filterOrgaId.value ?? undefined;\n });\n\n function filterUpdateOrga(filter: {\n orgaId?: string;\n imgUrl?: string;\n name?: string;\n rubriquageArray?: Array<Rubriquage>;\n isLive?: boolean;\n }) {\n if (filter.imgUrl || !filter.orgaId) {\n filterImgUrl.value = filter.imgUrl;\n }\n if (filter.name || !filter.orgaId) {\n filterName.value = filter.name;\n }\n if (filter.rubriquageArray) {\n filterRubriquage.value = filter.rubriquageArray;\n }\n filterLive.value = filter.isLive ?? false;\n filterIab.value = undefined;\n _filterOrgaId.value = filter.orgaId ?? null;\n }\n\n function filterUpdateIab(iab?: Category) {\n filterIab.value = iab;\n }\n\n function filterUpdateRubrique(rubriqueFilter: Array<RubriquageFilter>) {\n filterRubrique.value = rubriqueFilter;\n }\n\n function filterUpdateRubriqueDisplay(rubriques: Array<Rubrique>) {\n filterRubriqueDisplay.value = rubriques.filter(rubrique=> rubrique);\n }\n\n return {\n filterOrgaId,\n realOrgaId,\n\n updateOrgaIfNecessary,\n \n filterUpdateOrga,\n filterUpdateIab,\n filterUpdateRubrique,\n filterUpdateRubriqueDisplay,\n\n filterImgUrl,\n filterName,\n filterRubriquage,\n filterRubrique,\n filterRubriqueDisplay,\n filterLive,\n filterIab\n };\n});\n\n/** Type for the FilterStore */\nexport type FilterStore = ReturnType<typeof useFilterStore>;\n","import dayjs from \"dayjs\";\nimport classicApi from \"../api/classicApi\";\nimport { useAuthStore } from \"../stores/AuthStore\";\nimport { useApiStore } from \"../stores/ApiStore\";\nimport { useFilterStore } from \"../stores/FilterStore\";\nimport { FetchParam } from \"@/stores/class/general/fetchParam\";\nimport { Media } from \"@/stores/class/general/media\";\nimport { KeycloakRenewToken } from \"@/stores/class/user/person\";\n\nexport default {\n async createAuthenticatedFetchHeader(\n forceRefresh = false,\n ): Promise<{ [key:string]: string }> {\n const authStore = useAuthStore();\n if(\"\"===authStore.authName){\n return {};\n }\n const currentTime = dayjs();\n const expirationDate = dayjs(authStore.authParam.expiration);\n\n if (currentTime.isAfter(expirationDate) || forceRefresh) {\n const bearerToken = await this.updateAccessToken();\n return { Authorization: \"Bearer \" + bearerToken };\n } else {\n const bearerToken = authStore.authParam.accessToken;\n return { Authorization: \"Bearer \" + bearerToken };\n }\n },\n async updateAccessToken(): Promise<string> {\n const authStore = useAuthStore();\n const data = await this.refreshToken();\n if (!data) {\n return \"\";\n }\n authStore.authParam.expiration = data.expiration;\n authStore.authParam.accessToken = data.accessToken;\n authStore.authParam.refreshToken = data.refreshToken;\n return data.accessToken;\n },\n async refreshTokenLoop(): Promise<void> {\n const authStore = useAuthStore();\n const currentTime = dayjs();\n const expirationDate = dayjs(authStore.authParam.expiration);\n if (currentTime.isAfter(expirationDate)) {\n await this.updateAccessToken();\n }\n const millisecondDifference = dayjs(authStore.authParam.expiration).diff(\n dayjs(),\n \"millisecond\",\n );\n setTimeout(\n () => {\n this.refreshTokenLoop();\n },\n Math.max(millisecondDifference - 5000, 0),\n );\n },\n async refreshToken(): Promise<\n | {\n accessToken: string;\n refreshToken: string;\n expiration: Date;\n }\n | undefined\n > {\n const authStore = useAuthStore();\n const response = await classicApi.postData<KeycloakRenewToken>({\n api: 20,\n path:\"token\",\n contentType:\"urlencoded\",\n dataToSend:{\n client_id: authStore.authParam.clientId,\n grant_type: \"refresh_token\",\n refresh_token: authStore.authParam.refreshToken,\n },\n isNotAuth: true,\n catchFunction:() => {\n const filterStore = useFilterStore();\n filterStore.filterOrgaId = undefined;\n filterStore.filterImgUrl = undefined;\n window.location.href = \"/logout\";\n },\n });\n if (response) {\n return {\n accessToken: response.access_token,\n refreshToken: response.refresh_token,\n expiration: dayjs().add(response.expires_in, \"seconds\").toDate(),\n };\n }\n },\n getMediaContent(media: Media | undefined): string {\n if (!media) {\n return \"\";\n }\n const apiStore = useApiStore();\n const authStore = useAuthStore();\n let timing = \"#t=\" + (media.cueIn ?? 0);\n if (media.cueOut) {\n timing += \",\" + media.cueOut;\n }\n return (\n apiStore.mediaUrl +\n \"media/content/\" +\n media?.mediaId +\n \"?access_token=\" +\n authStore.authParam.accessToken +\n timing\n );\n },\n getUriSearchParams(parameters: FetchParam): URLSearchParams {\n const _return = new URLSearchParams();\n for (const [key, value] of Object.entries(parameters)) {\n // remove empty array for stats #12323\n if (\n undefined !== value &&\n null !== value &&\n \"\" !== value &&\n (!Array.isArray(value) || (Array.isArray(value) && value.length))\n ) {\n _return.append(key, value.toString());\n }\n }\n return _return;\n },\n transformObjectValueToString<T>(object: T): { [key: string]: string } {\n const objectString: { [key: string]: string } = {};\n for (const key in object) {\n const value = object[key];\n if (null !== value && \"object\" === typeof value) {\n objectString[key] = JSON.stringify(value);\n } else if (value) {\n objectString[key] = (value as any).toString();\n }\n }\n return objectString;\n },\n};\n","import {getApiUrl, ModuleApi} from \"./apiConnection\";\nimport fetchHelper from \"../helper/fetchHelper\";\nimport axios, { AxiosError } from 'axios';\nimport { FetchParam } from \"@/stores/class/general/fetchParam\";\nimport { state } from \"../stores/ParamSdkStore\";\n\ninterface RequestParameters{\n api: ModuleApi,\n path: string,\n isNotAuth?:boolean,\n parameters?:FetchParam,\n headers?:{[key: string]: string},\n forceRefresh?: boolean,\n specialTreatement?: boolean,\n dataToSend?: unknown,\n contentType?: string,\n noContentType?:boolean,\n catchFunction?: () => void,\n responseType?:{[key: string]: string},\n}\n\nexport interface APIOptions {\n adaptParameters?: boolean;\n}\n\nexport default {\n async fetchData<Type>(params:RequestParameters): Promise<Type> {\n let paramsString = \"\";\n if(params.parameters){\n if(params.specialTreatement){\n params.parameters = this.adjustParameters(params);\n }\n const parameters = fetchHelper.getUriSearchParams(params.parameters).toString();\n paramsString = parameters.length ? '?' + parameters : '';\n }\n let authHeaders = {};\n if(!params.isNotAuth){\n authHeaders = await fetchHelper.createAuthenticatedFetchHeader(params.forceRefresh);\n }\n const url = getApiUrl(params.api) + params.path +paramsString;\n const response = await axios.get(url, {...{headers: {...params.headers, ...authHeaders}}, ...params.responseType});\n return response.data;\n },\n\n async postData<Type>(params: RequestParameters): Promise<Type> {\n let paramsString = \"\";\n if(params.parameters){\n const parameters = fetchHelper.getUriSearchParams(params.parameters).toString();\n paramsString = parameters.length ? '?' + parameters : '';\n }\n const url = getApiUrl(params.api) + params.path + paramsString;\n let authHeaders = {};\n if(!params.isNotAuth){\n authHeaders = await fetchHelper.createAuthenticatedFetchHeader(params.forceRefresh);\n }\n let typeHeader = {};\n let dataToSend: any;\n if('formData'===params.contentType){\n typeHeader = { \"Content-Type\": \"multipart/form-data; charset=utf-8\" };\n dataToSend = new FormData();\n for (const key in params.dataToSend) {\n const value = params.dataToSend[key];\n if (undefined !== value) {\n dataToSend.append(key, value);\n }\n }\n }else if ('text'===params.contentType){\n typeHeader = { \"Content-Type\": \"text/plain\" };\n dataToSend = (params.dataToSend as string);\n }else if('urlencoded' === params.contentType){\n typeHeader = { \"Content-Type\": \" application/x-www-form-urlencoded\" };\n dataToSend = params.dataToSend;\n }else if(null!=params.dataToSend || undefined!=params.dataToSend){\n typeHeader = { \"Content-Type\": 'application/json; charset=utf-8' };\n dataToSend =JSON.stringify(params.dataToSend);\n }\n if(params.noContentType){\n typeHeader = {};\n }\n const response = await axios.post(url,dataToSend,{headers:{...params.headers, ...typeHeader, ...authHeaders} }).catch((error) => {\n if(params.catchFunction){\n params.catchFunction();\n }else{\n const axiosError= error as AxiosError;\n return Promise.reject(axiosError);\n }\n });\n return response?.data;\n },\n\n async putData<Type>(params: RequestParameters & { raw?: boolean }): Promise<Type> {\n let paramsString = \"\";\n if(params.parameters){\n const parameters = fetchHelper.getUriSearchParams(params.parameters).toString();\n paramsString = parameters.length ? '?' + parameters : '';\n }\n const url = getApiUrl(params.api) + params.path + paramsString;\n let authHeaders = {};\n if(!params.isNotAuth){\n authHeaders = await fetchHelper.createAuthenticatedFetchHeader(params.forceRefresh);\n }\n let typeHeader = {};\n let dataToSend: any;\n if('formData'===params.contentType){\n typeHeader = { \"Content-Type\": \"multipart/form-data; charset=utf-8\" };\n dataToSend = new FormData();\n for (const key in params.dataToSend) {\n const value = params.dataToSend[key];\n if (undefined !== value) {\n dataToSend.append(key, value);\n }\n }\n } else if (params.raw === true && params.dataToSend) {\n typeHeader = { \"Content-Type\": 'text/plain; charset=utf-8' };\n dataToSend = params.dataToSend;\n }else if(null!=params.dataToSend || undefined!=params.dataToSend){\n typeHeader = { \"Content-Type\": 'application/json; charset=utf-8' };\n dataToSend = params.dataToSend;//JSON.stringify(params.dataToSend);\n }\n\n if(params.noContentType){\n typeHeader = {};\n }\n\n const response = await axios.put(url,dataToSend,{headers:{...params.headers, ...typeHeader, ...authHeaders} });\n return response.data;\n },\n\n async deleteData<Type>(params: RequestParameters):Promise<Type> {\n let paramsString = \"\";\n if(params.parameters){\n const parameters = fetchHelper.getUriSearchParams(params.parameters).toString();\n paramsString = parameters.length ? '?' + parameters : '';\n }\n const url = getApiUrl(params.api) + params.path + paramsString;\n let authHeaders = {};\n if(!params.isNotAuth){\n authHeaders = await fetchHelper.createAuthenticatedFetchHeader(params.forceRefresh);\n }\n let dataToSend: any;\n if('formData'===params.contentType){\n dataToSend = new FormData();\n for (const key in params.dataToSend) {\n const value = params.dataToSend[key];\n if (undefined !== value) {\n dataToSend.append(key, value);\n }\n }\n }else{\n dataToSend = params.dataToSend;\n }\n const response = await axios.delete(url, {headers:{...params.headers, ...authHeaders}, data: dataToSend });\n return response.data;\n },\n\n adjustParameters(params: RequestParameters){\n const parametersUpdated = params.parameters ?? {};\n if (params.path.includes('podcast/search')){\n if(!params.parameters?.includeHidden || params.isNotAuth){\n parametersUpdated.validity = true;\n }else{\n parametersUpdated.includeStatus = ['READY', 'PLANNED', 'PROCESSING', 'ERROR'];\n if (!parametersUpdated.notLive) {\n parametersUpdated.includeStatus.push('READY_TO_RECORD');\n }\n }\n }\n\n if(state.generalParameters.forceOrganisationId){\n if(!parametersUpdated.organisationId || !(parametersUpdated.organisationId as Array<string>)?.length){\n parametersUpdated.organisationId = state.generalParameters.forceOrganisationId;\n }else if(Array.isArray(parametersUpdated.organisationId)&& 1===(parametersUpdated.organisationId as Array<string>).length && \"\"===parametersUpdated.organisationId[0]){\n parametersUpdated.organisationId = undefined;\n }\n }\n\n // Force filter on rubrique\n if(undefined!==state.generalParameters.forceRubriqueId){\n if(!parametersUpdated.rubriqueId){\n parametersUpdated.rubriqueId = [];\n }\n parametersUpdated.rubriqueId = (parametersUpdated.rubriqueId as Array<number>).concat([state.generalParameters.forceRubriqueId].flat());\n }\n\n // Force filter on rubriquage\n if(undefined!==state.generalParameters.forceNoRubriquageId){\n if(!parametersUpdated.noRubriquageId){\n parametersUpdated.noRubriquageId = [];\n }\n (parametersUpdated.noRubriquageId as number[]).push(...([state.generalParameters.forceNoRubriquageId].flat()));\n }\n\n return parametersUpdated;\n },\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downloadHelper-C4q0i5xN.mjs","names":[],"sources":["../src/helper/downloadHelper.ts"],"sourcesContent":["import fetchHelper from \"./fetchHelper\";\nexport default {\n async onDownload(\n urlToDownload: string,\n nameOfDownload: string,\n auth = true,\n ): Promise<void> {\n const xhr = new XMLHttpRequest();\n xhr.open(\"GET\", urlToDownload, true);\n if (auth) {\n const header = await fetchHelper.createAuthenticatedFetchHeader();\n if (header) {\n xhr.setRequestHeader(\"Authorization\", header.Authorization);\n }\n }\n xhr.responseType = \"blob\";\n\n return new Promise<void>((resolve, reject) => {\n xhr.onload = function () {\n if (xhr.status !== 200) {\n reject(new Error(`Download failed with status ${xhr.status}`));\n return;\n }\n const urlCreator = window.URL || window.webkitURL;\n const imageUrl = urlCreator.createObjectURL(this.response);\n const tag = document.createElement(\"a\");\n tag.href = imageUrl;\n tag.target = \"_blank\";\n tag.download = nameOfDownload.replace(/ /g, \"_\");\n document.body.appendChild(tag);\n tag.click();\n document.body.removeChild(tag);\n resolve();\n };\n xhr.onerror = function () {\n reject(new Error(\"Download failed\"));\n };\n xhr.send();\n });\n },\n};\n"],"mappings":";;AACA,IAAA,yBAAe,EACb,MAAM,WACJ,eACA,gBACA,OAAO,MACQ;CACf,MAAM,MAAM,IAAI,eAAe;CAC/B,IAAI,KAAK,OAAO,eAAe,IAAI;CACnC,IAAI,MAAM;EACR,MAAM,SAAS,MAAM,oBAAY,+BAA+B;EAChE,IAAI,QACF,IAAI,iBAAiB,iBAAiB,OAAO,aAAa;CAE9D;CACA,IAAI,eAAe;CAEnB,OAAO,IAAI,SAAe,SAAS,WAAW;EAC5C,IAAI,SAAS,WAAY;GACvB,IAAI,IAAI,WAAW,KAAK;IACtB,uBAAO,IAAI,MAAM,+BAA+B,IAAI,QAAQ,CAAC;IAC7D;GACF;GAEA,MAAM,YADa,OAAO,OAAO,OAAO,WACZ,gBAAgB,KAAK,QAAQ;GACzD,MAAM,MAAM,SAAS,cAAc,GAAG;GACtC,IAAI,OAAO;GACX,IAAI,SAAS;GACb,IAAI,WAAW,eAAe,QAAQ,MAAM,GAAG;GAC/C,SAAS,KAAK,YAAY,GAAG;GAC7B,IAAI,MAAM;GACV,SAAS,KAAK,YAAY,GAAG;GAC7B,QAAQ;EACV;EACA,IAAI,UAAU,WAAY;GACxB,uBAAO,IAAI,MAAM,iBAAiB,CAAC;EACrC;EACA,IAAI,KAAK;CACX,CAAC;AACH,EACF"}
@@ -1,4 +1,4 @@
1
- import { n as fetchHelper_default } from "./classicApi-CkDHWZG1.mjs";
1
+ import { n as fetchHelper_default } from "./classicApi-xjOqAovv.mjs";
2
2
  //#region src/helper/downloadHelper.ts
3
3
  var downloadHelper_default = { async onDownload(urlToDownload, nameOfDownload, auth = true) {
4
4
  const xhr = new XMLHttpRequest();
@@ -33,4 +33,4 @@ var downloadHelper_default = { async onDownload(urlToDownload, nameOfDownload, a
33
33
  //#endregion
34
34
  export { downloadHelper_default as t };
35
35
 
36
- //# sourceMappingURL=downloadHelper-DLdkblYN.mjs.map
36
+ //# sourceMappingURL=downloadHelper-DY3fF3dA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downloadHelper-DY3fF3dA.mjs","names":[],"sources":["../src/helper/downloadHelper.ts"],"sourcesContent":["import fetchHelper from \"./fetchHelper\";\nexport default {\n async onDownload(\n urlToDownload: string,\n nameOfDownload: string,\n auth = true,\n ): Promise<void> {\n const xhr = new XMLHttpRequest();\n xhr.open(\"GET\", urlToDownload, true);\n if (auth) {\n const header = await fetchHelper.createAuthenticatedFetchHeader();\n if (header) {\n xhr.setRequestHeader(\"Authorization\", header.Authorization);\n }\n }\n xhr.responseType = \"blob\";\n\n return new Promise<void>((resolve, reject) => {\n xhr.onload = function () {\n if (xhr.status !== 200) {\n reject(new Error(`Download failed with status ${xhr.status}`));\n return;\n }\n const urlCreator = window.URL || window.webkitURL;\n const imageUrl = urlCreator.createObjectURL(this.response);\n const tag = document.createElement(\"a\");\n tag.href = imageUrl;\n tag.target = \"_blank\";\n tag.download = nameOfDownload.replace(/ /g, \"_\");\n document.body.appendChild(tag);\n tag.click();\n document.body.removeChild(tag);\n resolve();\n };\n xhr.onerror = function () {\n reject(new Error(\"Download failed\"));\n };\n xhr.send();\n });\n },\n};\n"],"mappings":";;AACA,IAAA,yBAAe,EACb,MAAM,WACJ,eACA,gBACA,OAAO,MACQ;CACf,MAAM,MAAM,IAAI,eAAe;CAC/B,IAAI,KAAK,OAAO,eAAe,IAAI;CACnC,IAAI,MAAM;EACR,MAAM,SAAS,MAAM,oBAAY,+BAA+B;EAChE,IAAI,QACF,IAAI,iBAAiB,iBAAiB,OAAO,aAAa;CAE9D;CACA,IAAI,eAAe;CAEnB,OAAO,IAAI,SAAe,SAAS,WAAW;EAC5C,IAAI,SAAS,WAAY;GACvB,IAAI,IAAI,WAAW,KAAK;IACtB,uBAAO,IAAI,MAAM,+BAA+B,IAAI,QAAQ,CAAC;IAC7D;GACF;GAEA,MAAM,YADa,OAAO,OAAO,OAAO,WACZ,gBAAgB,KAAK,QAAQ;GACzD,MAAM,MAAM,SAAS,cAAc,GAAG;GACtC,IAAI,OAAO;GACX,IAAI,SAAS;GACb,IAAI,WAAW,eAAe,QAAQ,MAAM,GAAG;GAC/C,SAAS,KAAK,YAAY,GAAG;GAC7B,IAAI,MAAM;GACV,SAAS,KAAK,YAAY,GAAG;GAC7B,QAAQ;EACV;EACA,IAAI,UAAU,WAAY;GACxB,uBAAO,IAAI,MAAM,iBAAiB,CAAC;EACrC;EACA,IAAI,KAAK;CACX,CAAC;AACH,EACF"}