@strapi/admin 5.4.2 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/dist/_internal.js.map +1 -1
  2. package/dist/_internal.mjs.map +1 -1
  3. package/dist/admin/{AdminSeatInfo-BVns5hqY.mjs → AdminSeatInfo-BaUlvJzw.mjs} +3 -3
  4. package/dist/admin/{AdminSeatInfo-BVns5hqY.mjs.map → AdminSeatInfo-BaUlvJzw.mjs.map} +1 -1
  5. package/dist/admin/AdminSeatInfo-YZSkpqTQ.js.map +1 -1
  6. package/dist/admin/{ApplicationInfoPage-fGmhKAEH.js → ApplicationInfoPage-ClnQrMNQ.js} +2 -2
  7. package/dist/admin/{ApplicationInfoPage-fGmhKAEH.js.map → ApplicationInfoPage-ClnQrMNQ.js.map} +1 -1
  8. package/dist/admin/{ApplicationInfoPage-rMRwA77j.mjs → ApplicationInfoPage-Ks5SLUGu.mjs} +5 -5
  9. package/dist/admin/{ApplicationInfoPage-rMRwA77j.mjs.map → ApplicationInfoPage-Ks5SLUGu.mjs.map} +1 -1
  10. package/dist/admin/{AuthResponse-CU7dtQY6.mjs → AuthResponse-8JdghoaK.mjs} +2 -2
  11. package/dist/admin/{AuthResponse-CU7dtQY6.mjs.map → AuthResponse-8JdghoaK.mjs.map} +1 -1
  12. package/dist/admin/AuthResponse-B8hxRyao.js.map +1 -1
  13. package/dist/admin/{AuthenticatedLayout-NZYgRFcl.mjs → AuthenticatedLayout-Cg52L7aR.mjs} +16 -16
  14. package/dist/admin/{AuthenticatedLayout-NZYgRFcl.mjs.map → AuthenticatedLayout-Cg52L7aR.mjs.map} +1 -1
  15. package/dist/admin/{AuthenticatedLayout-6zPHuS0W.js → AuthenticatedLayout-DsJdSL_P.js} +14 -14
  16. package/dist/admin/{AuthenticatedLayout-6zPHuS0W.js.map → AuthenticatedLayout-DsJdSL_P.js.map} +1 -1
  17. package/dist/admin/CreateActionEE-BnGBSrSz.js.map +1 -1
  18. package/dist/admin/CreateActionEE-Bz3zvzzy.mjs.map +1 -1
  19. package/dist/admin/{CreatePage-VY2xm9Wa.js → CreatePage-BiPSXJ-5.js} +2 -2
  20. package/dist/admin/{CreatePage-VY2xm9Wa.js.map → CreatePage-BiPSXJ-5.js.map} +1 -1
  21. package/dist/admin/{CreatePage-Cpb66rVt.js → CreatePage-C1_fxsS6.js} +2 -2
  22. package/dist/admin/{CreatePage-Cpb66rVt.js.map → CreatePage-C1_fxsS6.js.map} +1 -1
  23. package/dist/admin/{CreatePage-CsZSWXwB.mjs → CreatePage-CY7csJBb.mjs} +3 -3
  24. package/dist/admin/{CreatePage-CsZSWXwB.mjs.map → CreatePage-CY7csJBb.mjs.map} +1 -1
  25. package/dist/admin/{CreatePage-DPB9ir6r.mjs → CreatePage-hAU7MYMO.mjs} +4 -4
  26. package/dist/admin/{CreatePage-DPB9ir6r.mjs.map → CreatePage-hAU7MYMO.mjs.map} +1 -1
  27. package/dist/admin/{CreateView-B5J76SJD.mjs → CreateView-BaOGTZm4.mjs} +3 -3
  28. package/dist/admin/{CreateView-B5J76SJD.mjs.map → CreateView-BaOGTZm4.mjs.map} +1 -1
  29. package/dist/admin/{CreateView-CMI17CIi.mjs → CreateView-DCx5JOxR.mjs} +3 -3
  30. package/dist/admin/{CreateView-CMI17CIi.mjs.map → CreateView-DCx5JOxR.mjs.map} +1 -1
  31. package/dist/admin/{CreateView-DnHNPboX.js → CreateView-DndCRvYM.js} +2 -2
  32. package/dist/admin/{CreateView-DnHNPboX.js.map → CreateView-DndCRvYM.js.map} +1 -1
  33. package/dist/admin/{CreateView-BXug7isO.js → CreateView-EXtz_hGf.js} +2 -2
  34. package/dist/admin/{CreateView-BXug7isO.js.map → CreateView-EXtz_hGf.js.map} +1 -1
  35. package/dist/admin/{EditPage-Zat17CsY.js → EditPage-BFAXkHHw.js} +3 -3
  36. package/dist/admin/{EditPage-Zat17CsY.js.map → EditPage-BFAXkHHw.js.map} +1 -1
  37. package/dist/admin/{EditPage-Bgvwsmih.js → EditPage-ChQWSaBb.js} +3 -3
  38. package/dist/admin/{EditPage-Bgvwsmih.js.map → EditPage-ChQWSaBb.js.map} +1 -1
  39. package/dist/admin/{EditPage-BuWy13_w.js → EditPage-Colh61BU.js} +5 -5
  40. package/dist/admin/{EditPage-BuWy13_w.js.map → EditPage-Colh61BU.js.map} +1 -1
  41. package/dist/admin/{EditPage-BruskLzK.mjs → EditPage-CouwHHq5.mjs} +5 -5
  42. package/dist/admin/{EditPage-BruskLzK.mjs.map → EditPage-CouwHHq5.mjs.map} +1 -1
  43. package/dist/admin/{EditPage-DcSPQTtt.mjs → EditPage-CxBdyVKZ.mjs} +5 -5
  44. package/dist/admin/{EditPage-DcSPQTtt.mjs.map → EditPage-CxBdyVKZ.mjs.map} +1 -1
  45. package/dist/admin/{EditPage-DevrDzXh.mjs → EditPage-DhzUBzXn.mjs} +7 -7
  46. package/dist/admin/{EditPage-DevrDzXh.mjs.map → EditPage-DhzUBzXn.mjs.map} +1 -1
  47. package/dist/admin/{EditView-BUKYxFyW.mjs → EditView-DViZU0kt.mjs} +4 -4
  48. package/dist/admin/{EditView-BUKYxFyW.mjs.map → EditView-DViZU0kt.mjs.map} +1 -1
  49. package/dist/admin/{EditView-CWhNhhQk.js → EditView-_x-Ox_M_.js} +3 -3
  50. package/dist/admin/{EditView-CWhNhhQk.js.map → EditView-_x-Ox_M_.js.map} +1 -1
  51. package/dist/admin/{EditViewPage-DtZCPpEa.mjs → EditViewPage-BJRqDkwj.mjs} +4 -4
  52. package/dist/admin/{EditViewPage-DtZCPpEa.mjs.map → EditViewPage-BJRqDkwj.mjs.map} +1 -1
  53. package/dist/admin/{EditViewPage-CnJ4ZooO.js → EditViewPage-CNcABIQh.js} +3 -3
  54. package/dist/admin/{EditViewPage-CnJ4ZooO.js.map → EditViewPage-CNcABIQh.js.map} +1 -1
  55. package/dist/admin/{EventsTable-B5JJMPA2.js → EventsTable-BmLpsREo.js} +2 -2
  56. package/dist/admin/{EventsTable-B5JJMPA2.js.map → EventsTable-BmLpsREo.js.map} +1 -1
  57. package/dist/admin/{EventsTable-BlzuD4LC.mjs → EventsTable-CPOsecQe.mjs} +2 -2
  58. package/dist/admin/{EventsTable-BlzuD4LC.mjs.map → EventsTable-CPOsecQe.mjs.map} +1 -1
  59. package/dist/admin/{HomePage-B21w_wNq.mjs → HomePage-BLO4BMS9.mjs} +3 -3
  60. package/dist/admin/{HomePage-B21w_wNq.mjs.map → HomePage-BLO4BMS9.mjs.map} +1 -1
  61. package/dist/admin/{HomePage-qJC8TTq6.mjs → HomePage-D3Uf6UN4.mjs} +4 -4
  62. package/dist/admin/{HomePage-qJC8TTq6.mjs.map → HomePage-D3Uf6UN4.mjs.map} +1 -1
  63. package/dist/admin/{HomePage-AvpauwXM.js → HomePage-DUBrDS1c.js} +2 -2
  64. package/dist/admin/{HomePage-AvpauwXM.js.map → HomePage-DUBrDS1c.js.map} +1 -1
  65. package/dist/admin/{HomePage-Dpuv_jq4.js → HomePage-K7dp73m_.js} +3 -3
  66. package/dist/admin/{HomePage-Dpuv_jq4.js.map → HomePage-K7dp73m_.js.map} +1 -1
  67. package/dist/admin/{InstalledPlugins-DEceX9Cg.mjs → InstalledPlugins-ByaKVrZv.mjs} +3 -3
  68. package/dist/admin/{InstalledPlugins-DEceX9Cg.mjs.map → InstalledPlugins-ByaKVrZv.mjs.map} +1 -1
  69. package/dist/admin/{InstalledPlugins-9r6y2kyr.js → InstalledPlugins-G0h9zQEW.js} +2 -2
  70. package/dist/admin/{InstalledPlugins-9r6y2kyr.js.map → InstalledPlugins-G0h9zQEW.js.map} +1 -1
  71. package/dist/admin/{Layout-C_RH1apu.js → Layout-BLVFaprL.js} +3 -3
  72. package/dist/admin/{Layout-C_RH1apu.js.map → Layout-BLVFaprL.js.map} +1 -1
  73. package/dist/admin/{Layout-CIroFchB.mjs → Layout-CbrrMtL2.mjs} +5 -5
  74. package/dist/admin/{Layout-CIroFchB.mjs.map → Layout-CbrrMtL2.mjs.map} +1 -1
  75. package/dist/admin/{ListPage-ZOKLnTJp.mjs → ListPage-4M1uu6wf.mjs} +3 -3
  76. package/dist/admin/{ListPage-ZOKLnTJp.mjs.map → ListPage-4M1uu6wf.mjs.map} +1 -1
  77. package/dist/admin/{ListPage-DRmrKeZ4.js → ListPage-78TTyjRW.js} +3 -3
  78. package/dist/admin/{ListPage-DRmrKeZ4.js.map → ListPage-78TTyjRW.js.map} +1 -1
  79. package/dist/admin/{ListPage-BMfkg16H.mjs → ListPage-BIUdwz07.mjs} +3 -3
  80. package/dist/admin/{ListPage-BMfkg16H.mjs.map → ListPage-BIUdwz07.mjs.map} +1 -1
  81. package/dist/admin/{ListPage-CS7tHdAz.js → ListPage-BSTrnVTi.js} +2 -2
  82. package/dist/admin/{ListPage-CS7tHdAz.js.map → ListPage-BSTrnVTi.js.map} +1 -1
  83. package/dist/admin/{ListPage-Bqd_yAEb.mjs → ListPage-BZ40sST-.mjs} +3 -3
  84. package/dist/admin/{ListPage-Bqd_yAEb.mjs.map → ListPage-BZ40sST-.mjs.map} +1 -1
  85. package/dist/admin/{ListPage-DfyyMyn7.mjs → ListPage-ChU9V3B9.mjs} +5 -5
  86. package/dist/admin/{ListPage-DfyyMyn7.mjs.map → ListPage-ChU9V3B9.mjs.map} +1 -1
  87. package/dist/admin/{ListPage-BWHVcy4q.js → ListPage-CkTkRZ-v.js} +2 -2
  88. package/dist/admin/{ListPage-BWHVcy4q.js.map → ListPage-CkTkRZ-v.js.map} +1 -1
  89. package/dist/admin/{ListPage-BxrPVSl5.mjs → ListPage-Di3HlXje.mjs} +6 -6
  90. package/dist/admin/{ListPage-BxrPVSl5.mjs.map → ListPage-Di3HlXje.mjs.map} +1 -1
  91. package/dist/admin/{ListPage-DK-JhVGo.js → ListPage-ZNh7krfj.js} +5 -5
  92. package/dist/admin/{ListPage-DK-JhVGo.js.map → ListPage-ZNh7krfj.js.map} +1 -1
  93. package/dist/admin/{ListPage-ChMiuYyL.js → ListPage-izEi5h_a.js} +2 -2
  94. package/dist/admin/{ListPage-ChMiuYyL.js.map → ListPage-izEi5h_a.js.map} +1 -1
  95. package/dist/admin/{ListView-Bjy7mOBN.mjs → ListView-C8TDoKgA.mjs} +4 -4
  96. package/dist/admin/{ListView-Bjy7mOBN.mjs.map → ListView-C8TDoKgA.mjs.map} +1 -1
  97. package/dist/admin/{ListView-B9_D-i55.js → ListView-DGGmdLTN.js} +3 -3
  98. package/dist/admin/{ListView-B9_D-i55.js.map → ListView-DGGmdLTN.js.map} +1 -1
  99. package/dist/admin/{ListView-BeuDKXi2.js → ListView-_kkmfYba.js} +3 -3
  100. package/dist/admin/{ListView-BeuDKXi2.js.map → ListView-_kkmfYba.js.map} +1 -1
  101. package/dist/admin/{ListView-BwLr86nb.mjs → ListView-oxxjGoRq.mjs} +4 -4
  102. package/dist/admin/{ListView-BwLr86nb.mjs.map → ListView-oxxjGoRq.mjs.map} +1 -1
  103. package/dist/admin/{Login-xV0kqX0X.js → Login-BxcGmG9I.js} +2 -2
  104. package/dist/admin/{Login-xV0kqX0X.js.map → Login-BxcGmG9I.js.map} +1 -1
  105. package/dist/admin/{Login-DsIpK3bD.mjs → Login-D52-chj8.mjs} +3 -3
  106. package/dist/admin/{Login-DsIpK3bD.mjs.map → Login-D52-chj8.mjs.map} +1 -1
  107. package/dist/admin/{MagicLinkEE-CsJGWKhy.mjs → MagicLinkEE-BHAvK52d.mjs} +3 -3
  108. package/dist/admin/{MagicLinkEE-CsJGWKhy.mjs.map → MagicLinkEE-BHAvK52d.mjs.map} +1 -1
  109. package/dist/admin/{MagicLinkEE-CQXTo_i9.js → MagicLinkEE-rP1-20h_.js} +3 -3
  110. package/dist/admin/{MagicLinkEE-CQXTo_i9.js.map → MagicLinkEE-rP1-20h_.js.map} +1 -1
  111. package/dist/admin/{MarketplacePage-DeHyp7y1.js → MarketplacePage-B5xSZ82i.js} +2 -2
  112. package/dist/admin/{MarketplacePage-DeHyp7y1.js.map → MarketplacePage-B5xSZ82i.js.map} +1 -1
  113. package/dist/admin/{MarketplacePage-qbedpjBD.mjs → MarketplacePage-DnRo5FVA.mjs} +3 -3
  114. package/dist/admin/{MarketplacePage-qbedpjBD.mjs.map → MarketplacePage-DnRo5FVA.mjs.map} +1 -1
  115. package/dist/admin/ModalForm-B9SUkQ1l.mjs.map +1 -1
  116. package/dist/admin/ModalForm-DukjfMMw.js.map +1 -1
  117. package/dist/admin/Ornaments-BFThxr2U.mjs.map +1 -1
  118. package/dist/admin/Ornaments-CID1aaLv.js.map +1 -1
  119. package/dist/admin/{Permissions-lDPhNvFl.mjs → Permissions-CuCHl6U_.mjs} +2 -2
  120. package/dist/admin/{Permissions-lDPhNvFl.mjs.map → Permissions-CuCHl6U_.mjs.map} +1 -1
  121. package/dist/admin/Permissions-DII2emCe.js.map +1 -1
  122. package/dist/admin/PrivateRoute-D7Y029Yb.js.map +1 -1
  123. package/dist/admin/{PrivateRoute-KBnpPkup.mjs → PrivateRoute-DapCxuPg.mjs} +2 -2
  124. package/dist/admin/{PrivateRoute-KBnpPkup.mjs.map → PrivateRoute-DapCxuPg.mjs.map} +1 -1
  125. package/dist/admin/{ProfilePage--a3BOCVY.js → ProfilePage-Dkr09vJx.js} +3 -3
  126. package/dist/admin/{ProfilePage--a3BOCVY.js.map → ProfilePage-Dkr09vJx.js.map} +1 -1
  127. package/dist/admin/{ProfilePage-DRvD3GIN.mjs → ProfilePage-ufhuFD88.mjs} +4 -4
  128. package/dist/admin/{ProfilePage-DRvD3GIN.mjs.map → ProfilePage-ufhuFD88.mjs.map} +1 -1
  129. package/dist/admin/{PurchaseAuditLogs-BVvceWTE.mjs → PurchaseAuditLogs-BZvdCbs2.mjs} +3 -3
  130. package/dist/admin/{PurchaseAuditLogs-BVvceWTE.mjs.map → PurchaseAuditLogs-BZvdCbs2.mjs.map} +1 -1
  131. package/dist/admin/{PurchaseAuditLogs-C2RIeJGf.js → PurchaseAuditLogs-L2z8_K8T.js} +3 -3
  132. package/dist/admin/{PurchaseAuditLogs-C2RIeJGf.js.map → PurchaseAuditLogs-L2z8_K8T.js.map} +1 -1
  133. package/dist/admin/PurchaseContentHistory-BZigpAbD.mjs +52 -0
  134. package/dist/admin/PurchaseContentHistory-BZigpAbD.mjs.map +1 -0
  135. package/dist/admin/PurchaseContentHistory-DaQnUXhI.js +56 -0
  136. package/dist/admin/PurchaseContentHistory-DaQnUXhI.js.map +1 -0
  137. package/dist/admin/{PurchaseSingleSignOn-DU1UqoVl.js → PurchaseSingleSignOn-BJ0_Yr9o.js} +3 -3
  138. package/dist/admin/PurchaseSingleSignOn-BJ0_Yr9o.js.map +1 -0
  139. package/dist/admin/{PurchaseSingleSignOn-nEzAlPxk.mjs → PurchaseSingleSignOn-DOIzr_pq.mjs} +3 -3
  140. package/dist/admin/PurchaseSingleSignOn-DOIzr_pq.mjs.map +1 -0
  141. package/dist/admin/SSOProviders-BD7LHrkI.mjs.map +1 -1
  142. package/dist/admin/SSOProviders-nCeEldEQ.js.map +1 -1
  143. package/dist/admin/{SelectRoles-Bs9u04uj.mjs → SelectRoles-B9s9k4YX.mjs} +4 -4
  144. package/dist/admin/{SelectRoles-Bs9u04uj.mjs.map → SelectRoles-B9s9k4YX.mjs.map} +1 -1
  145. package/dist/admin/{SelectRoles-mnUhsABJ.js → SelectRoles-DNO41U4M.js} +3 -3
  146. package/dist/admin/{SelectRoles-mnUhsABJ.js.map → SelectRoles-DNO41U4M.js.map} +1 -1
  147. package/dist/admin/{SingleSignOnPage-3zjvpu53.mjs → SingleSignOnPage-C5wlFrDd.mjs} +4 -4
  148. package/dist/admin/{SingleSignOnPage-3zjvpu53.mjs.map → SingleSignOnPage-C5wlFrDd.mjs.map} +1 -1
  149. package/dist/admin/{SingleSignOnPage-cV4vLp_a.js → SingleSignOnPage-pGFzuYF4.js} +3 -3
  150. package/dist/admin/{SingleSignOnPage-cV4vLp_a.js.map → SingleSignOnPage-pGFzuYF4.js.map} +1 -1
  151. package/dist/admin/{Table-tIZ8sJm6.mjs → Table-IeOJZ1ui.mjs} +3 -3
  152. package/dist/admin/{Table-tIZ8sJm6.mjs.map → Table-IeOJZ1ui.mjs.map} +1 -1
  153. package/dist/admin/{Table-DZNHvug-.js → Table-d9xm6QPh.js} +2 -2
  154. package/dist/admin/{Table-DZNHvug-.js.map → Table-d9xm6QPh.js.map} +1 -1
  155. package/dist/admin/Theme-CV_l77KL.js.map +1 -1
  156. package/dist/admin/{Theme-CLIXCqhU.mjs → Theme-Cw2LYZGD.mjs} +2 -2
  157. package/dist/admin/{Theme-CLIXCqhU.mjs.map → Theme-Cw2LYZGD.mjs.map} +1 -1
  158. package/dist/admin/{TokenTypeSelect-CgZvnPsJ.js → TokenTypeSelect-Cw-VuQ1P.js} +2 -2
  159. package/dist/admin/{TokenTypeSelect-CgZvnPsJ.js.map → TokenTypeSelect-Cw-VuQ1P.js.map} +1 -1
  160. package/dist/admin/{TokenTypeSelect-JQ4xkd6g.mjs → TokenTypeSelect-DrRs9zSH.mjs} +3 -3
  161. package/dist/admin/{TokenTypeSelect-JQ4xkd6g.mjs.map → TokenTypeSelect-DrRs9zSH.mjs.map} +1 -1
  162. package/dist/admin/{UseCasePage-Crn_GyDw.mjs → UseCasePage-CtZkFcjB.mjs} +4 -4
  163. package/dist/admin/{UseCasePage-Crn_GyDw.mjs.map → UseCasePage-CtZkFcjB.mjs.map} +1 -1
  164. package/dist/admin/{UseCasePage-fdZFNaFz.js → UseCasePage-DeQWTKlZ.js} +2 -2
  165. package/dist/admin/{UseCasePage-fdZFNaFz.js.map → UseCasePage-DeQWTKlZ.js.map} +1 -1
  166. package/dist/admin/admin-CoWMk1La.js.map +1 -1
  167. package/dist/admin/admin-CuE4OEl1.mjs.map +1 -1
  168. package/dist/admin/apiTokens-BbGEd8hG.mjs.map +1 -1
  169. package/dist/admin/apiTokens-rxLmW4xI.js.map +1 -1
  170. package/dist/admin/{constants-DGb02Psr.mjs → constants-4R_fd3x_.mjs} +3 -3
  171. package/dist/admin/{constants-DGb02Psr.mjs.map → constants-4R_fd3x_.mjs.map} +1 -1
  172. package/dist/admin/{constants-DAPlN6Ts.js → constants-C8Wa9CxZ.js} +2 -2
  173. package/dist/admin/{constants-DAPlN6Ts.js.map → constants-C8Wa9CxZ.js.map} +1 -1
  174. package/dist/admin/constants-CRj0ViV1.mjs.map +1 -1
  175. package/dist/admin/constants-DF68OPrs.js.map +1 -1
  176. package/dist/admin/{en-BwH0BITJ.mjs → en-BS7ztn-4.mjs} +4 -1
  177. package/dist/admin/{en-BwH0BITJ.mjs.map → en-BS7ztn-4.mjs.map} +1 -1
  178. package/dist/admin/{en-B_M3cPYZ.js → en-CY1R-ci3.js} +4 -1
  179. package/dist/admin/{en-B_M3cPYZ.js.map → en-CY1R-ci3.js.map} +1 -1
  180. package/dist/admin/{en-GB-CemeJNao.js → en-GB-Bi4x4fHH.js} +2 -2
  181. package/dist/admin/en-GB-Bi4x4fHH.js.map +1 -0
  182. package/dist/admin/en-GB-CLX4m6_Z.mjs +6 -0
  183. package/dist/admin/en-GB-CLX4m6_Z.mjs.map +1 -0
  184. package/dist/admin/{index-D9wwwbid.js → index-RRj8QByf.js} +49 -32
  185. package/dist/admin/index-RRj8QByf.js.map +1 -0
  186. package/dist/admin/{index-BnX71_B4.mjs → index-UBwCyQ_3.mjs} +51 -34
  187. package/dist/admin/index-UBwCyQ_3.mjs.map +1 -0
  188. package/dist/admin/index.js +1 -1
  189. package/dist/admin/index.mjs +2 -2
  190. package/dist/admin/{selectors-D9-d7hGq.mjs → selectors-8LCQywHx.mjs} +2 -2
  191. package/dist/admin/{selectors-D9-d7hGq.mjs.map → selectors-8LCQywHx.mjs.map} +1 -1
  192. package/dist/admin/src/App.d.ts +2 -2
  193. package/dist/admin/src/StrapiApp.d.ts +2 -2
  194. package/dist/admin/src/components/ConfirmDialog.d.ts +1 -1
  195. package/dist/admin/src/components/DragLayer.d.ts +1 -1
  196. package/dist/admin/src/components/Filters.d.ts +1 -1
  197. package/dist/admin/src/components/Form.d.ts +2 -2
  198. package/dist/admin/src/components/FormInputs/Boolean.d.ts +1 -2
  199. package/dist/admin/src/components/FormInputs/Checkbox.d.ts +1 -2
  200. package/dist/admin/src/components/FormInputs/Date.d.ts +1 -2
  201. package/dist/admin/src/components/FormInputs/DateTime.d.ts +1 -2
  202. package/dist/admin/src/components/FormInputs/Email.d.ts +2 -3
  203. package/dist/admin/src/components/FormInputs/Enumeration.d.ts +1 -2
  204. package/dist/admin/src/components/FormInputs/Json.d.ts +1 -1
  205. package/dist/admin/src/components/FormInputs/Number.d.ts +1 -2
  206. package/dist/admin/src/components/FormInputs/Password.d.ts +2 -3
  207. package/dist/admin/src/components/FormInputs/Renderer.d.ts +2 -3
  208. package/dist/admin/src/components/FormInputs/String.d.ts +2 -3
  209. package/dist/admin/src/components/FormInputs/Textarea.d.ts +2 -3
  210. package/dist/admin/src/components/FormInputs/Time.d.ts +1 -2
  211. package/dist/admin/src/components/FormInputs/types.d.ts +2 -2
  212. package/dist/admin/src/components/Layouts/HeaderLayout.d.ts +1 -1
  213. package/dist/admin/src/components/Layouts/Layout.d.ts +5 -5
  214. package/dist/admin/src/components/MainNav/NavLink.d.ts +1 -1
  215. package/dist/admin/src/components/MainNav/NavUser.d.ts +1 -1
  216. package/dist/admin/src/components/PageHelpers.d.ts +2 -2
  217. package/dist/admin/src/components/Pagination.d.ts +1 -1
  218. package/dist/admin/src/components/Providers.d.ts +2 -2
  219. package/dist/admin/src/components/RelativeTime.d.ts +1 -1
  220. package/dist/admin/src/components/Table.d.ts +1 -1
  221. package/dist/admin/src/components/Theme.d.ts +1 -1
  222. package/dist/admin/src/constants/filters.d.ts +2 -2
  223. package/dist/admin/src/constants.d.ts +1 -1
  224. package/dist/admin/src/core/apis/CustomFields.d.ts +2 -2
  225. package/dist/admin/src/core/apis/rbac.d.ts +1 -1
  226. package/dist/admin/src/core/apis/router.d.ts +2 -2
  227. package/dist/admin/src/core/store/configure.d.ts +5 -5
  228. package/dist/admin/src/core/store/hooks.d.ts +8 -8
  229. package/dist/admin/src/core/utils/createHook.d.ts +1 -1
  230. package/dist/admin/src/features/AppInfo.d.ts +1 -1
  231. package/dist/admin/src/features/Auth.d.ts +2 -2
  232. package/dist/admin/src/features/BackButton.d.ts +2 -2
  233. package/dist/admin/src/features/Configuration.d.ts +2 -2
  234. package/dist/admin/src/features/StrapiApp.d.ts +2 -3
  235. package/dist/admin/src/features/Tracking.d.ts +1 -1
  236. package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +1 -1
  237. package/dist/admin/src/hooks/useAdminRoles.d.ts +3 -3
  238. package/dist/admin/src/hooks/useContentTypes.d.ts +1 -1
  239. package/dist/admin/src/hooks/useFetchClient.d.ts +1 -1
  240. package/dist/admin/src/hooks/usePersistentState.d.ts +1 -1
  241. package/dist/admin/src/hooks/useSettingsMenu.d.ts +1 -1
  242. package/dist/admin/src/hooks/useThrottledCallback.d.ts +1 -2
  243. package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +2 -2
  244. package/dist/admin/src/pages/Auth/components/ForgotPassword.d.ts +1 -1
  245. package/dist/admin/src/pages/Auth/components/Login.d.ts +1 -1
  246. package/dist/admin/src/pages/Auth/constants.d.ts +1 -1
  247. package/dist/admin/src/pages/Marketplace/components/NpmPackageCard.d.ts +2 -2
  248. package/dist/admin/src/pages/Marketplace/components/NpmPackagesFilters.d.ts +2 -2
  249. package/dist/admin/src/pages/Marketplace/components/NpmPackagesGrid.d.ts +1 -1
  250. package/dist/admin/src/pages/Marketplace/components/PageHeader.d.ts +1 -1
  251. package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +1 -1
  252. package/dist/admin/src/pages/Settings/components/Tokens/FormHead.d.ts +1 -1
  253. package/dist/admin/src/pages/Settings/components/Tokens/LifeSpanInput.d.ts +2 -2
  254. package/dist/admin/src/pages/Settings/components/Tokens/Table.d.ts +1 -1
  255. package/dist/admin/src/pages/Settings/constants.d.ts +1 -1
  256. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/apiTokenPermissions.d.ts +1 -1
  257. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.d.ts +2 -2
  258. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/constants.d.ts +12 -12
  259. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.d.ts +1 -1
  260. package/dist/admin/src/pages/Settings/pages/PurchaseContentHistory.d.ts +2 -0
  261. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +3 -4
  262. package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.d.ts +2 -2
  263. package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.d.ts +2 -2
  264. package/dist/admin/src/pages/Settings/pages/Roles/components/HiddenAction.d.ts +1 -1
  265. package/dist/admin/src/pages/Settings/pages/Roles/components/Permissions.d.ts +2 -2
  266. package/dist/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.d.ts +1 -1
  267. package/dist/admin/src/pages/Settings/pages/Roles/components/RoleForm.d.ts +2 -2
  268. package/dist/admin/src/pages/Settings/pages/Roles/components/RoleRow.d.ts +1 -1
  269. package/dist/admin/src/pages/Settings/pages/Roles/components/RowLabelWithCheckbox.d.ts +1 -1
  270. package/dist/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.d.ts +2 -3
  271. package/dist/admin/src/pages/Settings/pages/Roles/utils/forms.d.ts +3 -3
  272. package/dist/admin/src/pages/Settings/pages/Roles/utils/permissions.d.ts +2 -2
  273. package/dist/admin/src/pages/Settings/pages/Users/components/CreateActionCE.d.ts +1 -1
  274. package/dist/admin/src/pages/Settings/pages/Users/components/NewUserForm.d.ts +1 -1
  275. package/dist/admin/src/pages/Settings/pages/Users/utils/validation.d.ts +2 -2
  276. package/dist/admin/src/pages/Settings/pages/Webhooks/components/Events.d.ts +1 -1
  277. package/dist/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.d.ts +1 -1
  278. package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +6 -6
  279. package/dist/admin/src/reducer.d.ts +2 -2
  280. package/dist/admin/src/render.d.ts +1 -1
  281. package/dist/admin/src/selectors.d.ts +6 -6
  282. package/dist/admin/src/services/admin.d.ts +6 -6
  283. package/dist/admin/src/services/api.d.ts +1 -1
  284. package/dist/admin/src/services/apiTokens.d.ts +1 -1
  285. package/dist/admin/src/services/auth.d.ts +22 -22
  286. package/dist/admin/src/services/contentApi.d.ts +1 -1
  287. package/dist/admin/src/services/contentManager.d.ts +2 -6
  288. package/dist/admin/src/services/transferTokens.d.ts +1 -1
  289. package/dist/admin/src/services/users.d.ts +12 -12
  290. package/dist/admin/src/services/webhooks.d.ts +3 -3
  291. package/dist/admin/src/types/adminConfiguration.d.ts +1 -1
  292. package/dist/admin/src/types/forms.d.ts +3 -3
  293. package/dist/admin/src/types/permissions.d.ts +1 -1
  294. package/dist/admin/src/utils/baseQuery.d.ts +2 -2
  295. package/dist/admin/src/utils/getFetchClient.d.ts +1 -1
  296. package/dist/admin/src/utils/normalizeAPIError.d.ts +1 -1
  297. package/dist/admin/src/utils/users.d.ts +1 -1
  298. package/dist/admin/test.js +30602 -43
  299. package/dist/admin/test.js.map +1 -1
  300. package/dist/admin/test.mjs +30595 -43
  301. package/dist/admin/test.mjs.map +1 -1
  302. package/dist/admin/tests/server.d.ts +1 -1
  303. package/dist/admin/tests/utils.d.ts +5 -5
  304. package/dist/admin/transferTokens-CeXBOv8T.js.map +1 -1
  305. package/dist/admin/transferTokens-DRhm3E2K.mjs.map +1 -1
  306. package/dist/admin/{useAdminRoles-hnMykCZo.js → useAdminRoles-DwDmGIlP.js} +2 -2
  307. package/dist/admin/{useAdminRoles-hnMykCZo.js.map → useAdminRoles-DwDmGIlP.js.map} +1 -1
  308. package/dist/admin/{useAdminRoles-H1TFksyF.mjs → useAdminRoles-kFi4kBOs.mjs} +2 -2
  309. package/dist/admin/{useAdminRoles-H1TFksyF.mjs.map → useAdminRoles-kFi4kBOs.mjs.map} +1 -1
  310. package/dist/admin/useEnterprise-BGzVPL4w.mjs.map +1 -1
  311. package/dist/admin/useEnterprise-ijNnK53J.js.map +1 -1
  312. package/dist/admin/useLicenseLimitNotification-B6SNDncg.js.map +1 -1
  313. package/dist/admin/{useLicenseLimitNotification-BEKK4zym.mjs → useLicenseLimitNotification-C8shIk-h.mjs} +2 -2
  314. package/dist/admin/{useLicenseLimitNotification-BEKK4zym.mjs.map → useLicenseLimitNotification-C8shIk-h.mjs.map} +1 -1
  315. package/dist/admin/useLicenseLimits-BsqWmbk9.mjs.map +1 -1
  316. package/dist/admin/useLicenseLimits-JFp6koHQ.js.map +1 -1
  317. package/dist/admin/useOnce-C7EQufL3.js.map +1 -1
  318. package/dist/admin/useOnce-NHeEacbN.mjs.map +1 -1
  319. package/dist/admin/useWebhooks-CeQ6X5FT.js.map +1 -1
  320. package/dist/admin/useWebhooks-ChRqPd68.mjs.map +1 -1
  321. package/dist/admin/users-8N93LH7R.mjs.map +1 -1
  322. package/dist/admin/users-DaPfjlwf.js.map +1 -1
  323. package/dist/admin/{validation-BqckJ_66.mjs → validation-DODfSh2_.mjs} +2 -2
  324. package/dist/admin/{validation-BqckJ_66.mjs.map → validation-DODfSh2_.mjs.map} +1 -1
  325. package/dist/admin/{validation-Ct0GJF3v.js → validation-phe0S4q6.js} +2 -2
  326. package/dist/admin/{validation-Ct0GJF3v.js.map → validation-phe0S4q6.js.map} +1 -1
  327. package/dist/ee/admin/src/constants.d.ts +2 -2
  328. package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +1 -1
  329. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.d.ts +1 -1
  330. package/dist/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.d.ts +1 -1
  331. package/dist/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.d.ts +1 -1
  332. package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
  333. package/dist/package.json.d.ts +12 -12
  334. package/dist/server/index.js +6 -12
  335. package/dist/server/index.js.map +1 -1
  336. package/dist/server/index.mjs +5 -10
  337. package/dist/server/index.mjs.map +1 -1
  338. package/dist/shared/contracts/admin.d.ts +1 -1
  339. package/dist/shared/contracts/api-token.d.ts +1 -1
  340. package/dist/shared/contracts/authentication.d.ts +2 -2
  341. package/dist/shared/contracts/content-api.d.ts +2 -2
  342. package/dist/shared/contracts/content-types.d.ts +1 -1
  343. package/dist/shared/contracts/permissions.d.ts +1 -1
  344. package/dist/shared/contracts/roles.d.ts +2 -2
  345. package/dist/shared/contracts/shared.d.ts +1 -1
  346. package/dist/shared/contracts/user.d.ts +2 -2
  347. package/dist/shared/contracts/users.d.ts +2 -2
  348. package/dist/shared/contracts/webhooks.d.ts +1 -1
  349. package/package.json +13 -13
  350. package/dist/admin/PurchaseSingleSignOn-DU1UqoVl.js.map +0 -1
  351. package/dist/admin/PurchaseSingleSignOn-nEzAlPxk.mjs.map +0 -1
  352. package/dist/admin/en-GB-CemeJNao.js.map +0 -1
  353. package/dist/admin/en-GB-D81NWpkp.mjs +0 -6
  354. package/dist/admin/en-GB-D81NWpkp.mjs.map +0 -1
  355. package/dist/admin/index-BnX71_B4.mjs.map +0 -1
  356. package/dist/admin/index-D9wwwbid.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"admin-CoWMk1La.js","sources":["../../admin/src/utils/getFetchClient.ts","../../admin/src/utils/baseQuery.ts","../../admin/src/services/api.ts","../../admin/src/utils/urls.ts","../../admin/src/services/admin.ts"],"sourcesContent":["import pipe from 'lodash/fp/pipe';\nimport qs from 'qs';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n USER: 'userInfo',\n};\n\ntype FetchResponse<TData = any> = {\n data: TData;\n status?: number;\n};\n\ntype FetchOptions = {\n params?: any;\n signal?: AbortSignal;\n headers?: Record<string, string>;\n validateStatus?: ((status: number) => boolean) | null;\n};\n\ntype FetchConfig = {\n signal?: AbortSignal;\n};\n\ninterface ErrorResponse {\n data: {\n data?: any;\n error: ApiError & { status?: number };\n };\n}\n\nclass FetchError extends Error {\n public name: string;\n public message: string;\n public response?: ErrorResponse;\n public code?: number;\n public status?: number;\n\n constructor(message: string, response?: ErrorResponse) {\n super(message);\n this.name = 'FetchError';\n this.message = message;\n this.response = response;\n this.code = response?.data?.error?.status;\n this.status = response?.data?.error?.status;\n\n // Ensure correct stack trace in error object\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FetchError);\n }\n }\n}\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return error instanceof FetchError;\n};\n\nconst getToken = () =>\n JSON.parse(\n localStorage.getItem(STORAGE_KEYS.TOKEN) ?? sessionStorage.getItem(STORAGE_KEYS.TOKEN) ?? '\"\"'\n );\n\ntype FetchClient = {\n get: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n put: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n post: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n del: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n};\n\n/**\n * @public\n * @param {FetchConfig} [defaultOptions={}] - Fetch Configs.\n * @returns {FetchClient} A fetch client object with methods for making HTTP requests.\n * @description This is an abstraction around the native fetch exposed by a function. It provides a simple interface to handle API calls\n * to the Strapi backend.\n * @example\n * ```tsx\n * import { getFetchClient } from '@strapi/admin/admin';\n *\n * const myFunct = () => {\n * const { get } = getFetchClient();\n * const requestURL = \"/some-endpoint\";\n *\n * const { data } = await get(requestURL);\n *\n * return data;\n * };\n * ```\n */\nconst getFetchClient = (defaultOptions: FetchConfig = {}): FetchClient => {\n const backendURL = window.strapi.backendURL;\n const defaultHeader = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${getToken()}`,\n };\n\n const isFormDataRequest = (body: unknown) => body instanceof FormData;\n const addPrependingSlash = (url: string) => (url.charAt(0) !== '/' ? `/${url}` : url);\n\n // This regular expression matches a string that starts with either \"http://\" or \"https://\" or any other protocol name in lower case letters, followed by \"://\" and ends with anything else\n const hasProtocol = (url: string) => new RegExp('^(?:[a-z+]+:)?//', 'i').test(url);\n\n // Check if the url has a prepending slash, if not add a slash\n const normalizeUrl = (url: string) => (hasProtocol(url) ? url : addPrependingSlash(url));\n\n // Add a response interceptor to return the response\n const responseInterceptor = async <TData = any>(\n response: Response,\n validateStatus?: FetchOptions['validateStatus']\n ): Promise<FetchResponse<TData>> => {\n try {\n const result = await response.json();\n\n /**\n * validateStatus allows us to customize when a response should throw an error\n * In native Fetch API, a response is considered \"not ok\"\n * when the status code falls in the 200 to 299 (inclusive) range\n */\n if (!response.ok && result.error && !validateStatus?.(response.status)) {\n throw new FetchError(result.error.message, { data: result });\n }\n\n if (!response.ok && !validateStatus?.(response.status)) {\n throw new FetchError('Unknown Server Error');\n }\n\n return { data: result };\n } catch (error) {\n if (error instanceof SyntaxError && response.ok) {\n // Making sure that a SyntaxError doesn't throw if it's successful\n return { data: [], status: response.status } as FetchResponse<any>;\n } else {\n throw error;\n }\n }\n };\n\n const paramsSerializer =\n <Param = unknown>(params?: Param) =>\n (url: string) => {\n if (params) {\n if (typeof params === 'string') {\n return `${url}?${params}`;\n }\n\n /**\n * TODO V6: Encoding should be enabled in this step\n * So the rest of the app doesn't have to worry about it,\n * It's considered a breaking change because it impacts any API request, including the user's custom code\n */\n const serializedParams = qs.stringify(params, { encode: false });\n return `${url}?${serializedParams}`;\n }\n return url;\n };\n\n const addBaseUrl = (url: Parameters<typeof fetch>[0]) => {\n return `${backendURL}${url}`;\n };\n\n /**\n * We use the factory method because the options\n * are unique to the individual request\n */\n const makeCreateRequestUrl = (options?: FetchOptions) =>\n pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));\n\n const fetchClient: FetchClient = {\n get: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n /**\n * this applies all our transformations to the URL\n * - normalizing (making sure it has the correct slash)\n * - appending our BaseURL which comes from the window.strapi object\n * - serializing our params with QS\n */\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'GET',\n headers,\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n post: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'POST',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n put: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'PUT',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n del: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'DELETE',\n headers,\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n };\n\n return fetchClient;\n};\n\nexport { getFetchClient, isFetchError, FetchError };\nexport type { FetchOptions, FetchResponse, FetchConfig, FetchClient, ErrorResponse };\n","import { SerializedError } from '@reduxjs/toolkit';\nimport { BaseQueryFn } from '@reduxjs/toolkit/query';\n\nimport { getFetchClient, isFetchError, type FetchOptions } from '../utils/getFetchClient';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\ninterface QueryArguments {\n url: string;\n method?: 'GET' | 'POST' | 'DELETE' | 'PUT';\n data?: unknown;\n config?: FetchOptions;\n}\n\ninterface UnknownApiError {\n name: 'UnknownError';\n message: string;\n details?: unknown;\n status?: number;\n}\n\ntype BaseQueryError = ApiError | UnknownApiError;\n\nconst fetchBaseQuery =\n (): BaseQueryFn<string | QueryArguments, unknown, BaseQueryError> =>\n async (query, { signal }) => {\n try {\n const { get, post, del, put } = getFetchClient();\n\n if (typeof query === 'string') {\n const result = await get(query, { signal });\n return { data: result.data };\n } else {\n const { url, method = 'GET', data, config } = query;\n\n if (method === 'POST') {\n const result = await post(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'DELETE') {\n const result = await del(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'PUT') {\n const result = await put(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n /**\n * Default is GET.\n */\n const result = await get(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n } catch (err) {\n // Handle error of type FetchError\n\n if (isFetchError(err)) {\n if (\n typeof err.response?.data === 'object' &&\n err.response?.data !== null &&\n 'error' in err.response?.data\n ) {\n /**\n * This will most likely be ApiError\n */\n return { data: undefined, error: err.response?.data.error as any };\n } else {\n return {\n data: undefined,\n error: {\n name: 'UnknownError',\n message: err.message,\n details: err.response,\n status: err.status,\n } as UnknownApiError,\n };\n }\n }\n\n const error = err as Error;\n return {\n data: undefined,\n error: {\n name: error.name,\n message: error.message,\n stack: error.stack,\n } satisfies SerializedError,\n };\n }\n };\n\nconst isBaseQueryError = (error: BaseQueryError | SerializedError): error is BaseQueryError => {\n return error.name !== undefined;\n};\n\nexport { fetchBaseQuery, isBaseQueryError };\nexport type { BaseQueryError, UnknownApiError, QueryArguments };\n","import { createApi } from '@reduxjs/toolkit/query/react';\n\nimport { fetchBaseQuery } from '../utils/baseQuery';\n\n/**\n * @public\n * @description This is the redux toolkit api for the admin panel, users\n * should use a combination of `enhanceEndpoints` to add their TagTypes\n * to utilise in their `injectEndpoints` construction for automatic cache\n * re-validation. We specifically do not store any tagTypes by default leaving\n * the API surface as small as possible. None of the data-fetching looks for the\n * StrapiApp are stored here either.\n */\nconst adminApi = createApi({\n reducerPath: 'adminApi',\n baseQuery: fetchBaseQuery(),\n tagTypes: [],\n endpoints: () => ({}),\n});\n\nexport { adminApi };\n","const prefixFileUrlWithBackendUrl = (fileURL?: string): string | undefined => {\n return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\n\n/**\n * @description Creates an absolute URL, if there is no URL or it\n * is relative, we use the `window.location.origin` as a fallback.\n * IF it's an absolute URL, we return it as is.\n */\nconst createAbsoluteUrl = (url?: string): string => {\n if (!url) {\n return window.location.origin;\n }\n if (url.startsWith('/')) {\n /**\n * This will also manage protocol relative URLs which is fine because\n * as we can see from the test, we still get the expected result.\n */\n return new URL(url, window.location.origin).toString();\n } else {\n return url;\n }\n};\n\nexport { createAbsoluteUrl, prefixFileUrlWithBackendUrl };\n","import {\n type TelemetryProperties,\n type Init,\n type Information,\n type GetProjectSettings,\n type UpdateProjectSettings,\n type Plugins,\n type GetLicenseLimitInformation,\n} from '../../../shared/contracts/admin';\nimport { prefixFileUrlWithBackendUrl } from '../utils/urls';\n\nimport { adminApi } from './api';\n\ninterface ConfigurationLogo {\n custom?: {\n name?: string;\n url?: string;\n };\n default: string;\n}\n\nconst admin = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ProjectSettings', 'LicenseLimits'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n init: builder.query<Init.Response['data'], void>({\n query: () => ({\n url: '/admin/init',\n method: 'GET',\n }),\n transformResponse(res: Init.Response) {\n return res.data;\n },\n }),\n information: builder.query<Information.Response['data'], void>({\n query: () => ({\n url: '/admin/information',\n method: 'GET',\n }),\n transformResponse(res: Information.Response) {\n return res.data;\n },\n }),\n telemetryProperties: builder.query<TelemetryProperties.Response['data'], void>({\n query: () => ({\n url: '/admin/telemetry-properties',\n method: 'GET',\n config: {\n validateStatus: (status) => status < 500,\n },\n }),\n transformResponse(res: TelemetryProperties.Response) {\n return res.data;\n },\n }),\n projectSettings: builder.query<\n { authLogo?: ConfigurationLogo['custom']; menuLogo?: ConfigurationLogo['custom'] },\n void\n >({\n query: () => ({\n url: '/admin/project-settings',\n method: 'GET',\n }),\n providesTags: ['ProjectSettings'],\n transformResponse(data: GetProjectSettings.Response) {\n return {\n authLogo: data.authLogo\n ? {\n name: data.authLogo.name,\n url: prefixFileUrlWithBackendUrl(data.authLogo.url),\n }\n : undefined,\n menuLogo: data.menuLogo\n ? {\n name: data.menuLogo.name,\n url: prefixFileUrlWithBackendUrl(data.menuLogo.url),\n }\n : undefined,\n };\n },\n }),\n updateProjectSettings: builder.mutation<UpdateProjectSettings.Response, FormData>({\n query: (data) => ({\n url: '/admin/project-settings',\n method: 'POST',\n data,\n config: {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n }),\n invalidatesTags: ['ProjectSettings'],\n }),\n getPlugins: builder.query<Plugins.Response, void>({\n query: () => ({\n url: '/admin/plugins',\n method: 'GET',\n }),\n }),\n getLicenseLimits: builder.query<GetLicenseLimitInformation.Response, void>({\n query: () => ({\n url: '/admin/license-limit-information',\n method: 'GET',\n }),\n providesTags: ['LicenseLimits'],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n} = admin;\n\nexport {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n};\n\nexport type { ConfigurationLogo };\n"],"names":["qs","pipe","result","createApi"],"mappings":"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"}
1
+ {"version":3,"file":"admin-CoWMk1La.js","sources":["../../admin/src/utils/getFetchClient.ts","../../admin/src/utils/baseQuery.ts","../../admin/src/services/api.ts","../../admin/src/utils/urls.ts","../../admin/src/services/admin.ts"],"sourcesContent":["import pipe from 'lodash/fp/pipe';\nimport qs from 'qs';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n USER: 'userInfo',\n};\n\ntype FetchResponse<TData = any> = {\n data: TData;\n status?: number;\n};\n\ntype FetchOptions = {\n params?: any;\n signal?: AbortSignal;\n headers?: Record<string, string>;\n validateStatus?: ((status: number) => boolean) | null;\n};\n\ntype FetchConfig = {\n signal?: AbortSignal;\n};\n\ninterface ErrorResponse {\n data: {\n data?: any;\n error: ApiError & { status?: number };\n };\n}\n\nclass FetchError extends Error {\n public name: string;\n public message: string;\n public response?: ErrorResponse;\n public code?: number;\n public status?: number;\n\n constructor(message: string, response?: ErrorResponse) {\n super(message);\n this.name = 'FetchError';\n this.message = message;\n this.response = response;\n this.code = response?.data?.error?.status;\n this.status = response?.data?.error?.status;\n\n // Ensure correct stack trace in error object\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FetchError);\n }\n }\n}\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return error instanceof FetchError;\n};\n\nconst getToken = () =>\n JSON.parse(\n localStorage.getItem(STORAGE_KEYS.TOKEN) ?? sessionStorage.getItem(STORAGE_KEYS.TOKEN) ?? '\"\"'\n );\n\ntype FetchClient = {\n get: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n put: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n post: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n del: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n};\n\n/**\n * @public\n * @param {FetchConfig} [defaultOptions={}] - Fetch Configs.\n * @returns {FetchClient} A fetch client object with methods for making HTTP requests.\n * @description This is an abstraction around the native fetch exposed by a function. It provides a simple interface to handle API calls\n * to the Strapi backend.\n * @example\n * ```tsx\n * import { getFetchClient } from '@strapi/admin/admin';\n *\n * const myFunct = () => {\n * const { get } = getFetchClient();\n * const requestURL = \"/some-endpoint\";\n *\n * const { data } = await get(requestURL);\n *\n * return data;\n * };\n * ```\n */\nconst getFetchClient = (defaultOptions: FetchConfig = {}): FetchClient => {\n const backendURL = window.strapi.backendURL;\n const defaultHeader = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${getToken()}`,\n };\n\n const isFormDataRequest = (body: unknown) => body instanceof FormData;\n const addPrependingSlash = (url: string) => (url.charAt(0) !== '/' ? `/${url}` : url);\n\n // This regular expression matches a string that starts with either \"http://\" or \"https://\" or any other protocol name in lower case letters, followed by \"://\" and ends with anything else\n const hasProtocol = (url: string) => new RegExp('^(?:[a-z+]+:)?//', 'i').test(url);\n\n // Check if the url has a prepending slash, if not add a slash\n const normalizeUrl = (url: string) => (hasProtocol(url) ? url : addPrependingSlash(url));\n\n // Add a response interceptor to return the response\n const responseInterceptor = async <TData = any>(\n response: Response,\n validateStatus?: FetchOptions['validateStatus']\n ): Promise<FetchResponse<TData>> => {\n try {\n const result = await response.json();\n\n /**\n * validateStatus allows us to customize when a response should throw an error\n * In native Fetch API, a response is considered \"not ok\"\n * when the status code falls in the 200 to 299 (inclusive) range\n */\n if (!response.ok && result.error && !validateStatus?.(response.status)) {\n throw new FetchError(result.error.message, { data: result });\n }\n\n if (!response.ok && !validateStatus?.(response.status)) {\n throw new FetchError('Unknown Server Error');\n }\n\n return { data: result };\n } catch (error) {\n if (error instanceof SyntaxError && response.ok) {\n // Making sure that a SyntaxError doesn't throw if it's successful\n return { data: [], status: response.status } as FetchResponse<any>;\n } else {\n throw error;\n }\n }\n };\n\n const paramsSerializer =\n <Param = unknown>(params?: Param) =>\n (url: string) => {\n if (params) {\n if (typeof params === 'string') {\n return `${url}?${params}`;\n }\n\n /**\n * TODO V6: Encoding should be enabled in this step\n * So the rest of the app doesn't have to worry about it,\n * It's considered a breaking change because it impacts any API request, including the user's custom code\n */\n const serializedParams = qs.stringify(params, { encode: false });\n return `${url}?${serializedParams}`;\n }\n return url;\n };\n\n const addBaseUrl = (url: Parameters<typeof fetch>[0]) => {\n return `${backendURL}${url}`;\n };\n\n /**\n * We use the factory method because the options\n * are unique to the individual request\n */\n const makeCreateRequestUrl = (options?: FetchOptions) =>\n pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));\n\n const fetchClient: FetchClient = {\n get: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n /**\n * this applies all our transformations to the URL\n * - normalizing (making sure it has the correct slash)\n * - appending our BaseURL which comes from the window.strapi object\n * - serializing our params with QS\n */\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'GET',\n headers,\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n post: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'POST',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n put: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'PUT',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n del: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'DELETE',\n headers,\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n };\n\n return fetchClient;\n};\n\nexport { getFetchClient, isFetchError, FetchError };\nexport type { FetchOptions, FetchResponse, FetchConfig, FetchClient, ErrorResponse };\n","import { SerializedError } from '@reduxjs/toolkit';\nimport { BaseQueryFn } from '@reduxjs/toolkit/query';\n\nimport { getFetchClient, isFetchError, type FetchOptions } from '../utils/getFetchClient';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\ninterface QueryArguments {\n url: string;\n method?: 'GET' | 'POST' | 'DELETE' | 'PUT';\n data?: unknown;\n config?: FetchOptions;\n}\n\ninterface UnknownApiError {\n name: 'UnknownError';\n message: string;\n details?: unknown;\n status?: number;\n}\n\ntype BaseQueryError = ApiError | UnknownApiError;\n\nconst fetchBaseQuery =\n (): BaseQueryFn<string | QueryArguments, unknown, BaseQueryError> =>\n async (query, { signal }) => {\n try {\n const { get, post, del, put } = getFetchClient();\n\n if (typeof query === 'string') {\n const result = await get(query, { signal });\n return { data: result.data };\n } else {\n const { url, method = 'GET', data, config } = query;\n\n if (method === 'POST') {\n const result = await post(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'DELETE') {\n const result = await del(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'PUT') {\n const result = await put(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n /**\n * Default is GET.\n */\n const result = await get(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n } catch (err) {\n // Handle error of type FetchError\n\n if (isFetchError(err)) {\n if (\n typeof err.response?.data === 'object' &&\n err.response?.data !== null &&\n 'error' in err.response?.data\n ) {\n /**\n * This will most likely be ApiError\n */\n return { data: undefined, error: err.response?.data.error as any };\n } else {\n return {\n data: undefined,\n error: {\n name: 'UnknownError',\n message: err.message,\n details: err.response,\n status: err.status,\n } as UnknownApiError,\n };\n }\n }\n\n const error = err as Error;\n return {\n data: undefined,\n error: {\n name: error.name,\n message: error.message,\n stack: error.stack,\n } satisfies SerializedError,\n };\n }\n };\n\nconst isBaseQueryError = (error: BaseQueryError | SerializedError): error is BaseQueryError => {\n return error.name !== undefined;\n};\n\nexport { fetchBaseQuery, isBaseQueryError };\nexport type { BaseQueryError, UnknownApiError, QueryArguments };\n","import { createApi } from '@reduxjs/toolkit/query/react';\n\nimport { fetchBaseQuery } from '../utils/baseQuery';\n\n/**\n * @public\n * @description This is the redux toolkit api for the admin panel, users\n * should use a combination of `enhanceEndpoints` to add their TagTypes\n * to utilise in their `injectEndpoints` construction for automatic cache\n * re-validation. We specifically do not store any tagTypes by default leaving\n * the API surface as small as possible. None of the data-fetching looks for the\n * StrapiApp are stored here either.\n */\nconst adminApi = createApi({\n reducerPath: 'adminApi',\n baseQuery: fetchBaseQuery(),\n tagTypes: [],\n endpoints: () => ({}),\n});\n\nexport { adminApi };\n","const prefixFileUrlWithBackendUrl = (fileURL?: string): string | undefined => {\n return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\n\n/**\n * @description Creates an absolute URL, if there is no URL or it\n * is relative, we use the `window.location.origin` as a fallback.\n * IF it's an absolute URL, we return it as is.\n */\nconst createAbsoluteUrl = (url?: string): string => {\n if (!url) {\n return window.location.origin;\n }\n if (url.startsWith('/')) {\n /**\n * This will also manage protocol relative URLs which is fine because\n * as we can see from the test, we still get the expected result.\n */\n return new URL(url, window.location.origin).toString();\n } else {\n return url;\n }\n};\n\nexport { createAbsoluteUrl, prefixFileUrlWithBackendUrl };\n","import {\n type TelemetryProperties,\n type Init,\n type Information,\n type GetProjectSettings,\n type UpdateProjectSettings,\n type Plugins,\n type GetLicenseLimitInformation,\n} from '../../../shared/contracts/admin';\nimport { prefixFileUrlWithBackendUrl } from '../utils/urls';\n\nimport { adminApi } from './api';\n\ninterface ConfigurationLogo {\n custom?: {\n name?: string;\n url?: string;\n };\n default: string;\n}\n\nconst admin = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ProjectSettings', 'LicenseLimits'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n init: builder.query<Init.Response['data'], void>({\n query: () => ({\n url: '/admin/init',\n method: 'GET',\n }),\n transformResponse(res: Init.Response) {\n return res.data;\n },\n }),\n information: builder.query<Information.Response['data'], void>({\n query: () => ({\n url: '/admin/information',\n method: 'GET',\n }),\n transformResponse(res: Information.Response) {\n return res.data;\n },\n }),\n telemetryProperties: builder.query<TelemetryProperties.Response['data'], void>({\n query: () => ({\n url: '/admin/telemetry-properties',\n method: 'GET',\n config: {\n validateStatus: (status) => status < 500,\n },\n }),\n transformResponse(res: TelemetryProperties.Response) {\n return res.data;\n },\n }),\n projectSettings: builder.query<\n { authLogo?: ConfigurationLogo['custom']; menuLogo?: ConfigurationLogo['custom'] },\n void\n >({\n query: () => ({\n url: '/admin/project-settings',\n method: 'GET',\n }),\n providesTags: ['ProjectSettings'],\n transformResponse(data: GetProjectSettings.Response) {\n return {\n authLogo: data.authLogo\n ? {\n name: data.authLogo.name,\n url: prefixFileUrlWithBackendUrl(data.authLogo.url),\n }\n : undefined,\n menuLogo: data.menuLogo\n ? {\n name: data.menuLogo.name,\n url: prefixFileUrlWithBackendUrl(data.menuLogo.url),\n }\n : undefined,\n };\n },\n }),\n updateProjectSettings: builder.mutation<UpdateProjectSettings.Response, FormData>({\n query: (data) => ({\n url: '/admin/project-settings',\n method: 'POST',\n data,\n config: {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n }),\n invalidatesTags: ['ProjectSettings'],\n }),\n getPlugins: builder.query<Plugins.Response, void>({\n query: () => ({\n url: '/admin/plugins',\n method: 'GET',\n }),\n }),\n getLicenseLimits: builder.query<GetLicenseLimitInformation.Response, void>({\n query: () => ({\n url: '/admin/license-limit-information',\n method: 'GET',\n }),\n providesTags: ['LicenseLimits'],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n} = admin;\n\nexport {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n};\n\nexport type { ConfigurationLogo };\n"],"names":["qs","pipe","result","createApi"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-CuE4OEl1.mjs","sources":["../../admin/src/utils/getFetchClient.ts","../../admin/src/utils/baseQuery.ts","../../admin/src/services/api.ts","../../admin/src/utils/urls.ts","../../admin/src/services/admin.ts"],"sourcesContent":["import pipe from 'lodash/fp/pipe';\nimport qs from 'qs';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n USER: 'userInfo',\n};\n\ntype FetchResponse<TData = any> = {\n data: TData;\n status?: number;\n};\n\ntype FetchOptions = {\n params?: any;\n signal?: AbortSignal;\n headers?: Record<string, string>;\n validateStatus?: ((status: number) => boolean) | null;\n};\n\ntype FetchConfig = {\n signal?: AbortSignal;\n};\n\ninterface ErrorResponse {\n data: {\n data?: any;\n error: ApiError & { status?: number };\n };\n}\n\nclass FetchError extends Error {\n public name: string;\n public message: string;\n public response?: ErrorResponse;\n public code?: number;\n public status?: number;\n\n constructor(message: string, response?: ErrorResponse) {\n super(message);\n this.name = 'FetchError';\n this.message = message;\n this.response = response;\n this.code = response?.data?.error?.status;\n this.status = response?.data?.error?.status;\n\n // Ensure correct stack trace in error object\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FetchError);\n }\n }\n}\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return error instanceof FetchError;\n};\n\nconst getToken = () =>\n JSON.parse(\n localStorage.getItem(STORAGE_KEYS.TOKEN) ?? sessionStorage.getItem(STORAGE_KEYS.TOKEN) ?? '\"\"'\n );\n\ntype FetchClient = {\n get: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n put: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n post: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n del: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n};\n\n/**\n * @public\n * @param {FetchConfig} [defaultOptions={}] - Fetch Configs.\n * @returns {FetchClient} A fetch client object with methods for making HTTP requests.\n * @description This is an abstraction around the native fetch exposed by a function. It provides a simple interface to handle API calls\n * to the Strapi backend.\n * @example\n * ```tsx\n * import { getFetchClient } from '@strapi/admin/admin';\n *\n * const myFunct = () => {\n * const { get } = getFetchClient();\n * const requestURL = \"/some-endpoint\";\n *\n * const { data } = await get(requestURL);\n *\n * return data;\n * };\n * ```\n */\nconst getFetchClient = (defaultOptions: FetchConfig = {}): FetchClient => {\n const backendURL = window.strapi.backendURL;\n const defaultHeader = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${getToken()}`,\n };\n\n const isFormDataRequest = (body: unknown) => body instanceof FormData;\n const addPrependingSlash = (url: string) => (url.charAt(0) !== '/' ? `/${url}` : url);\n\n // This regular expression matches a string that starts with either \"http://\" or \"https://\" or any other protocol name in lower case letters, followed by \"://\" and ends with anything else\n const hasProtocol = (url: string) => new RegExp('^(?:[a-z+]+:)?//', 'i').test(url);\n\n // Check if the url has a prepending slash, if not add a slash\n const normalizeUrl = (url: string) => (hasProtocol(url) ? url : addPrependingSlash(url));\n\n // Add a response interceptor to return the response\n const responseInterceptor = async <TData = any>(\n response: Response,\n validateStatus?: FetchOptions['validateStatus']\n ): Promise<FetchResponse<TData>> => {\n try {\n const result = await response.json();\n\n /**\n * validateStatus allows us to customize when a response should throw an error\n * In native Fetch API, a response is considered \"not ok\"\n * when the status code falls in the 200 to 299 (inclusive) range\n */\n if (!response.ok && result.error && !validateStatus?.(response.status)) {\n throw new FetchError(result.error.message, { data: result });\n }\n\n if (!response.ok && !validateStatus?.(response.status)) {\n throw new FetchError('Unknown Server Error');\n }\n\n return { data: result };\n } catch (error) {\n if (error instanceof SyntaxError && response.ok) {\n // Making sure that a SyntaxError doesn't throw if it's successful\n return { data: [], status: response.status } as FetchResponse<any>;\n } else {\n throw error;\n }\n }\n };\n\n const paramsSerializer =\n <Param = unknown>(params?: Param) =>\n (url: string) => {\n if (params) {\n if (typeof params === 'string') {\n return `${url}?${params}`;\n }\n\n /**\n * TODO V6: Encoding should be enabled in this step\n * So the rest of the app doesn't have to worry about it,\n * It's considered a breaking change because it impacts any API request, including the user's custom code\n */\n const serializedParams = qs.stringify(params, { encode: false });\n return `${url}?${serializedParams}`;\n }\n return url;\n };\n\n const addBaseUrl = (url: Parameters<typeof fetch>[0]) => {\n return `${backendURL}${url}`;\n };\n\n /**\n * We use the factory method because the options\n * are unique to the individual request\n */\n const makeCreateRequestUrl = (options?: FetchOptions) =>\n pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));\n\n const fetchClient: FetchClient = {\n get: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n /**\n * this applies all our transformations to the URL\n * - normalizing (making sure it has the correct slash)\n * - appending our BaseURL which comes from the window.strapi object\n * - serializing our params with QS\n */\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'GET',\n headers,\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n post: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'POST',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n put: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'PUT',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n del: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'DELETE',\n headers,\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n };\n\n return fetchClient;\n};\n\nexport { getFetchClient, isFetchError, FetchError };\nexport type { FetchOptions, FetchResponse, FetchConfig, FetchClient, ErrorResponse };\n","import { SerializedError } from '@reduxjs/toolkit';\nimport { BaseQueryFn } from '@reduxjs/toolkit/query';\n\nimport { getFetchClient, isFetchError, type FetchOptions } from '../utils/getFetchClient';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\ninterface QueryArguments {\n url: string;\n method?: 'GET' | 'POST' | 'DELETE' | 'PUT';\n data?: unknown;\n config?: FetchOptions;\n}\n\ninterface UnknownApiError {\n name: 'UnknownError';\n message: string;\n details?: unknown;\n status?: number;\n}\n\ntype BaseQueryError = ApiError | UnknownApiError;\n\nconst fetchBaseQuery =\n (): BaseQueryFn<string | QueryArguments, unknown, BaseQueryError> =>\n async (query, { signal }) => {\n try {\n const { get, post, del, put } = getFetchClient();\n\n if (typeof query === 'string') {\n const result = await get(query, { signal });\n return { data: result.data };\n } else {\n const { url, method = 'GET', data, config } = query;\n\n if (method === 'POST') {\n const result = await post(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'DELETE') {\n const result = await del(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'PUT') {\n const result = await put(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n /**\n * Default is GET.\n */\n const result = await get(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n } catch (err) {\n // Handle error of type FetchError\n\n if (isFetchError(err)) {\n if (\n typeof err.response?.data === 'object' &&\n err.response?.data !== null &&\n 'error' in err.response?.data\n ) {\n /**\n * This will most likely be ApiError\n */\n return { data: undefined, error: err.response?.data.error as any };\n } else {\n return {\n data: undefined,\n error: {\n name: 'UnknownError',\n message: err.message,\n details: err.response,\n status: err.status,\n } as UnknownApiError,\n };\n }\n }\n\n const error = err as Error;\n return {\n data: undefined,\n error: {\n name: error.name,\n message: error.message,\n stack: error.stack,\n } satisfies SerializedError,\n };\n }\n };\n\nconst isBaseQueryError = (error: BaseQueryError | SerializedError): error is BaseQueryError => {\n return error.name !== undefined;\n};\n\nexport { fetchBaseQuery, isBaseQueryError };\nexport type { BaseQueryError, UnknownApiError, QueryArguments };\n","import { createApi } from '@reduxjs/toolkit/query/react';\n\nimport { fetchBaseQuery } from '../utils/baseQuery';\n\n/**\n * @public\n * @description This is the redux toolkit api for the admin panel, users\n * should use a combination of `enhanceEndpoints` to add their TagTypes\n * to utilise in their `injectEndpoints` construction for automatic cache\n * re-validation. We specifically do not store any tagTypes by default leaving\n * the API surface as small as possible. None of the data-fetching looks for the\n * StrapiApp are stored here either.\n */\nconst adminApi = createApi({\n reducerPath: 'adminApi',\n baseQuery: fetchBaseQuery(),\n tagTypes: [],\n endpoints: () => ({}),\n});\n\nexport { adminApi };\n","const prefixFileUrlWithBackendUrl = (fileURL?: string): string | undefined => {\n return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\n\n/**\n * @description Creates an absolute URL, if there is no URL or it\n * is relative, we use the `window.location.origin` as a fallback.\n * IF it's an absolute URL, we return it as is.\n */\nconst createAbsoluteUrl = (url?: string): string => {\n if (!url) {\n return window.location.origin;\n }\n if (url.startsWith('/')) {\n /**\n * This will also manage protocol relative URLs which is fine because\n * as we can see from the test, we still get the expected result.\n */\n return new URL(url, window.location.origin).toString();\n } else {\n return url;\n }\n};\n\nexport { createAbsoluteUrl, prefixFileUrlWithBackendUrl };\n","import {\n type TelemetryProperties,\n type Init,\n type Information,\n type GetProjectSettings,\n type UpdateProjectSettings,\n type Plugins,\n type GetLicenseLimitInformation,\n} from '../../../shared/contracts/admin';\nimport { prefixFileUrlWithBackendUrl } from '../utils/urls';\n\nimport { adminApi } from './api';\n\ninterface ConfigurationLogo {\n custom?: {\n name?: string;\n url?: string;\n };\n default: string;\n}\n\nconst admin = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ProjectSettings', 'LicenseLimits'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n init: builder.query<Init.Response['data'], void>({\n query: () => ({\n url: '/admin/init',\n method: 'GET',\n }),\n transformResponse(res: Init.Response) {\n return res.data;\n },\n }),\n information: builder.query<Information.Response['data'], void>({\n query: () => ({\n url: '/admin/information',\n method: 'GET',\n }),\n transformResponse(res: Information.Response) {\n return res.data;\n },\n }),\n telemetryProperties: builder.query<TelemetryProperties.Response['data'], void>({\n query: () => ({\n url: '/admin/telemetry-properties',\n method: 'GET',\n config: {\n validateStatus: (status) => status < 500,\n },\n }),\n transformResponse(res: TelemetryProperties.Response) {\n return res.data;\n },\n }),\n projectSettings: builder.query<\n { authLogo?: ConfigurationLogo['custom']; menuLogo?: ConfigurationLogo['custom'] },\n void\n >({\n query: () => ({\n url: '/admin/project-settings',\n method: 'GET',\n }),\n providesTags: ['ProjectSettings'],\n transformResponse(data: GetProjectSettings.Response) {\n return {\n authLogo: data.authLogo\n ? {\n name: data.authLogo.name,\n url: prefixFileUrlWithBackendUrl(data.authLogo.url),\n }\n : undefined,\n menuLogo: data.menuLogo\n ? {\n name: data.menuLogo.name,\n url: prefixFileUrlWithBackendUrl(data.menuLogo.url),\n }\n : undefined,\n };\n },\n }),\n updateProjectSettings: builder.mutation<UpdateProjectSettings.Response, FormData>({\n query: (data) => ({\n url: '/admin/project-settings',\n method: 'POST',\n data,\n config: {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n }),\n invalidatesTags: ['ProjectSettings'],\n }),\n getPlugins: builder.query<Plugins.Response, void>({\n query: () => ({\n url: '/admin/plugins',\n method: 'GET',\n }),\n }),\n getLicenseLimits: builder.query<GetLicenseLimitInformation.Response, void>({\n query: () => ({\n url: '/admin/license-limit-information',\n method: 'GET',\n }),\n providesTags: ['LicenseLimits'],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n} = admin;\n\nexport {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n};\n\nexport type { ConfigurationLogo };\n"],"names":["qs","result"],"mappings":"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"}
1
+ {"version":3,"file":"admin-CuE4OEl1.mjs","sources":["../../admin/src/utils/getFetchClient.ts","../../admin/src/utils/baseQuery.ts","../../admin/src/services/api.ts","../../admin/src/utils/urls.ts","../../admin/src/services/admin.ts"],"sourcesContent":["import pipe from 'lodash/fp/pipe';\nimport qs from 'qs';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n USER: 'userInfo',\n};\n\ntype FetchResponse<TData = any> = {\n data: TData;\n status?: number;\n};\n\ntype FetchOptions = {\n params?: any;\n signal?: AbortSignal;\n headers?: Record<string, string>;\n validateStatus?: ((status: number) => boolean) | null;\n};\n\ntype FetchConfig = {\n signal?: AbortSignal;\n};\n\ninterface ErrorResponse {\n data: {\n data?: any;\n error: ApiError & { status?: number };\n };\n}\n\nclass FetchError extends Error {\n public name: string;\n public message: string;\n public response?: ErrorResponse;\n public code?: number;\n public status?: number;\n\n constructor(message: string, response?: ErrorResponse) {\n super(message);\n this.name = 'FetchError';\n this.message = message;\n this.response = response;\n this.code = response?.data?.error?.status;\n this.status = response?.data?.error?.status;\n\n // Ensure correct stack trace in error object\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FetchError);\n }\n }\n}\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return error instanceof FetchError;\n};\n\nconst getToken = () =>\n JSON.parse(\n localStorage.getItem(STORAGE_KEYS.TOKEN) ?? sessionStorage.getItem(STORAGE_KEYS.TOKEN) ?? '\"\"'\n );\n\ntype FetchClient = {\n get: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n put: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n post: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n del: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n};\n\n/**\n * @public\n * @param {FetchConfig} [defaultOptions={}] - Fetch Configs.\n * @returns {FetchClient} A fetch client object with methods for making HTTP requests.\n * @description This is an abstraction around the native fetch exposed by a function. It provides a simple interface to handle API calls\n * to the Strapi backend.\n * @example\n * ```tsx\n * import { getFetchClient } from '@strapi/admin/admin';\n *\n * const myFunct = () => {\n * const { get } = getFetchClient();\n * const requestURL = \"/some-endpoint\";\n *\n * const { data } = await get(requestURL);\n *\n * return data;\n * };\n * ```\n */\nconst getFetchClient = (defaultOptions: FetchConfig = {}): FetchClient => {\n const backendURL = window.strapi.backendURL;\n const defaultHeader = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${getToken()}`,\n };\n\n const isFormDataRequest = (body: unknown) => body instanceof FormData;\n const addPrependingSlash = (url: string) => (url.charAt(0) !== '/' ? `/${url}` : url);\n\n // This regular expression matches a string that starts with either \"http://\" or \"https://\" or any other protocol name in lower case letters, followed by \"://\" and ends with anything else\n const hasProtocol = (url: string) => new RegExp('^(?:[a-z+]+:)?//', 'i').test(url);\n\n // Check if the url has a prepending slash, if not add a slash\n const normalizeUrl = (url: string) => (hasProtocol(url) ? url : addPrependingSlash(url));\n\n // Add a response interceptor to return the response\n const responseInterceptor = async <TData = any>(\n response: Response,\n validateStatus?: FetchOptions['validateStatus']\n ): Promise<FetchResponse<TData>> => {\n try {\n const result = await response.json();\n\n /**\n * validateStatus allows us to customize when a response should throw an error\n * In native Fetch API, a response is considered \"not ok\"\n * when the status code falls in the 200 to 299 (inclusive) range\n */\n if (!response.ok && result.error && !validateStatus?.(response.status)) {\n throw new FetchError(result.error.message, { data: result });\n }\n\n if (!response.ok && !validateStatus?.(response.status)) {\n throw new FetchError('Unknown Server Error');\n }\n\n return { data: result };\n } catch (error) {\n if (error instanceof SyntaxError && response.ok) {\n // Making sure that a SyntaxError doesn't throw if it's successful\n return { data: [], status: response.status } as FetchResponse<any>;\n } else {\n throw error;\n }\n }\n };\n\n const paramsSerializer =\n <Param = unknown>(params?: Param) =>\n (url: string) => {\n if (params) {\n if (typeof params === 'string') {\n return `${url}?${params}`;\n }\n\n /**\n * TODO V6: Encoding should be enabled in this step\n * So the rest of the app doesn't have to worry about it,\n * It's considered a breaking change because it impacts any API request, including the user's custom code\n */\n const serializedParams = qs.stringify(params, { encode: false });\n return `${url}?${serializedParams}`;\n }\n return url;\n };\n\n const addBaseUrl = (url: Parameters<typeof fetch>[0]) => {\n return `${backendURL}${url}`;\n };\n\n /**\n * We use the factory method because the options\n * are unique to the individual request\n */\n const makeCreateRequestUrl = (options?: FetchOptions) =>\n pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));\n\n const fetchClient: FetchClient = {\n get: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n /**\n * this applies all our transformations to the URL\n * - normalizing (making sure it has the correct slash)\n * - appending our BaseURL which comes from the window.strapi object\n * - serializing our params with QS\n */\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'GET',\n headers,\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n post: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'POST',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n put: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'PUT',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n del: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'DELETE',\n headers,\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n };\n\n return fetchClient;\n};\n\nexport { getFetchClient, isFetchError, FetchError };\nexport type { FetchOptions, FetchResponse, FetchConfig, FetchClient, ErrorResponse };\n","import { SerializedError } from '@reduxjs/toolkit';\nimport { BaseQueryFn } from '@reduxjs/toolkit/query';\n\nimport { getFetchClient, isFetchError, type FetchOptions } from '../utils/getFetchClient';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\ninterface QueryArguments {\n url: string;\n method?: 'GET' | 'POST' | 'DELETE' | 'PUT';\n data?: unknown;\n config?: FetchOptions;\n}\n\ninterface UnknownApiError {\n name: 'UnknownError';\n message: string;\n details?: unknown;\n status?: number;\n}\n\ntype BaseQueryError = ApiError | UnknownApiError;\n\nconst fetchBaseQuery =\n (): BaseQueryFn<string | QueryArguments, unknown, BaseQueryError> =>\n async (query, { signal }) => {\n try {\n const { get, post, del, put } = getFetchClient();\n\n if (typeof query === 'string') {\n const result = await get(query, { signal });\n return { data: result.data };\n } else {\n const { url, method = 'GET', data, config } = query;\n\n if (method === 'POST') {\n const result = await post(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'DELETE') {\n const result = await del(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'PUT') {\n const result = await put(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n /**\n * Default is GET.\n */\n const result = await get(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n } catch (err) {\n // Handle error of type FetchError\n\n if (isFetchError(err)) {\n if (\n typeof err.response?.data === 'object' &&\n err.response?.data !== null &&\n 'error' in err.response?.data\n ) {\n /**\n * This will most likely be ApiError\n */\n return { data: undefined, error: err.response?.data.error as any };\n } else {\n return {\n data: undefined,\n error: {\n name: 'UnknownError',\n message: err.message,\n details: err.response,\n status: err.status,\n } as UnknownApiError,\n };\n }\n }\n\n const error = err as Error;\n return {\n data: undefined,\n error: {\n name: error.name,\n message: error.message,\n stack: error.stack,\n } satisfies SerializedError,\n };\n }\n };\n\nconst isBaseQueryError = (error: BaseQueryError | SerializedError): error is BaseQueryError => {\n return error.name !== undefined;\n};\n\nexport { fetchBaseQuery, isBaseQueryError };\nexport type { BaseQueryError, UnknownApiError, QueryArguments };\n","import { createApi } from '@reduxjs/toolkit/query/react';\n\nimport { fetchBaseQuery } from '../utils/baseQuery';\n\n/**\n * @public\n * @description This is the redux toolkit api for the admin panel, users\n * should use a combination of `enhanceEndpoints` to add their TagTypes\n * to utilise in their `injectEndpoints` construction for automatic cache\n * re-validation. We specifically do not store any tagTypes by default leaving\n * the API surface as small as possible. None of the data-fetching looks for the\n * StrapiApp are stored here either.\n */\nconst adminApi = createApi({\n reducerPath: 'adminApi',\n baseQuery: fetchBaseQuery(),\n tagTypes: [],\n endpoints: () => ({}),\n});\n\nexport { adminApi };\n","const prefixFileUrlWithBackendUrl = (fileURL?: string): string | undefined => {\n return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\n\n/**\n * @description Creates an absolute URL, if there is no URL or it\n * is relative, we use the `window.location.origin` as a fallback.\n * IF it's an absolute URL, we return it as is.\n */\nconst createAbsoluteUrl = (url?: string): string => {\n if (!url) {\n return window.location.origin;\n }\n if (url.startsWith('/')) {\n /**\n * This will also manage protocol relative URLs which is fine because\n * as we can see from the test, we still get the expected result.\n */\n return new URL(url, window.location.origin).toString();\n } else {\n return url;\n }\n};\n\nexport { createAbsoluteUrl, prefixFileUrlWithBackendUrl };\n","import {\n type TelemetryProperties,\n type Init,\n type Information,\n type GetProjectSettings,\n type UpdateProjectSettings,\n type Plugins,\n type GetLicenseLimitInformation,\n} from '../../../shared/contracts/admin';\nimport { prefixFileUrlWithBackendUrl } from '../utils/urls';\n\nimport { adminApi } from './api';\n\ninterface ConfigurationLogo {\n custom?: {\n name?: string;\n url?: string;\n };\n default: string;\n}\n\nconst admin = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ProjectSettings', 'LicenseLimits'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n init: builder.query<Init.Response['data'], void>({\n query: () => ({\n url: '/admin/init',\n method: 'GET',\n }),\n transformResponse(res: Init.Response) {\n return res.data;\n },\n }),\n information: builder.query<Information.Response['data'], void>({\n query: () => ({\n url: '/admin/information',\n method: 'GET',\n }),\n transformResponse(res: Information.Response) {\n return res.data;\n },\n }),\n telemetryProperties: builder.query<TelemetryProperties.Response['data'], void>({\n query: () => ({\n url: '/admin/telemetry-properties',\n method: 'GET',\n config: {\n validateStatus: (status) => status < 500,\n },\n }),\n transformResponse(res: TelemetryProperties.Response) {\n return res.data;\n },\n }),\n projectSettings: builder.query<\n { authLogo?: ConfigurationLogo['custom']; menuLogo?: ConfigurationLogo['custom'] },\n void\n >({\n query: () => ({\n url: '/admin/project-settings',\n method: 'GET',\n }),\n providesTags: ['ProjectSettings'],\n transformResponse(data: GetProjectSettings.Response) {\n return {\n authLogo: data.authLogo\n ? {\n name: data.authLogo.name,\n url: prefixFileUrlWithBackendUrl(data.authLogo.url),\n }\n : undefined,\n menuLogo: data.menuLogo\n ? {\n name: data.menuLogo.name,\n url: prefixFileUrlWithBackendUrl(data.menuLogo.url),\n }\n : undefined,\n };\n },\n }),\n updateProjectSettings: builder.mutation<UpdateProjectSettings.Response, FormData>({\n query: (data) => ({\n url: '/admin/project-settings',\n method: 'POST',\n data,\n config: {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n }),\n invalidatesTags: ['ProjectSettings'],\n }),\n getPlugins: builder.query<Plugins.Response, void>({\n query: () => ({\n url: '/admin/plugins',\n method: 'GET',\n }),\n }),\n getLicenseLimits: builder.query<GetLicenseLimitInformation.Response, void>({\n query: () => ({\n url: '/admin/license-limit-information',\n method: 'GET',\n }),\n providesTags: ['LicenseLimits'],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n} = admin;\n\nexport {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n};\n\nexport type { ConfigurationLogo };\n"],"names":["qs","result"],"mappings":";;;;AAKA,MAAM,YAAe,GAAA;AAAA,EACnB,KAAO,EAAA,UAAA;AAAA,EACP,IAAM,EAAA;AACR,CAAA;AAyBA,MAAM,mBAAmB,KAAM,CAAA;AAAA,EACtB,IAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EAEP,WAAA,CAAY,SAAiB,QAA0B,EAAA;AACrD,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,IAAO,GAAA,YAAA;AACZ,IAAA,IAAA,CAAK,OAAU,GAAA,OAAA;AACf,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA;AAChB,IAAK,IAAA,CAAA,IAAA,GAAO,QAAU,EAAA,IAAA,EAAM,KAAO,EAAA,MAAA;AACnC,IAAK,IAAA,CAAA,MAAA,GAAS,QAAU,EAAA,IAAA,EAAM,KAAO,EAAA,MAAA;AAGrC,IAAA,IAAI,MAAM,iBAAmB,EAAA;AAC3B,MAAM,KAAA,CAAA,iBAAA,CAAkB,MAAM,UAAU,CAAA;AAAA;AAC1C;AAEJ;AAEM,MAAA,YAAA,GAAe,CAAC,KAAwC,KAAA;AAC5D,EAAA,OAAO,KAAiB,YAAA,UAAA;AAC1B;AAEA,MAAM,QAAA,GAAW,MACf,IAAK,CAAA,KAAA;AAAA,EACH,YAAA,CAAa,QAAQ,YAAa,CAAA,KAAK,KAAK,cAAe,CAAA,OAAA,CAAQ,YAAa,CAAA,KAAK,CAAK,IAAA;AAC5F,CAAA;AAqCF,MAAM,cAAiB,GAAA,CAAC,cAA8B,GAAA,EAAoB,KAAA;AACxE,EAAM,MAAA,UAAA,GAAa,OAAO,MAAO,CAAA,UAAA;AACjC,EAAA,MAAM,aAAgB,GAAA;AAAA,IACpB,MAAQ,EAAA,kBAAA;AAAA,IACR,cAAgB,EAAA,kBAAA;AAAA,IAChB,aAAA,EAAe,CAAU,OAAA,EAAA,QAAA,EAAU,CAAA;AAAA,GACrC;AAEA,EAAM,MAAA,iBAAA,GAAoB,CAAC,IAAA,KAAkB,IAAgB,YAAA,QAAA;AAC7D,EAAM,MAAA,kBAAA,GAAqB,CAAC,GAAA,KAAiB,GAAI,CAAA,MAAA,CAAO,CAAC,CAAM,KAAA,GAAA,GAAM,CAAI,CAAA,EAAA,GAAG,CAAK,CAAA,GAAA,GAAA;AAGjF,EAAM,MAAA,WAAA,GAAc,CAAC,GAAgB,KAAA,IAAI,OAAO,kBAAoB,EAAA,GAAG,CAAE,CAAA,IAAA,CAAK,GAAG,CAAA;AAGjF,EAAM,MAAA,YAAA,GAAe,CAAC,GAAiB,KAAA,WAAA,CAAY,GAAG,CAAI,GAAA,GAAA,GAAM,mBAAmB,GAAG,CAAA;AAGtF,EAAM,MAAA,mBAAA,GAAsB,OAC1B,QAAA,EACA,cACkC,KAAA;AAClC,IAAI,IAAA;AACF,MAAM,MAAA,MAAA,GAAS,MAAM,QAAA,CAAS,IAAK,EAAA;AAOnC,MAAI,IAAA,CAAC,SAAS,EAAM,IAAA,MAAA,CAAO,SAAS,CAAC,cAAA,GAAiB,QAAS,CAAA,MAAM,CAAG,EAAA;AACtE,QAAM,MAAA,IAAI,WAAW,MAAO,CAAA,KAAA,CAAM,SAAS,EAAE,IAAA,EAAM,QAAQ,CAAA;AAAA;AAG7D,MAAA,IAAI,CAAC,QAAS,CAAA,EAAA,IAAM,CAAC,cAAiB,GAAA,QAAA,CAAS,MAAM,CAAG,EAAA;AACtD,QAAM,MAAA,IAAI,WAAW,sBAAsB,CAAA;AAAA;AAG7C,MAAO,OAAA,EAAE,MAAM,MAAO,EAAA;AAAA,aACf,KAAO,EAAA;AACd,MAAI,IAAA,KAAA,YAAiB,WAAe,IAAA,QAAA,CAAS,EAAI,EAAA;AAE/C,QAAA,OAAO,EAAE,IAAM,EAAA,EAAI,EAAA,MAAA,EAAQ,SAAS,MAAO,EAAA;AAAA,OACtC,MAAA;AACL,QAAM,MAAA,KAAA;AAAA;AACR;AACF,GACF;AAEA,EAAA,MAAM,gBACJ,GAAA,CAAkB,MAClB,KAAA,CAAC,GAAgB,KAAA;AACf,IAAA,IAAI,MAAQ,EAAA;AACV,MAAI,IAAA,OAAO,WAAW,QAAU,EAAA;AAC9B,QAAO,OAAA,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA;AAAA;AAQzB,MAAA,MAAM,mBAAmBA,WAAG,CAAA,SAAA,CAAU,QAAQ,EAAE,MAAA,EAAQ,OAAO,CAAA;AAC/D,MAAO,OAAA,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,gBAAgB,CAAA,CAAA;AAAA;AAEnC,IAAO,OAAA,GAAA;AAAA,GACT;AAEF,EAAM,MAAA,UAAA,GAAa,CAAC,GAAqC,KAAA;AACvD,IAAO,OAAA,CAAA,EAAG,UAAU,CAAA,EAAG,GAAG,CAAA,CAAA;AAAA,GAC5B;AAMA,EAAM,MAAA,oBAAA,GAAuB,CAAC,OAC5B,KAAA,IAAA,CAAK,cAAc,UAAY,EAAA,gBAAA,CAAiB,OAAS,EAAA,MAAM,CAAC,CAAA;AAElE,EAAA,MAAM,WAA2B,GAAA;AAAA,IAC/B,GAAA,EAAK,OAAc,GAAA,EAAa,OAA0D,KAAA;AACxF,MAAM,MAAA,OAAA,GAAU,IAAI,OAAQ,CAAA;AAAA,QAC1B,GAAG,aAAA;AAAA,QACH,GAAG,OAAS,EAAA;AAAA,OACb,CAAA;AAOD,MAAM,MAAA,gBAAA,GAAmB,qBAAqB,OAAO,CAAA;AACrD,MAAA,MAAM,QAAW,GAAA,MAAM,KAAM,CAAA,gBAAA,CAAiB,GAAG,CAAG,EAAA;AAAA,QAClD,MAAA,EAAQ,OAAS,EAAA,MAAA,IAAU,cAAe,CAAA,MAAA;AAAA,QAC1C,MAAQ,EAAA,KAAA;AAAA,QACR;AAAA,OACD,CAAA;AAED,MAAO,OAAA,mBAAA,CAA2B,QAAU,EAAA,OAAA,EAAS,cAAc,CAAA;AAAA,KACrE;AAAA,IACA,IAAM,EAAA,OACJ,GACA,EAAA,IAAA,EACA,OACkC,KAAA;AAClC,MAAM,MAAA,OAAA,GAAU,IAAI,OAAQ,CAAA;AAAA,QAC1B,GAAG,aAAA;AAAA,QACH,GAAG,OAAS,EAAA;AAAA,OACb,CAAA;AAED,MAAM,MAAA,gBAAA,GAAmB,qBAAqB,OAAO,CAAA;AAMrD,MAAI,IAAA,iBAAA,CAAkB,IAAI,CAAG,EAAA;AAC3B,QAAA,OAAA,CAAQ,OAAO,cAAc,CAAA;AAAA;AAG/B,MAAA,MAAM,QAAW,GAAA,MAAM,KAAM,CAAA,gBAAA,CAAiB,GAAG,CAAG,EAAA;AAAA,QAClD,MAAA,EAAQ,OAAS,EAAA,MAAA,IAAU,cAAe,CAAA,MAAA;AAAA,QAC1C,MAAQ,EAAA,MAAA;AAAA,QACR,OAAA;AAAA,QACA,MAAM,iBAAkB,CAAA,IAAI,IAAK,IAAoB,GAAA,IAAA,CAAK,UAAU,IAAI;AAAA,OACzE,CAAA;AACD,MAAO,OAAA,mBAAA,CAA2B,QAAU,EAAA,OAAA,EAAS,cAAc,CAAA;AAAA,KACrE;AAAA,IACA,GAAK,EAAA,OACH,GACA,EAAA,IAAA,EACA,OACkC,KAAA;AAClC,MAAM,MAAA,OAAA,GAAU,IAAI,OAAQ,CAAA;AAAA,QAC1B,GAAG,aAAA;AAAA,QACH,GAAG,OAAS,EAAA;AAAA,OACb,CAAA;AAED,MAAM,MAAA,gBAAA,GAAmB,qBAAqB,OAAO,CAAA;AAMrD,MAAI,IAAA,iBAAA,CAAkB,IAAI,CAAG,EAAA;AAC3B,QAAA,OAAA,CAAQ,OAAO,cAAc,CAAA;AAAA;AAG/B,MAAA,MAAM,QAAW,GAAA,MAAM,KAAM,CAAA,gBAAA,CAAiB,GAAG,CAAG,EAAA;AAAA,QAClD,MAAA,EAAQ,OAAS,EAAA,MAAA,IAAU,cAAe,CAAA,MAAA;AAAA,QAC1C,MAAQ,EAAA,KAAA;AAAA,QACR,OAAA;AAAA,QACA,MAAM,iBAAkB,CAAA,IAAI,IAAK,IAAoB,GAAA,IAAA,CAAK,UAAU,IAAI;AAAA,OACzE,CAAA;AAED,MAAO,OAAA,mBAAA,CAA2B,QAAU,EAAA,OAAA,EAAS,cAAc,CAAA;AAAA,KACrE;AAAA,IACA,GAAA,EAAK,OAAc,GAAA,EAAa,OAA0D,KAAA;AACxF,MAAM,MAAA,OAAA,GAAU,IAAI,OAAQ,CAAA;AAAA,QAC1B,GAAG,aAAA;AAAA,QACH,GAAG,OAAS,EAAA;AAAA,OACb,CAAA;AAED,MAAM,MAAA,gBAAA,GAAmB,qBAAqB,OAAO,CAAA;AACrD,MAAA,MAAM,QAAW,GAAA,MAAM,KAAM,CAAA,gBAAA,CAAiB,GAAG,CAAG,EAAA;AAAA,QAClD,MAAA,EAAQ,OAAS,EAAA,MAAA,IAAU,cAAe,CAAA,MAAA;AAAA,QAC1C,MAAQ,EAAA,QAAA;AAAA,QACR;AAAA,OACD,CAAA;AACD,MAAO,OAAA,mBAAA,CAA2B,QAAU,EAAA,OAAA,EAAS,cAAc,CAAA;AAAA;AACrE,GACF;AAEA,EAAO,OAAA,WAAA;AACT;;AC1PA,MAAM,iBACJ,MACA,OAAO,KAAO,EAAA,EAAE,QAAa,KAAA;AAC3B,EAAI,IAAA;AACF,IAAA,MAAM,EAAE,GAAK,EAAA,IAAA,EAAM,GAAK,EAAA,GAAA,KAAQ,cAAe,EAAA;AAE/C,IAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC7B,MAAA,MAAM,SAAS,MAAM,GAAA,CAAI,KAAO,EAAA,EAAE,QAAQ,CAAA;AAC1C,MAAO,OAAA,EAAE,IAAM,EAAA,MAAA,CAAO,IAAK,EAAA;AAAA,KACtB,MAAA;AACL,MAAA,MAAM,EAAE,GAAK,EAAA,MAAA,GAAS,KAAO,EAAA,IAAA,EAAM,QAAW,GAAA,KAAA;AAE9C,MAAA,IAAI,WAAW,MAAQ,EAAA;AACrB,QAAA,MAAMC,OAAS,GAAA,MAAM,IAAK,CAAA,GAAA,EAAK,IAAM,EAAA;AAAA,UACnC,GAAG,MAAA;AAAA,UACH;AAAA,SACD,CAAA;AACD,QAAO,OAAA,EAAE,IAAMA,EAAAA,OAAAA,CAAO,IAAK,EAAA;AAAA;AAG7B,MAAA,IAAI,WAAW,QAAU,EAAA;AACvB,QAAMA,MAAAA,OAAAA,GAAS,MAAM,GAAA,CAAI,GAAK,EAAA;AAAA,UAC5B,GAAG,MAAA;AAAA,UACH;AAAA,SACD,CAAA;AACD,QAAO,OAAA,EAAE,IAAMA,EAAAA,OAAAA,CAAO,IAAK,EAAA;AAAA;AAG7B,MAAA,IAAI,WAAW,KAAO,EAAA;AACpB,QAAA,MAAMA,OAAS,GAAA,MAAM,GAAI,CAAA,GAAA,EAAK,IAAM,EAAA;AAAA,UAClC,GAAG,MAAA;AAAA,UACH;AAAA,SACD,CAAA;AACD,QAAO,OAAA,EAAE,IAAMA,EAAAA,OAAAA,CAAO,IAAK,EAAA;AAAA;AAM7B,MAAM,MAAA,MAAA,GAAS,MAAM,GAAA,CAAI,GAAK,EAAA;AAAA,QAC5B,GAAG,MAAA;AAAA,QACH;AAAA,OACD,CAAA;AACD,MAAO,OAAA,EAAE,IAAM,EAAA,MAAA,CAAO,IAAK,EAAA;AAAA;AAC7B,WACO,GAAK,EAAA;AAGZ,IAAI,IAAA,YAAA,CAAa,GAAG,CAAG,EAAA;AACrB,MAAA,IACE,OAAO,GAAA,CAAI,QAAU,EAAA,IAAA,KAAS,QAC9B,IAAA,GAAA,CAAI,QAAU,EAAA,IAAA,KAAS,IACvB,IAAA,OAAA,IAAW,GAAI,CAAA,QAAA,EAAU,IACzB,EAAA;AAIA,QAAA,OAAO,EAAE,IAAM,EAAA,KAAA,CAAA,EAAW,OAAO,GAAI,CAAA,QAAA,EAAU,KAAK,KAAa,EAAA;AAAA,OAC5D,MAAA;AACL,QAAO,OAAA;AAAA,UACL,IAAM,EAAA,KAAA,CAAA;AAAA,UACN,KAAO,EAAA;AAAA,YACL,IAAM,EAAA,cAAA;AAAA,YACN,SAAS,GAAI,CAAA,OAAA;AAAA,YACb,SAAS,GAAI,CAAA,QAAA;AAAA,YACb,QAAQ,GAAI,CAAA;AAAA;AACd,SACF;AAAA;AACF;AAGF,IAAA,MAAM,KAAQ,GAAA,GAAA;AACd,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,KAAA,CAAA;AAAA,MACN,KAAO,EAAA;AAAA,QACL,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,SAAS,KAAM,CAAA,OAAA;AAAA,QACf,OAAO,KAAM,CAAA;AAAA;AACf,KACF;AAAA;AAEJ;AAEI,MAAA,gBAAA,GAAmB,CAAC,KAAqE,KAAA;AAC7F,EAAA,OAAO,MAAM,IAAS,KAAA,KAAA,CAAA;AACxB;;AC/FA,MAAM,WAAW,SAAU,CAAA;AAAA,EACzB,WAAa,EAAA,UAAA;AAAA,EACb,WAAW,cAAe,EAAA;AAAA,EAC1B,UAAU,EAAC;AAAA,EACX,SAAA,EAAW,OAAO,EAAC;AACrB,CAAC;;AClBD,MAAM,2BAAA,GAA8B,CAAC,OAAyC,KAAA;AAC5E,EAAA,OAAO,CAAC,CAAC,OAAW,IAAA,OAAA,CAAQ,UAAW,CAAA,GAAG,CAAI,GAAA,CAAA,EAAG,MAAO,CAAA,MAAA,CAAO,UAAU,CAAA,EAAG,OAAO,CAAK,CAAA,GAAA,OAAA;AAC1F,CAAA;AAOM,MAAA,iBAAA,GAAoB,CAAC,GAAyB,KAAA;AAClD,EAAA,IAAI,CAAC,GAAK,EAAA;AACR,IAAA,OAAO,OAAO,QAAS,CAAA,MAAA;AAAA;AAEzB,EAAI,IAAA,GAAA,CAAI,UAAW,CAAA,GAAG,CAAG,EAAA;AAKvB,IAAA,OAAO,IAAI,GAAI,CAAA,GAAA,EAAK,OAAO,QAAS,CAAA,MAAM,EAAE,QAAS,EAAA;AAAA,GAChD,MAAA;AACL,IAAO,OAAA,GAAA;AAAA;AAEX;;ACDA,MAAM,KAAA,GAAQ,SACX,gBAAiB,CAAA;AAAA,EAChB,WAAA,EAAa,CAAC,iBAAA,EAAmB,eAAe;AAClD,CAAC,EACA,eAAgB,CAAA;AAAA,EACf,SAAA,EAAW,CAAC,OAAa,MAAA;AAAA,IACvB,IAAA,EAAM,QAAQ,KAAmC,CAAA;AAAA,MAC/C,OAAO,OAAO;AAAA,QACZ,GAAK,EAAA,aAAA;AAAA,QACL,MAAQ,EAAA;AAAA,OACV,CAAA;AAAA,MACA,kBAAkB,GAAoB,EAAA;AACpC,QAAA,OAAO,GAAI,CAAA,IAAA;AAAA;AACb,KACD,CAAA;AAAA,IACD,WAAA,EAAa,QAAQ,KAA0C,CAAA;AAAA,MAC7D,OAAO,OAAO;AAAA,QACZ,GAAK,EAAA,oBAAA;AAAA,QACL,MAAQ,EAAA;AAAA,OACV,CAAA;AAAA,MACA,kBAAkB,GAA2B,EAAA;AAC3C,QAAA,OAAO,GAAI,CAAA,IAAA;AAAA;AACb,KACD,CAAA;AAAA,IACD,mBAAA,EAAqB,QAAQ,KAAkD,CAAA;AAAA,MAC7E,OAAO,OAAO;AAAA,QACZ,GAAK,EAAA,6BAAA;AAAA,QACL,MAAQ,EAAA,KAAA;AAAA,QACR,MAAQ,EAAA;AAAA,UACN,cAAA,EAAgB,CAAC,MAAA,KAAW,MAAS,GAAA;AAAA;AACvC,OACF,CAAA;AAAA,MACA,kBAAkB,GAAmC,EAAA;AACnD,QAAA,OAAO,GAAI,CAAA,IAAA;AAAA;AACb,KACD,CAAA;AAAA,IACD,eAAA,EAAiB,QAAQ,KAGvB,CAAA;AAAA,MACA,OAAO,OAAO;AAAA,QACZ,GAAK,EAAA,yBAAA;AAAA,QACL,MAAQ,EAAA;AAAA,OACV,CAAA;AAAA,MACA,YAAA,EAAc,CAAC,iBAAiB,CAAA;AAAA,MAChC,kBAAkB,IAAmC,EAAA;AACnD,QAAO,OAAA;AAAA,UACL,QAAA,EAAU,KAAK,QACX,GAAA;AAAA,YACE,IAAA,EAAM,KAAK,QAAS,CAAA,IAAA;AAAA,YACpB,GAAK,EAAA,2BAAA,CAA4B,IAAK,CAAA,QAAA,CAAS,GAAG;AAAA,WAEpD,GAAA,KAAA,CAAA;AAAA,UACJ,QAAA,EAAU,KAAK,QACX,GAAA;AAAA,YACE,IAAA,EAAM,KAAK,QAAS,CAAA,IAAA;AAAA,YACpB,GAAK,EAAA,2BAAA,CAA4B,IAAK,CAAA,QAAA,CAAS,GAAG;AAAA,WAEpD,GAAA,KAAA;AAAA,SACN;AAAA;AACF,KACD,CAAA;AAAA,IACD,qBAAA,EAAuB,QAAQ,QAAmD,CAAA;AAAA,MAChF,KAAA,EAAO,CAAC,IAAU,MAAA;AAAA,QAChB,GAAK,EAAA,yBAAA;AAAA,QACL,MAAQ,EAAA,MAAA;AAAA,QACR,IAAA;AAAA,QACA,MAAQ,EAAA;AAAA,UACN,OAAS,EAAA;AAAA,YACP,cAAgB,EAAA;AAAA;AAClB;AACF,OACF,CAAA;AAAA,MACA,eAAA,EAAiB,CAAC,iBAAiB;AAAA,KACpC,CAAA;AAAA,IACD,UAAA,EAAY,QAAQ,KAA8B,CAAA;AAAA,MAChD,OAAO,OAAO;AAAA,QACZ,GAAK,EAAA,gBAAA;AAAA,QACL,MAAQ,EAAA;AAAA,OACV;AAAA,KACD,CAAA;AAAA,IACD,gBAAA,EAAkB,QAAQ,KAAiD,CAAA;AAAA,MACzE,OAAO,OAAO;AAAA,QACZ,GAAK,EAAA,kCAAA;AAAA,QACL,MAAQ,EAAA;AAAA,OACV,CAAA;AAAA,MACA,YAAA,EAAc,CAAC,eAAe;AAAA,KAC/B;AAAA,GACH,CAAA;AAAA,EACA,gBAAkB,EAAA;AACpB,CAAC,CAAA;AAEG,MAAA;AAAA,EACJ,YAAA;AAAA,EACA,2BAAA;AAAA,EACA,mBAAA;AAAA,EACA,uBAAA;AAAA,EACA,gCAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACF,CAAI,GAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"apiTokens-BbGEd8hG.mjs","sources":["../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst apiTokensService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ApiToken'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n });\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = apiTokensService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":[],"mappings":";;AAIA,MAAM,gBAAA,GAAmB,SACtB,gBAAiB,CAAA;AAAA,EAChB,WAAA,EAAa,CAAC,UAAU,CAAA;AAC1B,CAAC,EACA,eAAgB,CAAA;AAAA,EACf,SAAA,EAAW,CAAC,OAAa,MAAA;AAAA,IACvB,YAAA,EAAc,QAAQ,KAA4C,CAAA;AAAA,MAChE,OAAO,MAAM,mBAAA;AAAA,MACb,iBAAA,EAAmB,CAAC,QAAA,KAAqC,QAAS,CAAA,IAAA;AAAA,MAClE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAS,KAAA;AAAA,QAC3B,GAAI,GAAA,EAAK,GAAI,CAAA,CAAC,EAAE,EAAA,EAAU,MAAA,EAAE,IAAM,EAAA,UAAA,EAAqB,EAAG,EAAA,CAAE,KAAK,EAAC;AAAA,QAClE,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,MAAO,EAAA;AAAA,OAC1C;AAAA,KACD,CAAA;AAAA,IACD,WAAA,EAAa,QAAQ,KAAgE,CAAA;AAAA,MACnF,KAAO,EAAA,CAAC,EAAO,KAAA,CAAA,kBAAA,EAAqB,EAAE,CAAA,CAAA;AAAA,MACtC,iBAAA,EAAmB,CAAC,QAAA,KAAoC,QAAS,CAAA,IAAA;AAAA,MACjE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KACpE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,IAAU,MAAA;AAAA,QAChB,GAAK,EAAA,mBAAA;AAAA,QACL,MAAQ,EAAA,MAAA;AAAA,QACR,IAAM,EAAA,IAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,iBAAiB,CAAC,EAAE,MAAM,UAAqB,EAAA,EAAA,EAAI,QAAQ,CAAA;AAAA,KAC5D,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,EAAQ,MAAA;AAAA,QACd,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA,QAAA;AAAA,OACV,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAA,EAAiB,CAAC,IAAA,EAAM,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KACxE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,OAAO,CAAC,EAAE,EAAI,EAAA,GAAG,MAAY,MAAA;AAAA,QAC3B,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA,KAAA;AAAA,QACR,IAAM,EAAA,IAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAiB,EAAA,CAAC,IAAM,EAAA,IAAA,EAAM,EAAE,EAAA,EAAS,KAAA,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KAC5E,CAAA;AAAA,GACH,CAAA;AACF,CAAC,CAAA,CAAA;AAEG,MAAA;AAAA,EACJ,oBAAA;AAAA,EACA,mBAAA;AAAA,EACA,yBAAA;AAAA,EACA,yBAAA;AAAA,EACA,yBAAA;AACF,CAAI,GAAA;;;;"}
1
+ {"version":3,"file":"apiTokens-BbGEd8hG.mjs","sources":["../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst apiTokensService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ApiToken'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n });\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = apiTokensService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":[],"mappings":";;AAIA,MAAM,gBAAA,GAAmB,SACtB,gBAAiB,CAAA;AAAA,EAChB,WAAA,EAAa,CAAC,UAAU;AAC1B,CAAC,EACA,eAAgB,CAAA;AAAA,EACf,SAAA,EAAW,CAAC,OAAa,MAAA;AAAA,IACvB,YAAA,EAAc,QAAQ,KAA4C,CAAA;AAAA,MAChE,OAAO,MAAM,mBAAA;AAAA,MACb,iBAAA,EAAmB,CAAC,QAAA,KAAqC,QAAS,CAAA,IAAA;AAAA,MAClE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAS,KAAA;AAAA,QAC3B,GAAI,GAAA,EAAK,GAAI,CAAA,CAAC,EAAE,EAAA,EAAU,MAAA,EAAE,IAAM,EAAA,UAAA,EAAqB,EAAG,EAAA,CAAE,KAAK,EAAC;AAAA,QAClE,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,MAAO;AAAA;AAC1C,KACD,CAAA;AAAA,IACD,WAAA,EAAa,QAAQ,KAAgE,CAAA;AAAA,MACnF,KAAO,EAAA,CAAC,EAAO,KAAA,CAAA,kBAAA,EAAqB,EAAE,CAAA,CAAA;AAAA,MACtC,iBAAA,EAAmB,CAAC,QAAA,KAAoC,QAAS,CAAA,IAAA;AAAA,MACjE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI;AAAA,KACpE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,IAAU,MAAA;AAAA,QAChB,GAAK,EAAA,mBAAA;AAAA,QACL,MAAQ,EAAA,MAAA;AAAA,QACR,IAAM,EAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,iBAAiB,CAAC,EAAE,MAAM,UAAqB,EAAA,EAAA,EAAI,QAAQ;AAAA,KAC5D,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,EAAQ,MAAA;AAAA,QACd,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA;AAAA,OACV,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAA,EAAiB,CAAC,IAAA,EAAM,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI;AAAA,KACxE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,OAAO,CAAC,EAAE,EAAI,EAAA,GAAG,MAAY,MAAA;AAAA,QAC3B,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA,KAAA;AAAA,QACR,IAAM,EAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAiB,EAAA,CAAC,IAAM,EAAA,IAAA,EAAM,EAAE,EAAA,EAAS,KAAA,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI;AAAA,KAC5E;AAAA,GACH;AACF,CAAC,CAAA;AAEG,MAAA;AAAA,EACJ,oBAAA;AAAA,EACA,mBAAA;AAAA,EACA,yBAAA;AAAA,EACA,yBAAA;AAAA,EACA;AACF,CAAI,GAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"apiTokens-rxLmW4xI.js","sources":["../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst apiTokensService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ApiToken'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n });\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = apiTokensService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":["adminApi"],"mappings":";;;;AAIA,MAAM,gBAAA,GAAmBA,eACtB,gBAAiB,CAAA;AAAA,EAChB,WAAA,EAAa,CAAC,UAAU,CAAA;AAC1B,CAAC,EACA,eAAgB,CAAA;AAAA,EACf,SAAA,EAAW,CAAC,OAAa,MAAA;AAAA,IACvB,YAAA,EAAc,QAAQ,KAA4C,CAAA;AAAA,MAChE,OAAO,MAAM,mBAAA;AAAA,MACb,iBAAA,EAAmB,CAAC,QAAA,KAAqC,QAAS,CAAA,IAAA;AAAA,MAClE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAS,KAAA;AAAA,QAC3B,GAAI,GAAA,EAAK,GAAI,CAAA,CAAC,EAAE,EAAA,EAAU,MAAA,EAAE,IAAM,EAAA,UAAA,EAAqB,EAAG,EAAA,CAAE,KAAK,EAAC;AAAA,QAClE,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,MAAO,EAAA;AAAA,OAC1C;AAAA,KACD,CAAA;AAAA,IACD,WAAA,EAAa,QAAQ,KAAgE,CAAA;AAAA,MACnF,KAAO,EAAA,CAAC,EAAO,KAAA,CAAA,kBAAA,EAAqB,EAAE,CAAA,CAAA;AAAA,MACtC,iBAAA,EAAmB,CAAC,QAAA,KAAoC,QAAS,CAAA,IAAA;AAAA,MACjE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KACpE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,IAAU,MAAA;AAAA,QAChB,GAAK,EAAA,mBAAA;AAAA,QACL,MAAQ,EAAA,MAAA;AAAA,QACR,IAAM,EAAA,IAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,iBAAiB,CAAC,EAAE,MAAM,UAAqB,EAAA,EAAA,EAAI,QAAQ,CAAA;AAAA,KAC5D,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,EAAQ,MAAA;AAAA,QACd,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA,QAAA;AAAA,OACV,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAA,EAAiB,CAAC,IAAA,EAAM,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KACxE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,OAAO,CAAC,EAAE,EAAI,EAAA,GAAG,MAAY,MAAA;AAAA,QAC3B,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA,KAAA;AAAA,QACR,IAAM,EAAA,IAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAiB,EAAA,CAAC,IAAM,EAAA,IAAA,EAAM,EAAE,EAAA,EAAS,KAAA,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KAC5E,CAAA;AAAA,GACH,CAAA;AACF,CAAC,CAAA,CAAA;AAEG,MAAA;AAAA,EACJ,oBAAA;AAAA,EACA,mBAAA;AAAA,EACA,yBAAA;AAAA,EACA,yBAAA;AAAA,EACA,yBAAA;AACF,CAAI,GAAA;;;;;;;;"}
1
+ {"version":3,"file":"apiTokens-rxLmW4xI.js","sources":["../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst apiTokensService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ApiToken'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n });\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = apiTokensService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":["adminApi"],"mappings":";;;;AAIA,MAAM,gBAAA,GAAmBA,eACtB,gBAAiB,CAAA;AAAA,EAChB,WAAA,EAAa,CAAC,UAAU;AAC1B,CAAC,EACA,eAAgB,CAAA;AAAA,EACf,SAAA,EAAW,CAAC,OAAa,MAAA;AAAA,IACvB,YAAA,EAAc,QAAQ,KAA4C,CAAA;AAAA,MAChE,OAAO,MAAM,mBAAA;AAAA,MACb,iBAAA,EAAmB,CAAC,QAAA,KAAqC,QAAS,CAAA,IAAA;AAAA,MAClE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAS,KAAA;AAAA,QAC3B,GAAI,GAAA,EAAK,GAAI,CAAA,CAAC,EAAE,EAAA,EAAU,MAAA,EAAE,IAAM,EAAA,UAAA,EAAqB,EAAG,EAAA,CAAE,KAAK,EAAC;AAAA,QAClE,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,MAAO;AAAA;AAC1C,KACD,CAAA;AAAA,IACD,WAAA,EAAa,QAAQ,KAAgE,CAAA;AAAA,MACnF,KAAO,EAAA,CAAC,EAAO,KAAA,CAAA,kBAAA,EAAqB,EAAE,CAAA,CAAA;AAAA,MACtC,iBAAA,EAAmB,CAAC,QAAA,KAAoC,QAAS,CAAA,IAAA;AAAA,MACjE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI;AAAA,KACpE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,IAAU,MAAA;AAAA,QAChB,GAAK,EAAA,mBAAA;AAAA,QACL,MAAQ,EAAA,MAAA;AAAA,QACR,IAAM,EAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,iBAAiB,CAAC,EAAE,MAAM,UAAqB,EAAA,EAAA,EAAI,QAAQ;AAAA,KAC5D,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,EAAQ,MAAA;AAAA,QACd,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA;AAAA,OACV,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAA,EAAiB,CAAC,IAAA,EAAM,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI;AAAA,KACxE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,OAAO,CAAC,EAAE,EAAI,EAAA,GAAG,MAAY,MAAA;AAAA,QAC3B,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA,KAAA;AAAA,QACR,IAAM,EAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAiB,EAAA,CAAC,IAAM,EAAA,IAAA,EAAM,EAAE,EAAA,EAAS,KAAA,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI;AAAA,KAC5E;AAAA,GACH;AACF,CAAC,CAAA;AAEG,MAAA;AAAA,EACJ,oBAAA;AAAA,EACA,mBAAA;AAAA,EACA,yBAAA;AAAA,EACA,yBAAA;AAAA,EACA;AACF,CAAI,GAAA;;;;;;;;"}
@@ -3,8 +3,8 @@ import { Divider, Main, Box, Typography, Flex, Loader, Button, Link } from '@str
3
3
  import { useIntl } from 'react-intl';
4
4
  import { useNavigate, Navigate, NavLink } from 'react-router-dom';
5
5
  import { styled } from 'styled-components';
6
- import { U as UnauthenticatedLayout, L as LayoutContent, m as Column, a as Logo } from './index-BnX71_B4.mjs';
7
- import { l as useGetProvidersQuery } from './Theme-CLIXCqhU.mjs';
6
+ import { U as UnauthenticatedLayout, L as LayoutContent, m as Column, a as Logo } from './index-UBwCyQ_3.mjs';
7
+ import { l as useGetProvidersQuery } from './Theme-Cw2LYZGD.mjs';
8
8
  import { S as SSOProviders } from './SSOProviders-BD7LHrkI.mjs';
9
9
 
10
10
  const Providers = () => {
@@ -48,4 +48,4 @@ const FORMS = {
48
48
  };
49
49
 
50
50
  export { FORMS };
51
- //# sourceMappingURL=constants-DGb02Psr.mjs.map
51
+ //# sourceMappingURL=constants-4R_fd3x_.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants-DGb02Psr.mjs","sources":["../../ee/admin/src/pages/AuthPage/components/Providers.tsx","../../ee/admin/src/pages/AuthPage/constants.ts"],"sourcesContent":["import { Box, Button, Divider, Flex, Loader, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Logo } from '../../../../../../admin/src/components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../../../../admin/src/layouts/UnauthenticatedLayout';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst Providers = () => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n const handleClick = () => {\n navigate('/auth/login');\n };\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.form.welcome.title' })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.subtitle' })}\n </Typography>\n </Box>\n </Column>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>{formatMessage({ id: 'Auth.login.sso.loading' })}</Loader>\n </Flex>\n ) : (\n <SSOProviders providers={providers} />\n )}\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'or' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <Button fullWidth size=\"L\" onClick={handleClick}>\n {formatMessage({ id: 'Auth.form.button.login.strapi' })}\n </Button>\n </Flex>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/forgot-password\">\n <Typography variant=\"pi\">\n {formatMessage({ id: 'Auth.link.forgot-password' })}\n </Typography>\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nexport { Providers };\n","import type { ComponentType } from 'react';\n\nimport { Providers } from './components/Providers';\n\ntype AuthType = 'providers';\n\ntype FormDictionary = Record<AuthType, ComponentType>;\n\nexport const FORMS = {\n providers: Providers,\n} satisfies FormDictionary;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants-4R_fd3x_.mjs","sources":["../../ee/admin/src/pages/AuthPage/components/Providers.tsx","../../ee/admin/src/pages/AuthPage/constants.ts"],"sourcesContent":["import { Box, Button, Divider, Flex, Loader, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Logo } from '../../../../../../admin/src/components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../../../../admin/src/layouts/UnauthenticatedLayout';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst Providers = () => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n const handleClick = () => {\n navigate('/auth/login');\n };\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.form.welcome.title' })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.subtitle' })}\n </Typography>\n </Box>\n </Column>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>{formatMessage({ id: 'Auth.login.sso.loading' })}</Loader>\n </Flex>\n ) : (\n <SSOProviders providers={providers} />\n )}\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'or' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <Button fullWidth size=\"L\" onClick={handleClick}>\n {formatMessage({ id: 'Auth.form.button.login.strapi' })}\n </Button>\n </Flex>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/forgot-password\">\n <Typography variant=\"pi\">\n {formatMessage({ id: 'Auth.link.forgot-password' })}\n </Typography>\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nexport { Providers };\n","import type { ComponentType } from 'react';\n\nimport { Providers } from './components/Providers';\n\ntype AuthType = 'providers';\n\ntype FormDictionary = Record<AuthType, ComponentType>;\n\nexport const FORMS = {\n providers: Providers,\n} satisfies FormDictionary;\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ const designSystem = require('@strapi/design-system');
7
7
  const reactIntl = require('react-intl');
8
8
  const reactRouterDom = require('react-router-dom');
9
9
  const styledComponents = require('styled-components');
10
- const index = require('./index-D9wwwbid.js');
10
+ const index = require('./index-RRj8QByf.js');
11
11
  const Theme = require('./Theme-CV_l77KL.js');
12
12
  const SSOProviders = require('./SSOProviders-nCeEldEQ.js');
13
13
 
@@ -52,4 +52,4 @@ const FORMS = {
52
52
  };
53
53
 
54
54
  exports.FORMS = FORMS;
55
- //# sourceMappingURL=constants-DAPlN6Ts.js.map
55
+ //# sourceMappingURL=constants-C8Wa9CxZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants-DAPlN6Ts.js","sources":["../../ee/admin/src/pages/AuthPage/components/Providers.tsx","../../ee/admin/src/pages/AuthPage/constants.ts"],"sourcesContent":["import { Box, Button, Divider, Flex, Loader, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Logo } from '../../../../../../admin/src/components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../../../../admin/src/layouts/UnauthenticatedLayout';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst Providers = () => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n const handleClick = () => {\n navigate('/auth/login');\n };\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.form.welcome.title' })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.subtitle' })}\n </Typography>\n </Box>\n </Column>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>{formatMessage({ id: 'Auth.login.sso.loading' })}</Loader>\n </Flex>\n ) : (\n <SSOProviders providers={providers} />\n )}\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'or' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <Button fullWidth size=\"L\" onClick={handleClick}>\n {formatMessage({ id: 'Auth.form.button.login.strapi' })}\n </Button>\n </Flex>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/forgot-password\">\n <Typography variant=\"pi\">\n {formatMessage({ id: 'Auth.link.forgot-password' })}\n </Typography>\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nexport { Providers };\n","import type { ComponentType } from 'react';\n\nimport { Providers } from './components/Providers';\n\ntype AuthType = 'providers';\n\ntype FormDictionary = Record<AuthType, ComponentType>;\n\nexport const FORMS = {\n providers: Providers,\n} satisfies FormDictionary;\n"],"names":["useNavigate","useIntl","useGetProvidersQuery","jsx","Navigate","UnauthenticatedLayout","jsxs","Main","LayoutContent","Column","Logo","Box","Typography","Flex","Loader","SSOProviders","Button","Link","NavLink","styled","Divider"],"mappings":"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"}
1
+ {"version":3,"file":"constants-C8Wa9CxZ.js","sources":["../../ee/admin/src/pages/AuthPage/components/Providers.tsx","../../ee/admin/src/pages/AuthPage/constants.ts"],"sourcesContent":["import { Box, Button, Divider, Flex, Loader, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Logo } from '../../../../../../admin/src/components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../../../../admin/src/layouts/UnauthenticatedLayout';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst Providers = () => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n const handleClick = () => {\n navigate('/auth/login');\n };\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.form.welcome.title' })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.subtitle' })}\n </Typography>\n </Box>\n </Column>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>{formatMessage({ id: 'Auth.login.sso.loading' })}</Loader>\n </Flex>\n ) : (\n <SSOProviders providers={providers} />\n )}\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'or' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <Button fullWidth size=\"L\" onClick={handleClick}>\n {formatMessage({ id: 'Auth.form.button.login.strapi' })}\n </Button>\n </Flex>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/forgot-password\">\n <Typography variant=\"pi\">\n {formatMessage({ id: 'Auth.link.forgot-password' })}\n </Typography>\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nexport { Providers };\n","import type { ComponentType } from 'react';\n\nimport { Providers } from './components/Providers';\n\ntype AuthType = 'providers';\n\ntype FormDictionary = Record<AuthType, ComponentType>;\n\nexport const FORMS = {\n providers: Providers,\n} satisfies FormDictionary;\n"],"names":["useNavigate","useIntl","useGetProvidersQuery","jsx","Navigate","UnauthenticatedLayout","jsxs","Main","LayoutContent","Column","Logo","Box","Typography","Flex","Loader","SSOProviders","Button","Link","NavLink","styled","Divider"],"mappings":";;;;;;;;;;;;;AAeA,MAAM,YAAY,MAAM;AACtB,EAAA,MAAM,WAAWA,0BAAY,EAAA;AAC7B,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIC,iBAAQ,EAAA;AAClC,EAAM,MAAA,EAAE,WAAW,IAAM,EAAA,SAAA,GAAY,EAAG,EAAA,GAAIC,2BAAqB,KAAW,CAAA,EAAA;AAAA,IAC1E,IAAA,EAAM,CAAC,MAAO,CAAA,MAAA,CAAO,SAAS,SAAU,CAAA,MAAA,CAAO,MAAO,CAAA,QAAA,CAAS,GAAG;AAAA,GACnE,CAAA;AAED,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,QAAA,CAAS,aAAa,CAAA;AAAA,GACxB;AAEA,EAAA,IACE,CAAC,MAAA,CAAO,MAAO,CAAA,QAAA,CAAS,UAAU,MAAO,CAAA,MAAA,CAAO,QAAS,CAAA,GAAG,CAC3D,IAAA,CAAC,SAAa,IAAA,SAAA,CAAU,WAAW,CACpC,EAAA;AACA,IAAO,uBAAAC,cAAA,CAACC,uBAAS,EAAA,EAAA,EAAA,EAAG,aAAc,EAAA,CAAA;AAAA;AAGpC,EACE,uBAAAD,cAAA,CAACE,2BACC,EAAA,EAAA,QAAA,kBAAAC,eAAA,CAACC,iBACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAD,eAAA,CAACE,mBACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAAF,eAAA,CAACG,YACC,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAAN,cAAA,CAACO,UAAK,EAAA,EAAA,CAAA;AAAA,uCACLC,gBAAI,EAAA,EAAA,UAAA,EAAY,GAAG,aAAe,EAAA,CAAA,EACjC,yCAACC,uBAAW,EAAA,EAAA,GAAA,EAAI,IAAK,EAAA,OAAA,EAAQ,SAC1B,QAAc,EAAA,aAAA,CAAA,EAAE,IAAI,yBAA0B,EAAC,GAClD,CACF,EAAA,CAAA;AAAA,uCACCD,gBAAI,EAAA,EAAA,aAAA,EAAe,CAClB,EAAA,QAAA,kBAAAR,cAAA,CAACS,2BAAW,OAAQ,EAAA,SAAA,EAAU,SAAU,EAAA,YAAA,EACrC,wBAAc,EAAE,EAAA,EAAI,yBAA0B,EAAC,GAClD,CACF,EAAA;AAAA,OACF,EAAA,CAAA;AAAA,sCACCC,iBAAK,EAAA,EAAA,SAAA,EAAU,UAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CAChD,EAAA,QAAA,EAAA;AAAA,QAAA,SAAA,kCACEA,iBAAK,EAAA,EAAA,cAAA,EAAe,QACnB,EAAA,QAAA,kBAAAV,cAAA,CAACW,uBAAQ,QAAc,EAAA,aAAA,CAAA,EAAE,EAAI,EAAA,wBAAA,EAA0B,CAAE,EAAA,CAAA,EAC3D,CAEA,mBAAAX,cAAA,CAACY,6BAAa,SAAsB,EAAA,CAAA;AAAA,wCAErCF,iBACC,EAAA,EAAA,QAAA,EAAA;AAAA,0BAAAV,cAAA,CAAC,WAAY,EAAA,EAAA,CAAA;AAAA,yCACZQ,gBAAI,EAAA,EAAA,WAAA,EAAa,GAAG,YAAc,EAAA,CAAA,EACjC,yCAACC,uBAAW,EAAA,EAAA,OAAA,EAAQ,OAAQ,EAAA,SAAA,EAAU,cACnC,QAAc,EAAA,aAAA,CAAA,EAAE,IAAI,IAAK,EAAC,GAC7B,CACF,EAAA,CAAA;AAAA,yCACC,WAAY,EAAA,EAAA;AAAA,SACf,EAAA,CAAA;AAAA,wBACCT,cAAA,CAAAa,mBAAA,EAAA,EAAO,SAAS,EAAA,IAAA,EAAC,IAAK,EAAA,GAAA,EAAI,OAAS,EAAA,WAAA,EACjC,QAAc,EAAA,aAAA,CAAA,EAAE,EAAI,EAAA,+BAAA,EAAiC,CACxD,EAAA;AAAA,OACF,EAAA;AAAA,KACF,EAAA,CAAA;AAAA,oBACAb,cAAA,CAACU,iBAAK,EAAA,EAAA,cAAA,EAAe,QACnB,EAAA,QAAA,kBAAAV,cAAA,CAACQ,gBAAI,EAAA,EAAA,UAAA,EAAY,CACf,EAAA,QAAA,kBAAAR,cAAA,CAACc,iBAAK,EAAA,EAAA,GAAA,EAAKC,sBAAS,EAAA,EAAA,EAAG,yBACrB,QAAC,kBAAAf,cAAA,CAAAS,uBAAA,EAAA,EAAW,OAAQ,EAAA,IAAA,EACjB,QAAc,EAAA,aAAA,CAAA,EAAE,EAAI,EAAA,2BAAA,EAA6B,CAAA,EACpD,CACF,EAAA,CAAA,EACF,CACF,EAAA;AAAA,GAAA,EACF,CACF,EAAA,CAAA;AAEJ,CAAA;AAEA,MAAM,WAAA,GAAcO,wBAAOC,oBAAO,CAAA;AAAA;AAAA,CAAA;;AC9E3B,MAAM,KAAQ,GAAA;AAAA,EACnB,SAAW,EAAA;AACb;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants-CRj0ViV1.mjs","sources":["../../admin/src/pages/Settings/components/Tokens/constants.ts"],"sourcesContent":["export const API_TOKEN_TYPE = 'api-token';\nexport const TRANSFER_TOKEN_TYPE = 'transfer-token';\n"],"names":[],"mappings":"AAAO,MAAM,cAAiB,GAAA,YAAA;AACvB,MAAM,mBAAsB,GAAA;;;;"}
1
+ {"version":3,"file":"constants-CRj0ViV1.mjs","sources":["../../admin/src/pages/Settings/components/Tokens/constants.ts"],"sourcesContent":["export const API_TOKEN_TYPE = 'api-token';\nexport const TRANSFER_TOKEN_TYPE = 'transfer-token';\n"],"names":[],"mappings":"AAAO,MAAM,cAAiB,GAAA;AACvB,MAAM,mBAAsB,GAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants-DF68OPrs.js","sources":["../../admin/src/pages/Settings/components/Tokens/constants.ts"],"sourcesContent":["export const API_TOKEN_TYPE = 'api-token';\nexport const TRANSFER_TOKEN_TYPE = 'transfer-token';\n"],"names":[],"mappings":";;AAAO,MAAM,cAAiB,GAAA,YAAA;AACvB,MAAM,mBAAsB,GAAA;;;;;"}
1
+ {"version":3,"file":"constants-DF68OPrs.js","sources":["../../admin/src/pages/Settings/components/Tokens/constants.ts"],"sourcesContent":["export const API_TOKEN_TYPE = 'api-token';\nexport const TRANSFER_TOKEN_TYPE = 'transfer-token';\n"],"names":[],"mappings":";;AAAO,MAAM,cAAiB,GAAA;AACvB,MAAM,mBAAsB,GAAA;;;;;"}
@@ -267,6 +267,9 @@ const en = {
267
267
  "Settings.sso.form.registration.label": "Auto-registration",
268
268
  "Settings.sso.title": "Single Sign-On",
269
269
  "Settings.sso.not-available": "SSO is only available as part of a paid plan. Upgrade to configure additional sign-in & sign-up methods for your administration panel.",
270
+ "Settings.content-history.title": "Content History",
271
+ "Settings.content-history.description": "Get more control over every step of your content’s lifecycle.",
272
+ "Settings.content-history.not-available": "Content History is only available as part of a paid plan. Upgrade to get full control over your content's lifecycle.",
270
273
  "Settings.tokens.Button.cancel": "Cancel",
271
274
  "Settings.tokens.Button.regenerate": "Regenerate",
272
275
  "Settings.tokens.ListView.headers.createdAt": "Created at",
@@ -784,4 +787,4 @@ const en = {
784
787
  };
785
788
 
786
789
  export { Analytics, Documentation, Email, Password, Provider, ResetPasswordToken, Role, Username, Users, anErrorOccurred, clearLabel, dark, en as default, light, or, selectButtonTitle, skipToContent, submit };
787
- //# sourceMappingURL=en-BwH0BITJ.mjs.map
790
+ //# sourceMappingURL=en-BS7ztn-4.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"en-BwH0BITJ.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"en-BS7ztn-4.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -271,6 +271,9 @@ const en = {
271
271
  "Settings.sso.form.registration.label": "Auto-registration",
272
272
  "Settings.sso.title": "Single Sign-On",
273
273
  "Settings.sso.not-available": "SSO is only available as part of a paid plan. Upgrade to configure additional sign-in & sign-up methods for your administration panel.",
274
+ "Settings.content-history.title": "Content History",
275
+ "Settings.content-history.description": "Get more control over every step of your content’s lifecycle.",
276
+ "Settings.content-history.not-available": "Content History is only available as part of a paid plan. Upgrade to get full control over your content's lifecycle.",
274
277
  "Settings.tokens.Button.cancel": "Cancel",
275
278
  "Settings.tokens.Button.regenerate": "Regenerate",
276
279
  "Settings.tokens.ListView.headers.createdAt": "Created at",
@@ -805,4 +808,4 @@ exports.or = or;
805
808
  exports.selectButtonTitle = selectButtonTitle;
806
809
  exports.skipToContent = skipToContent;
807
810
  exports.submit = submit;
808
- //# sourceMappingURL=en-B_M3cPYZ.js.map
811
+ //# sourceMappingURL=en-CY1R-ci3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"en-B_M3cPYZ.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"en-CY1R-ci3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const en = require('./en-B_M3cPYZ.js');
5
+ const en = require('./en-CY1R-ci3.js');
6
6
 
7
7
 
8
8
 
9
9
  exports.default = en.default;
10
- //# sourceMappingURL=en-GB-CemeJNao.js.map
10
+ //# sourceMappingURL=en-GB-Bi4x4fHH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en-GB-Bi4x4fHH.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,6 @@
1
+ import en from './en-BS7ztn-4.mjs';
2
+
3
+
4
+
5
+ export { en as default };
6
+ //# sourceMappingURL=en-GB-CLX4m6_Z.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en-GB-CLX4m6_Z.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}