@strapi/admin 5.0.0-beta.7 → 5.0.0-beta.9

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 (320) hide show
  1. package/dist/admin/{AdminSeatInfo-f4TfgHFE.mjs → AdminSeatInfo-_UxgNKbX.mjs} +5 -5
  2. package/dist/admin/AdminSeatInfo-_UxgNKbX.mjs.map +1 -0
  3. package/dist/admin/{AdminSeatInfo-jSvlksaP.js → AdminSeatInfo-cqB8nHFZ.js} +5 -5
  4. package/dist/admin/AdminSeatInfo-cqB8nHFZ.js.map +1 -0
  5. package/dist/admin/{ApplicationInfoPage-aB-vx1uX.mjs → ApplicationInfoPage-6PD2owY8.mjs} +7 -7
  6. package/dist/admin/ApplicationInfoPage-6PD2owY8.mjs.map +1 -0
  7. package/dist/admin/{ApplicationInfoPage-75RPd0Ro.js → ApplicationInfoPage-S18loXTF.js} +7 -7
  8. package/dist/admin/ApplicationInfoPage-S18loXTF.js.map +1 -0
  9. package/dist/admin/{AuthResponse-YXlkDXrI.js → AuthResponse-EiDRhJY8.js} +3 -3
  10. package/dist/admin/AuthResponse-EiDRhJY8.js.map +1 -0
  11. package/dist/admin/{AuthResponse-HbQI8hB8.mjs → AuthResponse-Y4lblDuD.mjs} +3 -3
  12. package/dist/admin/AuthResponse-Y4lblDuD.mjs.map +1 -0
  13. package/dist/admin/{AuthenticatedLayout-xkecaUXJ.js → AuthenticatedLayout-MDNNJRPg.js} +96 -112
  14. package/dist/admin/AuthenticatedLayout-MDNNJRPg.js.map +1 -0
  15. package/dist/admin/{AuthenticatedLayout-LYVDZ-jl.mjs → AuthenticatedLayout-gOaUXjO8.mjs} +98 -114
  16. package/dist/admin/AuthenticatedLayout-gOaUXjO8.mjs.map +1 -0
  17. package/dist/admin/{CreateActionEE-9Z-woKCk.js → CreateActionEE-dGj-JbWV.js} +4 -4
  18. package/dist/admin/CreateActionEE-dGj-JbWV.js.map +1 -0
  19. package/dist/admin/{CreateActionEE-QiVnA7Rx.mjs → CreateActionEE-uBGAkLbn.mjs} +4 -4
  20. package/dist/admin/CreateActionEE-uBGAkLbn.mjs.map +1 -0
  21. package/dist/admin/{CreatePage-uHcWJ0EG.js → CreatePage-5V60DKB0.js} +5 -5
  22. package/dist/admin/{CreatePage-uHcWJ0EG.js.map → CreatePage-5V60DKB0.js.map} +1 -1
  23. package/dist/admin/{CreatePage-jsVARlnB.mjs → CreatePage-GD7KENsP.mjs} +3 -3
  24. package/dist/admin/{CreatePage-jsVARlnB.mjs.map → CreatePage-GD7KENsP.mjs.map} +1 -1
  25. package/dist/admin/{CreatePage-ZrJXDmLJ.js → CreatePage-Z_y-A5xj.js} +3 -3
  26. package/dist/admin/{CreatePage-ZrJXDmLJ.js.map → CreatePage-Z_y-A5xj.js.map} +1 -1
  27. package/dist/admin/{CreatePage-1iAK5V1h.mjs → CreatePage-puzZjQXr.mjs} +5 -5
  28. package/dist/admin/{CreatePage-1iAK5V1h.mjs.map → CreatePage-puzZjQXr.mjs.map} +1 -1
  29. package/dist/admin/{CreateView-HhvACL4t.js → CreateView-5V271zBl.js} +3 -3
  30. package/dist/admin/{CreateView-HhvACL4t.js.map → CreateView-5V271zBl.js.map} +1 -1
  31. package/dist/admin/{CreateView-tSUpjqXs.mjs → CreateView-EjqRVjU_.mjs} +3 -3
  32. package/dist/admin/{CreateView-tSUpjqXs.mjs.map → CreateView-EjqRVjU_.mjs.map} +1 -1
  33. package/dist/admin/{CreateView-1WqjD6uO.js → CreateView-VYprogwB.js} +3 -3
  34. package/dist/admin/{CreateView-1WqjD6uO.js.map → CreateView-VYprogwB.js.map} +1 -1
  35. package/dist/admin/{CreateView-Bi2p6uqA.mjs → CreateView-jM_w7R83.mjs} +3 -3
  36. package/dist/admin/{CreateView-Bi2p6uqA.mjs.map → CreateView-jM_w7R83.mjs.map} +1 -1
  37. package/dist/admin/{EditPage-xQSTfVfO.mjs → EditPage-8_dXc9y1.mjs} +6 -6
  38. package/dist/admin/{EditPage-xQSTfVfO.mjs.map → EditPage-8_dXc9y1.mjs.map} +1 -1
  39. package/dist/admin/{EditPage-JmGISZmG.mjs → EditPage-8fk5JEO7.mjs} +10 -10
  40. package/dist/admin/{EditPage-JmGISZmG.mjs.map → EditPage-8fk5JEO7.mjs.map} +1 -1
  41. package/dist/admin/{EditPage-LMYuiLOp.js → EditPage-HsLjcfgK.js} +6 -6
  42. package/dist/admin/{EditPage-LMYuiLOp.js.map → EditPage-HsLjcfgK.js.map} +1 -1
  43. package/dist/admin/{EditPage-yFuP3hZG.mjs → EditPage-W_qlhF-2.mjs} +9 -9
  44. package/dist/admin/{EditPage-yFuP3hZG.mjs.map → EditPage-W_qlhF-2.mjs.map} +1 -1
  45. package/dist/admin/{EditPage-2l5T1lDC.js → EditPage-WuJtih1X.js} +10 -10
  46. package/dist/admin/{EditPage-2l5T1lDC.js.map → EditPage-WuJtih1X.js.map} +1 -1
  47. package/dist/admin/{EditPage-MGQBBDmf.js → EditPage-vRwS2OJZ.js} +9 -9
  48. package/dist/admin/{EditPage-MGQBBDmf.js.map → EditPage-vRwS2OJZ.js.map} +1 -1
  49. package/dist/admin/{EditView-06IK7yeo.mjs → EditView-Cac025JW.mjs} +6 -6
  50. package/dist/admin/{EditView-06IK7yeo.mjs.map → EditView-Cac025JW.mjs.map} +1 -1
  51. package/dist/admin/{EditView-9cnQdotQ.js → EditView-lhhZAQtN.js} +6 -6
  52. package/dist/admin/{EditView-9cnQdotQ.js.map → EditView-lhhZAQtN.js.map} +1 -1
  53. package/dist/admin/{EditViewPage-ZTHin7cu.js → EditViewPage-Q7N1TLU9.js} +71 -95
  54. package/dist/admin/EditViewPage-Q7N1TLU9.js.map +1 -0
  55. package/dist/admin/{EditViewPage-x06h850j.mjs → EditViewPage-f56oKqQ-.mjs} +72 -96
  56. package/dist/admin/EditViewPage-f56oKqQ-.mjs.map +1 -0
  57. package/dist/admin/{EventsTable-uKf7y-DM.mjs → EventsTable-duSraBTj.mjs} +2 -2
  58. package/dist/admin/{EventsTable-uKf7y-DM.mjs.map → EventsTable-duSraBTj.mjs.map} +1 -1
  59. package/dist/admin/{EventsTable-i6DpZCjP.js → EventsTable-y6XT7dVi.js} +2 -2
  60. package/dist/admin/{EventsTable-i6DpZCjP.js.map → EventsTable-y6XT7dVi.js.map} +1 -1
  61. package/dist/admin/{HomePage-VKuqPKIc.js → HomePage-4Hk9puW_.js} +23 -20
  62. package/dist/admin/HomePage-4Hk9puW_.js.map +1 -0
  63. package/dist/admin/{HomePage-Dk_BC7we.mjs → HomePage-UTLFs-4n.mjs} +3 -3
  64. package/dist/admin/{HomePage-Dk_BC7we.mjs.map → HomePage-UTLFs-4n.mjs.map} +1 -1
  65. package/dist/admin/{HomePage-ytofle46.mjs → HomePage-d4h0KEnw.mjs} +23 -20
  66. package/dist/admin/HomePage-d4h0KEnw.mjs.map +1 -0
  67. package/dist/admin/{HomePage-tgoADIWe.js → HomePage-vTms2gld.js} +3 -3
  68. package/dist/admin/{HomePage-tgoADIWe.js.map → HomePage-vTms2gld.js.map} +1 -1
  69. package/dist/admin/{InstalledPluginsPage-5fDQJ3wY.js → InstalledPluginsPage-9ooKCsS7.js} +5 -5
  70. package/dist/admin/{InstalledPluginsPage-5fDQJ3wY.js.map → InstalledPluginsPage-9ooKCsS7.js.map} +1 -1
  71. package/dist/admin/{InstalledPluginsPage--iVM14K3.mjs → InstalledPluginsPage-nCdAsAAu.mjs} +5 -5
  72. package/dist/admin/{InstalledPluginsPage--iVM14K3.mjs.map → InstalledPluginsPage-nCdAsAAu.mjs.map} +1 -1
  73. package/dist/admin/{Layout-woodqxaL.mjs → Layout-Ax9QtxH1.mjs} +5 -5
  74. package/dist/admin/{Layout-woodqxaL.mjs.map → Layout-Ax9QtxH1.mjs.map} +1 -1
  75. package/dist/admin/{Layout-BYaZsvrJ.js → Layout-Bmmqv9h6.js} +5 -5
  76. package/dist/admin/{Layout-BYaZsvrJ.js.map → Layout-Bmmqv9h6.js.map} +1 -1
  77. package/dist/admin/{ListPage-MxOKlYmC.js → ListPage-10_h7FUt.js} +14 -14
  78. package/dist/admin/ListPage-10_h7FUt.js.map +1 -0
  79. package/dist/admin/{ListPage-7wUYXUgs.mjs → ListPage-4kGSO2Ri.mjs} +14 -14
  80. package/dist/admin/ListPage-4kGSO2Ri.mjs.map +1 -0
  81. package/dist/admin/{ListPage-XZshrlES.js → ListPage-4n-Xb2aE.js} +3 -3
  82. package/dist/admin/{ListPage-XZshrlES.js.map → ListPage-4n-Xb2aE.js.map} +1 -1
  83. package/dist/admin/{ListPage-V26wHeo6.js → ListPage-4nzagne8.js} +9 -9
  84. package/dist/admin/ListPage-4nzagne8.js.map +1 -0
  85. package/dist/admin/{ListPage-HCUzAC2B.mjs → ListPage-EPIYY3Uf.mjs} +9 -9
  86. package/dist/admin/ListPage-EPIYY3Uf.mjs.map +1 -0
  87. package/dist/admin/{ListPage-0zYjdNsU.js → ListPage-IgkmnCSY.js} +15 -20
  88. package/dist/admin/ListPage-IgkmnCSY.js.map +1 -0
  89. package/dist/admin/{ListPage-NURPzLD-.mjs → ListPage-OE9xQffQ.mjs} +8 -7
  90. package/dist/admin/{ListPage-NURPzLD-.mjs.map → ListPage-OE9xQffQ.mjs.map} +1 -1
  91. package/dist/admin/{ListPage-5OElNgYk.js → ListPage-TWLqkRt6.js} +8 -7
  92. package/dist/admin/{ListPage-5OElNgYk.js.map → ListPage-TWLqkRt6.js.map} +1 -1
  93. package/dist/admin/{ListPage-wtqw0RXL.mjs → ListPage-VGqEsiEA.mjs} +15 -20
  94. package/dist/admin/ListPage-VGqEsiEA.mjs.map +1 -0
  95. package/dist/admin/{ListPage-4VNlnYoD.mjs → ListPage-gbCO5Otz.mjs} +3 -3
  96. package/dist/admin/{ListPage-4VNlnYoD.mjs.map → ListPage-gbCO5Otz.mjs.map} +1 -1
  97. package/dist/admin/{ListView-hi5fg7r8.mjs → ListView-Zvs5X2St.mjs} +5 -5
  98. package/dist/admin/{ListView-hi5fg7r8.mjs.map → ListView-Zvs5X2St.mjs.map} +1 -1
  99. package/dist/admin/{ListView-VRdl68JN.mjs → ListView-gKrpPLEM.mjs} +5 -5
  100. package/dist/admin/{ListView-VRdl68JN.mjs.map → ListView-gKrpPLEM.mjs.map} +1 -1
  101. package/dist/admin/{ListView-SmHj4MFz.js → ListView-pT2a-fdi.js} +5 -5
  102. package/dist/admin/{ListView-SmHj4MFz.js.map → ListView-pT2a-fdi.js.map} +1 -1
  103. package/dist/admin/{ListView-siyyh4f7.js → ListView-uHb_Hgib.js} +5 -5
  104. package/dist/admin/{ListView-siyyh4f7.js.map → ListView-uHb_Hgib.js.map} +1 -1
  105. package/dist/admin/{Login-bGhxScoT.js → Login-EcSP4AMG.js} +3 -3
  106. package/dist/admin/{Login-bGhxScoT.js.map → Login-EcSP4AMG.js.map} +1 -1
  107. package/dist/admin/{Login-9hdTvAlD.mjs → Login-w4BUlNaE.mjs} +3 -3
  108. package/dist/admin/{Login-9hdTvAlD.mjs.map → Login-w4BUlNaE.mjs.map} +1 -1
  109. package/dist/admin/{MagicLinkEE-cAwS-v3S.mjs → MagicLinkEE-b9NK8XXY.mjs} +3 -3
  110. package/dist/admin/{MagicLinkEE-cAwS-v3S.mjs.map → MagicLinkEE-b9NK8XXY.mjs.map} +1 -1
  111. package/dist/admin/{MagicLinkEE-5c7HTc8n.js → MagicLinkEE-qT5OE9Pm.js} +3 -3
  112. package/dist/admin/{MagicLinkEE-5c7HTc8n.js.map → MagicLinkEE-qT5OE9Pm.js.map} +1 -1
  113. package/dist/admin/{MarketplacePage-t6FAhfMK.js → MarketplacePage-MVRrpUSk.js} +9 -11
  114. package/dist/admin/MarketplacePage-MVRrpUSk.js.map +1 -0
  115. package/dist/admin/{MarketplacePage-hCtNAEWd.mjs → MarketplacePage-oGhZBKgX.mjs} +9 -11
  116. package/dist/admin/MarketplacePage-oGhZBKgX.mjs.map +1 -0
  117. package/dist/admin/{Permissions-aRi-vOk-.js → Permissions-kNVZVLmu.js} +30 -50
  118. package/dist/admin/Permissions-kNVZVLmu.js.map +1 -0
  119. package/dist/admin/{Permissions-Ng22nlYS.mjs → Permissions-lf6dNG4S.mjs} +31 -51
  120. package/dist/admin/Permissions-lf6dNG4S.mjs.map +1 -0
  121. package/dist/admin/{PrivateRoute-hfATZKl-.mjs → PrivateRoute-1hyhztQM.mjs} +2 -2
  122. package/dist/admin/{PrivateRoute-hfATZKl-.mjs.map → PrivateRoute-1hyhztQM.mjs.map} +1 -1
  123. package/dist/admin/{PrivateRoute--JuZZan_.js → PrivateRoute-wBE5vMxe.js} +2 -2
  124. package/dist/admin/{PrivateRoute--JuZZan_.js.map → PrivateRoute-wBE5vMxe.js.map} +1 -1
  125. package/dist/admin/{ProfilePage-8ieqgIrW.js → ProfilePage-ZlpnTKEF.js} +8 -8
  126. package/dist/admin/{ProfilePage-8ieqgIrW.js.map → ProfilePage-ZlpnTKEF.js.map} +1 -1
  127. package/dist/admin/{ProfilePage-imi1Exl5.mjs → ProfilePage-zk-Py9wt.mjs} +8 -8
  128. package/dist/admin/{ProfilePage-imi1Exl5.mjs.map → ProfilePage-zk-Py9wt.mjs.map} +1 -1
  129. package/dist/admin/{PurchaseAuditLogs-xUopaGaS.js → PurchaseAuditLogs-9reb0oGz.js} +2 -2
  130. package/dist/admin/{PurchaseAuditLogs-xUopaGaS.js.map → PurchaseAuditLogs-9reb0oGz.js.map} +1 -1
  131. package/dist/admin/{PurchaseAuditLogs-RGCYZl25.mjs → PurchaseAuditLogs-iOYsTJA-.mjs} +2 -2
  132. package/dist/admin/{PurchaseAuditLogs-RGCYZl25.mjs.map → PurchaseAuditLogs-iOYsTJA-.mjs.map} +1 -1
  133. package/dist/admin/{PurchaseSingleSignOn-XOgkJmcn.js → PurchaseSingleSignOn-S3xLiiv7.js} +2 -2
  134. package/dist/admin/{PurchaseSingleSignOn-XOgkJmcn.js.map → PurchaseSingleSignOn-S3xLiiv7.js.map} +1 -1
  135. package/dist/admin/{PurchaseSingleSignOn-uMysWmJV.mjs → PurchaseSingleSignOn-X629iA7K.mjs} +2 -2
  136. package/dist/admin/{PurchaseSingleSignOn-uMysWmJV.mjs.map → PurchaseSingleSignOn-X629iA7K.mjs.map} +1 -1
  137. package/dist/admin/{SelectRoles-uO7YohIC.js → SelectRoles-hyiyvsCG.js} +5 -5
  138. package/dist/admin/SelectRoles-hyiyvsCG.js.map +1 -0
  139. package/dist/admin/{SelectRoles-kh6E_r88.mjs → SelectRoles-yM-LT458.mjs} +5 -5
  140. package/dist/admin/SelectRoles-yM-LT458.mjs.map +1 -0
  141. package/dist/admin/{SingleSignOnPage-bnlsJPDh.js → SingleSignOnPage-3Mfu4dgn.js} +6 -6
  142. package/dist/admin/{SingleSignOnPage-bnlsJPDh.js.map → SingleSignOnPage-3Mfu4dgn.js.map} +1 -1
  143. package/dist/admin/{SingleSignOnPage-T90Opl7K.mjs → SingleSignOnPage-wPZ1tqEk.mjs} +6 -6
  144. package/dist/admin/{SingleSignOnPage-T90Opl7K.mjs.map → SingleSignOnPage-wPZ1tqEk.mjs.map} +1 -1
  145. package/dist/admin/{Table-qGOQznHA.js → Table-N9PZc6xL.js} +4 -4
  146. package/dist/admin/{Table-qGOQznHA.js.map → Table-N9PZc6xL.js.map} +1 -1
  147. package/dist/admin/{Table-XkC1iUuN.mjs → Table-OcYvBab7.mjs} +4 -4
  148. package/dist/admin/{Table-XkC1iUuN.mjs.map → Table-OcYvBab7.mjs.map} +1 -1
  149. package/dist/admin/{TokenTypeSelect-733TgUaC.js → TokenTypeSelect-dWn05yGP.js} +7 -7
  150. package/dist/admin/TokenTypeSelect-dWn05yGP.js.map +1 -0
  151. package/dist/admin/{TokenTypeSelect-kjhQiPbj.mjs → TokenTypeSelect-v6IYPaBF.mjs} +6 -6
  152. package/dist/admin/TokenTypeSelect-v6IYPaBF.mjs.map +1 -0
  153. package/dist/admin/{UseCasePage-cNK2fN9i.mjs → UseCasePage-P4AFdcDQ.mjs} +4 -4
  154. package/dist/admin/{UseCasePage-cNK2fN9i.mjs.map → UseCasePage-P4AFdcDQ.mjs.map} +1 -1
  155. package/dist/admin/{UseCasePage-uk5jmSsj.js → UseCasePage-ijq-Bur_.js} +4 -4
  156. package/dist/admin/{UseCasePage-uk5jmSsj.js.map → UseCasePage-ijq-Bur_.js.map} +1 -1
  157. package/dist/admin/{admin-dE-jnuNr.mjs → admin-B6AW0Kov.mjs} +7 -28
  158. package/dist/admin/admin-B6AW0Kov.mjs.map +1 -0
  159. package/dist/admin/{admin-sk7xXllW.js → admin-p0djr5G6.js} +7 -28
  160. package/dist/admin/admin-p0djr5G6.js.map +1 -0
  161. package/dist/admin/{apiTokens-W-bmo-dU.mjs → apiTokens-YMUmHnrH.mjs} +7 -6
  162. package/dist/admin/apiTokens-YMUmHnrH.mjs.map +1 -0
  163. package/dist/admin/{apiTokens-amUH0Wax.js → apiTokens-YxfAnO7_.js} +7 -6
  164. package/dist/admin/apiTokens-YxfAnO7_.js.map +1 -0
  165. package/dist/admin/{constants-K5IOuR0b.mjs → constants-Z-zrJ7Zs.mjs} +3 -3
  166. package/dist/admin/{constants-K5IOuR0b.mjs.map → constants-Z-zrJ7Zs.mjs.map} +1 -1
  167. package/dist/admin/{constants-ZW8_ZgiN.js → constants-sfZ2gFzJ.js} +3 -3
  168. package/dist/admin/{constants-ZW8_ZgiN.js.map → constants-sfZ2gFzJ.js.map} +1 -1
  169. package/dist/admin/ee.js +1 -1
  170. package/dist/admin/ee.mjs +1 -1
  171. package/dist/admin/{en-zVbLVH-h.js → en-G-ukrF2h.js} +2 -1
  172. package/dist/admin/{en-zVbLVH-h.js.map → en-G-ukrF2h.js.map} +1 -1
  173. package/dist/admin/{en-D7rooMTs.mjs → en-K35WIWVM.mjs} +2 -1
  174. package/dist/admin/{en-D7rooMTs.mjs.map → en-K35WIWVM.mjs.map} +1 -1
  175. package/dist/admin/{index--VHJr8__.mjs → index-EQL2s09p.mjs} +106 -93
  176. package/dist/admin/index-EQL2s09p.mjs.map +1 -0
  177. package/dist/admin/{index-8r8zglVb.js → index-duYn5r8_.js} +107 -93
  178. package/dist/admin/index-duYn5r8_.js.map +1 -0
  179. package/dist/admin/index.js +8 -4
  180. package/dist/admin/index.js.map +1 -1
  181. package/dist/admin/index.mjs +3 -3
  182. package/dist/admin/{rbac-xo8GO653.js → rbac-5b9ylhpa.js} +8 -5
  183. package/dist/admin/rbac-5b9ylhpa.js.map +1 -0
  184. package/dist/admin/{rbac-OjYDiE2n.mjs → rbac-oJEkQdXG.mjs} +9 -6
  185. package/dist/admin/rbac-oJEkQdXG.mjs.map +1 -0
  186. package/dist/admin/{selectors-k4OkEbL7.mjs → selectors-Ilww6FA-.mjs} +2 -2
  187. package/dist/admin/{selectors-k4OkEbL7.mjs.map → selectors-Ilww6FA-.mjs.map} +1 -1
  188. package/dist/admin/{selectors-lQOnkFXz.js → selectors-NDEu6dJa.js} +2 -2
  189. package/dist/admin/{selectors-lQOnkFXz.js.map → selectors-NDEu6dJa.js.map} +1 -1
  190. package/dist/admin/src/StrapiApp.d.ts +1 -0
  191. package/dist/admin/src/components/Form.d.ts +7 -2
  192. package/dist/admin/src/components/FormInputs/Boolean.d.ts +2 -2
  193. package/dist/admin/src/components/FormInputs/Checkbox.d.ts +2 -2
  194. package/dist/admin/src/components/FormInputs/Date.d.ts +2 -2
  195. package/dist/admin/src/components/FormInputs/DateTime.d.ts +2 -2
  196. package/dist/admin/src/components/FormInputs/Email.d.ts +2 -1
  197. package/dist/admin/src/components/FormInputs/Enumeration.d.ts +2 -1
  198. package/dist/admin/src/components/FormInputs/Json.d.ts +2 -1
  199. package/dist/admin/src/components/FormInputs/Number.d.ts +2 -2
  200. package/dist/admin/src/components/FormInputs/Password.d.ts +2 -1
  201. package/dist/admin/src/components/FormInputs/Renderer.d.ts +2 -8
  202. package/dist/admin/src/components/FormInputs/String.d.ts +2 -1
  203. package/dist/admin/src/components/FormInputs/Textarea.d.ts +2 -1
  204. package/dist/admin/src/components/FormInputs/Time.d.ts +2 -2
  205. package/dist/admin/src/components/Layouts/GridLayout.d.ts +1 -1
  206. package/dist/admin/src/components/Layouts/Layout.d.ts +18 -0
  207. package/dist/admin/src/components/MainNav/NavLink.d.ts +3 -3
  208. package/dist/admin/src/components/PageHelpers.d.ts +1 -1
  209. package/dist/admin/src/core/store/configure.d.ts +3 -9
  210. package/dist/admin/src/core/store/hooks.d.ts +3 -9
  211. package/dist/admin/src/features/Tracking.d.ts +1 -1
  212. package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
  213. package/dist/admin/src/hooks/useFetchClient.d.ts +1 -6
  214. package/dist/admin/src/hooks/useMenu.d.ts +1 -1
  215. package/dist/admin/src/index.d.ts +5 -3
  216. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/{CollabsableContentType.d.ts → CollapsableContentType.d.ts} +1 -3
  217. package/dist/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.d.ts +2 -4
  218. package/dist/admin/src/pages/Settings/pages/Roles/components/RoleRow.d.ts +1 -1
  219. package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
  220. package/dist/admin/src/selectors.d.ts +2 -6
  221. package/dist/admin/src/services/admin.d.ts +5 -5
  222. package/dist/admin/src/services/api.d.ts +11 -9
  223. package/dist/admin/src/services/apiTokens.d.ts +1 -1
  224. package/dist/admin/src/services/auth.d.ts +13 -11
  225. package/dist/admin/src/services/contentApi.d.ts +2 -2
  226. package/dist/admin/src/services/contentManager.d.ts +5 -1
  227. package/dist/admin/src/services/transferTokens.d.ts +2 -2
  228. package/dist/admin/src/services/users.d.ts +8 -8
  229. package/dist/admin/src/services/webhooks.d.ts +2 -2
  230. package/dist/admin/src/types/adminConfiguration.d.ts +90 -0
  231. package/dist/admin/src/utils/baseQuery.d.ts +6 -5
  232. package/dist/admin/src/utils/getFetchClient.d.ts +9 -9
  233. package/dist/admin/test.js +10 -7
  234. package/dist/admin/test.js.map +1 -1
  235. package/dist/admin/test.mjs +10 -7
  236. package/dist/admin/test.mjs.map +1 -1
  237. package/dist/admin/tests/utils.d.ts +1 -3
  238. package/dist/admin/{transferTokens-i692XANY.mjs → transferTokens-CNI0TFdA.mjs} +15 -5
  239. package/dist/admin/transferTokens-CNI0TFdA.mjs.map +1 -0
  240. package/dist/admin/{transferTokens-6WfQBaQ-.js → transferTokens-HcVXmOrq.js} +15 -4
  241. package/dist/admin/transferTokens-HcVXmOrq.js.map +1 -0
  242. package/dist/admin/{useAdminRoles-Y5UQ6Egv.js → useAdminRoles-2VDDweuC.js} +2 -2
  243. package/dist/admin/{useAdminRoles-Y5UQ6Egv.js.map → useAdminRoles-2VDDweuC.js.map} +1 -1
  244. package/dist/admin/{useAdminRoles-eVMCxlw1.mjs → useAdminRoles-cq3ZckdQ.mjs} +2 -2
  245. package/dist/admin/{useAdminRoles-eVMCxlw1.mjs.map → useAdminRoles-cq3ZckdQ.mjs.map} +1 -1
  246. package/dist/admin/{useLicenseLimitNotification-OHVMxaBa.mjs → useLicenseLimitNotification-1Xo24v-C.mjs} +3 -3
  247. package/dist/admin/{useLicenseLimitNotification-OHVMxaBa.mjs.map → useLicenseLimitNotification-1Xo24v-C.mjs.map} +1 -1
  248. package/dist/admin/{useLicenseLimitNotification-sfaZoueO.js → useLicenseLimitNotification-9iq0TFuF.js} +3 -3
  249. package/dist/admin/{useLicenseLimitNotification-sfaZoueO.js.map → useLicenseLimitNotification-9iq0TFuF.js.map} +1 -1
  250. package/dist/admin/{useLicenseLimits-mA4KtQ81.js → useLicenseLimits-FtmLXkwK.js} +2 -2
  251. package/dist/admin/{useLicenseLimits-mA4KtQ81.js.map → useLicenseLimits-FtmLXkwK.js.map} +1 -1
  252. package/dist/admin/{useLicenseLimits--WDjYzSj.mjs → useLicenseLimits-Jy6E6qc2.mjs} +2 -2
  253. package/dist/admin/{useLicenseLimits--WDjYzSj.mjs.map → useLicenseLimits-Jy6E6qc2.mjs.map} +1 -1
  254. package/dist/admin/{useWebhooks-0pDqX-k4.mjs → useWebhooks-bgdpL7W6.mjs} +5 -3
  255. package/dist/admin/useWebhooks-bgdpL7W6.mjs.map +1 -0
  256. package/dist/admin/{useWebhooks-BBj9Ew7F.js → useWebhooks-opYGugiT.js} +5 -3
  257. package/dist/admin/useWebhooks-opYGugiT.js.map +1 -0
  258. package/dist/admin/{validation-hp8oweyu.js → validation-6PUPWFkz.js} +2 -2
  259. package/dist/admin/{validation-hp8oweyu.js.map → validation-6PUPWFkz.js.map} +1 -1
  260. package/dist/admin/{validation-xeirflOd.mjs → validation-qUTUIssJ.mjs} +2 -2
  261. package/dist/admin/{validation-xeirflOd.mjs.map → validation-qUTUIssJ.mjs.map} +1 -1
  262. package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
  263. package/dist/ee/server/index.js +514 -446
  264. package/dist/ee/server/index.js.map +1 -1
  265. package/dist/ee/server/index.mjs +514 -444
  266. package/dist/ee/server/index.mjs.map +1 -1
  267. package/dist/package.json.d.ts +15 -15
  268. package/dist/server/index.js +44 -36
  269. package/dist/server/index.js.map +1 -1
  270. package/dist/server/index.mjs +44 -36
  271. package/dist/server/index.mjs.map +1 -1
  272. package/dist/server/src/controllers/admin.d.ts.map +1 -1
  273. package/dist/server/src/services/index.d.ts +7 -2
  274. package/dist/server/src/services/index.d.ts.map +1 -1
  275. package/dist/server/src/services/metrics.d.ts +8 -6
  276. package/dist/server/src/services/metrics.d.ts.map +1 -1
  277. package/dist/shared/contracts/webhooks.d.ts +5 -5
  278. package/dist/shared/contracts/webhooks.d.ts.map +1 -1
  279. package/package.json +16 -16
  280. package/strapi-server.js +1 -0
  281. package/dist/admin/AdminSeatInfo-f4TfgHFE.mjs.map +0 -1
  282. package/dist/admin/AdminSeatInfo-jSvlksaP.js.map +0 -1
  283. package/dist/admin/ApplicationInfoPage-75RPd0Ro.js.map +0 -1
  284. package/dist/admin/ApplicationInfoPage-aB-vx1uX.mjs.map +0 -1
  285. package/dist/admin/AuthResponse-HbQI8hB8.mjs.map +0 -1
  286. package/dist/admin/AuthResponse-YXlkDXrI.js.map +0 -1
  287. package/dist/admin/AuthenticatedLayout-LYVDZ-jl.mjs.map +0 -1
  288. package/dist/admin/AuthenticatedLayout-xkecaUXJ.js.map +0 -1
  289. package/dist/admin/CreateActionEE-9Z-woKCk.js.map +0 -1
  290. package/dist/admin/CreateActionEE-QiVnA7Rx.mjs.map +0 -1
  291. package/dist/admin/EditViewPage-ZTHin7cu.js.map +0 -1
  292. package/dist/admin/EditViewPage-x06h850j.mjs.map +0 -1
  293. package/dist/admin/HomePage-VKuqPKIc.js.map +0 -1
  294. package/dist/admin/HomePage-ytofle46.mjs.map +0 -1
  295. package/dist/admin/ListPage-0zYjdNsU.js.map +0 -1
  296. package/dist/admin/ListPage-7wUYXUgs.mjs.map +0 -1
  297. package/dist/admin/ListPage-HCUzAC2B.mjs.map +0 -1
  298. package/dist/admin/ListPage-MxOKlYmC.js.map +0 -1
  299. package/dist/admin/ListPage-V26wHeo6.js.map +0 -1
  300. package/dist/admin/ListPage-wtqw0RXL.mjs.map +0 -1
  301. package/dist/admin/MarketplacePage-hCtNAEWd.mjs.map +0 -1
  302. package/dist/admin/MarketplacePage-t6FAhfMK.js.map +0 -1
  303. package/dist/admin/Permissions-Ng22nlYS.mjs.map +0 -1
  304. package/dist/admin/Permissions-aRi-vOk-.js.map +0 -1
  305. package/dist/admin/SelectRoles-kh6E_r88.mjs.map +0 -1
  306. package/dist/admin/SelectRoles-uO7YohIC.js.map +0 -1
  307. package/dist/admin/TokenTypeSelect-733TgUaC.js.map +0 -1
  308. package/dist/admin/TokenTypeSelect-kjhQiPbj.mjs.map +0 -1
  309. package/dist/admin/admin-dE-jnuNr.mjs.map +0 -1
  310. package/dist/admin/admin-sk7xXllW.js.map +0 -1
  311. package/dist/admin/apiTokens-W-bmo-dU.mjs.map +0 -1
  312. package/dist/admin/apiTokens-amUH0Wax.js.map +0 -1
  313. package/dist/admin/index--VHJr8__.mjs.map +0 -1
  314. package/dist/admin/index-8r8zglVb.js.map +0 -1
  315. package/dist/admin/rbac-OjYDiE2n.mjs.map +0 -1
  316. package/dist/admin/rbac-xo8GO653.js.map +0 -1
  317. package/dist/admin/transferTokens-6WfQBaQ-.js.map +0 -1
  318. package/dist/admin/transferTokens-i692XANY.mjs.map +0 -1
  319. package/dist/admin/useWebhooks-0pDqX-k4.mjs.map +0 -1
  320. package/dist/admin/useWebhooks-BBj9Ew7F.js.map +0 -1
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
2
  const path = require("path");
4
3
  const fse = require("fs-extra");
5
4
  const koaStatic = require("koa-static");
@@ -7,16 +6,14 @@ const fp = require("lodash/fp");
7
6
  const dateFns = require("date-fns");
8
7
  const utils$1 = require("@strapi/utils");
9
8
  require("@strapi/types");
10
- const localProvider = require("@strapi/provider-audit-logs-local");
11
- const nodeSchedule = require("node-schedule");
12
9
  const _ = require("lodash");
13
10
  const passportLocal = require("passport-local");
14
11
  const passport$2 = require("koa-passport");
15
12
  const compose = require("koa-compose");
13
+ const nodeSchedule = require("node-schedule");
16
14
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
17
15
  const fse__default = /* @__PURE__ */ _interopDefault(fse);
18
16
  const koaStatic__default = /* @__PURE__ */ _interopDefault(koaStatic);
19
- const localProvider__default = /* @__PURE__ */ _interopDefault(localProvider);
20
17
  const ___default = /* @__PURE__ */ _interopDefault(_);
21
18
  const passport__default = /* @__PURE__ */ _interopDefault(passport$2);
22
19
  const compose__default = /* @__PURE__ */ _interopDefault(compose);
@@ -233,203 +230,9 @@ const executeCERegister = ({ strapi: strapi2 }) => {
233
230
  registerAdminPanelRoute({ strapi: strapi2 });
234
231
  }
235
232
  };
236
- async function migrateAuditLogsTable({ oldContentTypes, contentTypes }) {
237
- const oldName = oldContentTypes?.["admin::audit-log"]?.collectionName;
238
- const newName = contentTypes["admin::audit-log"]?.collectionName;
239
- const hasRenamedAuditLogsTable = oldName === "audit_logs" && newName === "strapi_audit_logs";
240
- if (!hasRenamedAuditLogsTable) {
241
- return;
242
- }
243
- const hasAuditLogsTable = await strapi.db.getSchemaConnection().hasTable("audit_logs");
244
- const hasLinkTable = await strapi.db.getSchemaConnection().hasTable("audit_logs_user_links");
245
- if (!hasAuditLogsTable || !hasLinkTable) {
246
- return;
247
- }
248
- const auditLogsColumnInfo = await strapi.db.connection("audit_logs").columnInfo();
249
- const linkColumnInfo = await strapi.db.connection("audit_logs_user_links").columnInfo();
250
- if (!auditLogsColumnInfo.action || !auditLogsColumnInfo.date || !auditLogsColumnInfo.payload || !linkColumnInfo.audit_log_id || !linkColumnInfo.user_id) {
251
- return;
252
- }
253
- await strapi.db.getSchemaConnection().renameTable("audit_logs", "strapi_audit_logs");
254
- await strapi.db.getSchemaConnection().renameTable("audit_logs_user_links", "strapi_audit_logs_user_links");
255
- }
256
- const DEFAULT_RETENTION_DAYS = 90;
257
- const defaultEvents = [
258
- "entry.create",
259
- "entry.update",
260
- "entry.delete",
261
- "entry.publish",
262
- "entry.unpublish",
263
- "media.create",
264
- "media.update",
265
- "media.delete",
266
- "media-folder.create",
267
- "media-folder.update",
268
- "media-folder.delete",
269
- "user.create",
270
- "user.update",
271
- "user.delete",
272
- "admin.auth.success",
273
- "admin.logout",
274
- "content-type.create",
275
- "content-type.update",
276
- "content-type.delete",
277
- "component.create",
278
- "component.update",
279
- "component.delete",
280
- "role.create",
281
- "role.update",
282
- "role.delete",
283
- "permission.create",
284
- "permission.update",
285
- "permission.delete"
286
- ];
287
- const getSanitizedUser = (user2) => {
288
- let displayName = user2.email;
289
- if (user2.username) {
290
- displayName = user2.username;
291
- } else if (user2.firstname && user2.lastname) {
292
- displayName = `${user2.firstname} ${user2.lastname}`;
293
- }
294
- return {
295
- id: user2.id,
296
- email: user2.email,
297
- displayName
298
- };
299
- };
300
- const getEventMap = (defaultEvents2) => {
301
- const getDefaultPayload = (...args) => args[0];
302
- return defaultEvents2.reduce((acc, event) => {
303
- acc[event] = getDefaultPayload;
304
- return acc;
305
- }, {});
306
- };
307
- const getRetentionDays = (strapi2) => {
308
- const licenseRetentionDays = strapi2.ee.features.get("audit-logs")?.options.retentionDays;
309
- const userRetentionDays = strapi2.config.get("admin.auditLogs.retentionDays");
310
- if (licenseRetentionDays == null) {
311
- return userRetentionDays ?? DEFAULT_RETENTION_DAYS;
312
- }
313
- if (userRetentionDays && userRetentionDays < licenseRetentionDays) {
314
- return userRetentionDays;
315
- }
316
- return licenseRetentionDays;
317
- };
318
- const createAuditLogsService = (strapi2) => {
319
- const state = {};
320
- const eventMap = getEventMap(defaultEvents);
321
- const processEvent = (name2, ...args) => {
322
- const requestState = strapi2.requestContext.get()?.state;
323
- const isUsingAdminAuth = requestState?.auth?.strategy.name === "admin";
324
- const user2 = requestState?.user;
325
- if (!isUsingAdminAuth || !user2) {
326
- return null;
327
- }
328
- const getPayload = eventMap[name2];
329
- if (!getPayload) {
330
- return null;
331
- }
332
- const ignoredUids = ["plugin::upload.file", "plugin::upload.folder"];
333
- if (ignoredUids.includes(args[0]?.uid)) {
334
- return null;
335
- }
336
- return {
337
- action: name2,
338
- date: (/* @__PURE__ */ new Date()).toISOString(),
339
- payload: getPayload(...args) || {},
340
- userId: user2.id
341
- };
342
- };
343
- async function handleEvent(name2, ...args) {
344
- const processedEvent = processEvent(name2, ...args);
345
- if (processedEvent) {
346
- await strapi2.db.transaction(({ onCommit }) => {
347
- onCommit(() => state.provider.saveEvent(processedEvent));
348
- });
349
- }
350
- }
351
- return {
352
- async register() {
353
- if (!state.eeEnableUnsubscribe) {
354
- state.eeEnableUnsubscribe = strapi2.eventHub.on("ee.enable", () => {
355
- this.destroy();
356
- this.register();
357
- });
358
- }
359
- if (!state.eeUpdateUnsubscribe) {
360
- state.eeUpdateUnsubscribe = strapi2.eventHub.on("ee.update", () => {
361
- this.destroy();
362
- this.register();
363
- });
364
- }
365
- state.eeDisableUnsubscribe = strapi2.eventHub.on("ee.disable", () => {
366
- this.destroy();
367
- });
368
- state.provider = await localProvider__default.default.register({ strapi: strapi2 });
369
- if (!strapi2.ee.features.isEnabled("audit-logs")) {
370
- return this;
371
- }
372
- state.eventHubUnsubscribe = strapi2.eventHub.subscribe(handleEvent.bind(this));
373
- const retentionDays = getRetentionDays(strapi2);
374
- state.deleteExpiredJob = nodeSchedule.scheduleJob("0 0 * * *", () => {
375
- const expirationDate = new Date(Date.now() - retentionDays * 24 * 60 * 60 * 1e3);
376
- state.provider.deleteExpiredEvents(expirationDate);
377
- });
378
- return this;
379
- },
380
- async findMany(query) {
381
- const { results, pagination } = await state.provider.findMany(query);
382
- const sanitizedResults = results.map((result) => {
383
- const { user: user2, ...rest } = result;
384
- return {
385
- ...rest,
386
- user: user2 ? getSanitizedUser(user2) : null
387
- };
388
- });
389
- return {
390
- results: sanitizedResults,
391
- pagination
392
- };
393
- },
394
- async findOne(id) {
395
- const result = await state.provider.findOne(id);
396
- if (!result) {
397
- return null;
398
- }
399
- const { user: user2, ...rest } = result;
400
- return {
401
- ...rest,
402
- user: user2 ? getSanitizedUser(user2) : null
403
- };
404
- },
405
- unsubscribe() {
406
- if (state.eeDisableUnsubscribe) {
407
- state.eeDisableUnsubscribe();
408
- }
409
- if (state.eventHubUnsubscribe) {
410
- state.eventHubUnsubscribe();
411
- }
412
- if (state.deleteExpiredJob) {
413
- state.deleteExpiredJob.cancel();
414
- }
415
- return this;
416
- },
417
- destroy() {
418
- return this.unsubscribe();
419
- }
420
- };
421
- };
422
233
  const register = async ({ strapi: strapi2 }) => {
423
- const auditLogsIsEnabled = strapi2.config.get("admin.auditLogs.enabled", true);
424
- if (auditLogsIsEnabled) {
425
- strapi2.hook("strapi::content-types.beforeSync").register(migrateAuditLogsTable);
426
- const auditLogsService = createAuditLogsService(strapi2);
427
- strapi2.add("audit-logs", auditLogsService);
428
- await auditLogsService.register();
429
- }
430
234
  await executeCERegister({ strapi: strapi2 });
431
235
  };
432
- const index$3 = {};
433
236
  const actions$1 = [
434
237
  {
435
238
  uid: "marketplace.read",
@@ -736,7 +539,7 @@ const executeCEBootstrap = async ({ strapi: strapi2 }) => {
736
539
  await userService.displayWarningIfUsersDontHaveRole();
737
540
  await syncAuthSettings();
738
541
  await syncAPITokensPermissions();
739
- getService$1("metrics").sendUpdateProjectInformation(strapi2);
542
+ await getService$1("metrics").sendUpdateProjectInformation(strapi2);
740
543
  getService$1("metrics").startCron(strapi2);
741
544
  apiTokenService.checkSaltIsDefined();
742
545
  transferService.token.checkSaltIsDefined();
@@ -834,222 +637,78 @@ const executeCEDestroy = async () => {
834
637
  await actionProvider.clear();
835
638
  };
836
639
  const destroy = async ({ strapi: strapi2 }) => {
837
- if (strapi2.ee.features.isEnabled("audit-logs")) {
838
- strapi2.get("audit-logs").destroy();
839
- }
840
640
  await executeCEDestroy();
841
641
  };
842
- const enableFeatureMiddleware = (featureName) => (ctx, next) => {
843
- if (strapi.ee.features.isEnabled(featureName)) {
844
- return next();
642
+ const adminContentTypes = {};
643
+ const isSsoLocked = async (user2) => {
644
+ if (!strapi.ee.features.isEnabled("sso")) {
645
+ return false;
845
646
  }
846
- ctx.status = 404;
647
+ if (!user2) {
648
+ throw new Error("Missing user object");
649
+ }
650
+ const adminStore = await strapi.store({ type: "core", name: "admin" });
651
+ const { providers } = await adminStore.get({ key: "auth" });
652
+ const lockedRoles = providers.ssoLockedRoles ?? [];
653
+ if (fp.isEmpty(lockedRoles)) {
654
+ return false;
655
+ }
656
+ const roles2 = (
657
+ // If the roles are pre-loaded for the given user, then use them
658
+ user2.roles ?? // Otherwise, try to load the role based on the given user ID
659
+ await strapi.db.query("admin::user").load(user2, "roles", { roles: { fields: ["id"] } }) ?? // If the query fails somehow, default to an empty array
660
+ []
661
+ );
662
+ const isLocked = lockedRoles.some(
663
+ (lockedId) => (
664
+ // lockedRoles will be a string to avoid issues with frontend and bigints
665
+ roles2.some((role2) => lockedId === role2.id.toString())
666
+ )
667
+ );
668
+ return isLocked;
847
669
  };
848
- const sso$1 = {
849
- type: "admin",
850
- routes: [
670
+ const { ApplicationError: ApplicationError$2 } = utils$1.errors;
671
+ const forgotPassword = async ({ email: email2 } = {}) => {
672
+ const user2 = await strapi.db.query("admin::user").findOne({ where: { email: email2, isActive: true } });
673
+ if (!user2 || await isSsoLocked(user2)) {
674
+ return;
675
+ }
676
+ const resetPasswordToken = getService("token").createToken();
677
+ await getService("user").updateById(user2.id, { resetPasswordToken });
678
+ const url = `${strapi.config.get(
679
+ "admin.absoluteUrl"
680
+ )}/auth/reset-password?code=${resetPasswordToken}`;
681
+ return strapi.plugin("email").service("email").sendTemplatedEmail(
851
682
  {
852
- method: "GET",
853
- path: "/providers",
854
- handler: "authentication.getProviders",
855
- config: {
856
- middlewares: [enableFeatureMiddleware("sso")],
857
- auth: false
858
- }
683
+ to: user2.email,
684
+ from: strapi.config.get("admin.forgotPassword.from"),
685
+ replyTo: strapi.config.get("admin.forgotPassword.replyTo")
859
686
  },
687
+ strapi.config.get("admin.forgotPassword.emailTemplate"),
860
688
  {
861
- method: "GET",
862
- path: "/connect/:provider",
863
- handler: "authentication.providerLogin",
864
- config: {
865
- middlewares: [enableFeatureMiddleware("sso")],
866
- auth: false
867
- }
868
- },
869
- {
870
- method: "POST",
871
- path: "/connect/:provider",
872
- handler: "authentication.providerLogin",
873
- config: {
874
- middlewares: [enableFeatureMiddleware("sso")],
875
- auth: false
876
- }
877
- },
878
- {
879
- method: "GET",
880
- path: "/providers/options",
881
- handler: "authentication.getProviderLoginOptions",
882
- config: {
883
- middlewares: [enableFeatureMiddleware("sso")],
884
- policies: [
885
- "admin::isAuthenticatedAdmin",
886
- { name: "admin::hasPermissions", config: { actions: ["admin::provider-login.read"] } }
887
- ]
888
- }
889
- },
890
- {
891
- method: "PUT",
892
- path: "/providers/options",
893
- handler: "authentication.updateProviderLoginOptions",
894
- config: {
895
- middlewares: [enableFeatureMiddleware("sso")],
896
- policies: [
897
- "admin::isAuthenticatedAdmin",
898
- { name: "admin::hasPermissions", config: { actions: ["admin::provider-login.update"] } }
899
- ]
900
- }
901
- },
902
- {
903
- method: "GET",
904
- path: "/providers/isSSOLocked",
905
- handler: "user.isSSOLocked",
906
- config: {
907
- middlewares: [enableFeatureMiddleware("sso")],
908
- policies: ["admin::isAuthenticatedAdmin"]
909
- }
910
- }
911
- ]
912
- };
913
- const licenseLimit = {
914
- type: "admin",
915
- routes: [
916
- // License limit infos
917
- {
918
- method: "GET",
919
- path: "/license-limit-information",
920
- handler: "admin.licenseLimitInformation",
921
- config: {
922
- policies: [
923
- "admin::isAuthenticatedAdmin",
924
- {
925
- name: "admin::hasPermissions",
926
- config: {
927
- actions: [
928
- "admin::users.create",
929
- "admin::users.read",
930
- "admin::users.update",
931
- "admin::users.delete"
932
- ]
933
- }
934
- }
935
- ]
936
- }
937
- }
938
- ]
939
- };
940
- const auditLogs$1 = {
941
- type: "admin",
942
- routes: [
943
- {
944
- method: "GET",
945
- path: "/audit-logs",
946
- handler: "auditLogs.findMany",
947
- config: {
948
- middlewares: [enableFeatureMiddleware("audit-logs")],
949
- policies: [
950
- "admin::isAuthenticatedAdmin",
951
- {
952
- name: "admin::hasPermissions",
953
- config: {
954
- actions: ["admin::audit-logs.read"]
955
- }
956
- }
957
- ]
958
- }
959
- },
960
- {
961
- method: "GET",
962
- path: "/audit-logs/:id",
963
- handler: "auditLogs.findOne",
964
- config: {
965
- middlewares: [enableFeatureMiddleware("audit-logs")],
966
- policies: [
967
- "admin::isAuthenticatedAdmin",
968
- {
969
- name: "admin::hasPermissions",
970
- config: {
971
- actions: ["admin::audit-logs.read"]
972
- }
973
- }
974
- ]
975
- }
976
- }
977
- ]
978
- };
979
- const index$2 = {
980
- sso: sso$1,
981
- "license-limit": licenseLimit,
982
- "audit-logs": auditLogs$1
983
- };
984
- const isSsoLocked = async (user2) => {
985
- if (!strapi.ee.features.isEnabled("sso")) {
986
- return false;
987
- }
988
- if (!user2) {
989
- throw new Error("Missing user object");
990
- }
991
- const adminStore = await strapi.store({ type: "core", name: "admin" });
992
- const { providers } = await adminStore.get({ key: "auth" });
993
- const lockedRoles = providers.ssoLockedRoles ?? [];
994
- if (fp.isEmpty(lockedRoles)) {
995
- return false;
996
- }
997
- const roles2 = (
998
- // If the roles are pre-loaded for the given user, then use them
999
- user2.roles ?? // Otherwise, try to load the role based on the given user ID
1000
- await strapi.db.query("admin::user").load(user2, "roles", { roles: { fields: ["id"] } }) ?? // If the query fails somehow, default to an empty array
1001
- []
1002
- );
1003
- const isLocked = lockedRoles.some(
1004
- (lockedId) => (
1005
- // lockedRoles will be a string to avoid issues with frontend and bigints
1006
- roles2.some((role2) => lockedId === role2.id.toString())
1007
- )
1008
- );
1009
- return isLocked;
1010
- };
1011
- const { ApplicationError: ApplicationError$2 } = utils$1.errors;
1012
- const forgotPassword = async ({ email: email2 } = {}) => {
1013
- const user2 = await strapi.db.query("admin::user").findOne({ where: { email: email2, isActive: true } });
1014
- if (!user2 || await isSsoLocked(user2)) {
1015
- return;
1016
- }
1017
- const resetPasswordToken = getService("token").createToken();
1018
- await getService("user").updateById(user2.id, { resetPasswordToken });
1019
- const url = `${strapi.config.get(
1020
- "admin.absoluteUrl"
1021
- )}/auth/reset-password?code=${resetPasswordToken}`;
1022
- return strapi.plugin("email").service("email").sendTemplatedEmail(
1023
- {
1024
- to: user2.email,
1025
- from: strapi.config.get("admin.forgotPassword.from"),
1026
- replyTo: strapi.config.get("admin.forgotPassword.replyTo")
1027
- },
1028
- strapi.config.get("admin.forgotPassword.emailTemplate"),
1029
- {
1030
- url,
1031
- user: ___default.default.pick(user2, ["email", "firstname", "lastname", "username"])
1032
- }
1033
- ).catch((err) => {
1034
- strapi.log.error(err);
1035
- });
1036
- };
1037
- const resetPassword = async ({ resetPasswordToken, password: password2 } = {}) => {
1038
- const matchingUser = await strapi.db.query("admin::user").findOne({ where: { resetPasswordToken, isActive: true } });
1039
- if (!matchingUser || await isSsoLocked(matchingUser)) {
1040
- throw new ApplicationError$2();
1041
- }
1042
- return getService("user").updateById(matchingUser.id, {
1043
- password: password2,
1044
- resetPasswordToken: null
1045
- });
1046
- };
1047
- const auth = {
1048
- forgotPassword,
1049
- resetPassword
1050
- };
1051
- const createLocalStrategy = (strapi2, middleware) => {
1052
- return new passportLocal.Strategy(
689
+ url,
690
+ user: ___default.default.pick(user2, ["email", "firstname", "lastname", "username"])
691
+ }
692
+ ).catch((err) => {
693
+ strapi.log.error(err);
694
+ });
695
+ };
696
+ const resetPassword = async ({ resetPasswordToken, password: password2 } = {}) => {
697
+ const matchingUser = await strapi.db.query("admin::user").findOne({ where: { resetPasswordToken, isActive: true } });
698
+ if (!matchingUser || await isSsoLocked(matchingUser)) {
699
+ throw new ApplicationError$2();
700
+ }
701
+ return getService("user").updateById(matchingUser.id, {
702
+ password: password2,
703
+ resetPasswordToken: null
704
+ });
705
+ };
706
+ const auth = {
707
+ forgotPassword,
708
+ resetPassword
709
+ };
710
+ const createLocalStrategy = (strapi2, middleware) => {
711
+ return new passportLocal.Strategy(
1053
712
  {
1054
713
  usernameField: "email",
1055
714
  passwordField: "password",
@@ -1126,7 +785,7 @@ const syncProviderRegistryWithConfig = () => {
1126
785
  const SSOAuthEventsMapper = {
1127
786
  onSSOAutoRegistration: "admin.auth.autoRegistration"
1128
787
  };
1129
- const sso = {
788
+ const sso$1 = {
1130
789
  providerRegistry,
1131
790
  getStrategyCallbackURL,
1132
791
  syncProviderRegistryWithConfig,
@@ -1151,15 +810,15 @@ const getPassportStrategies = () => {
1151
810
  }
1152
811
  const localStrategy = createLocalStrategy(strapi, localStrategyMiddleware);
1153
812
  if (!strapi.isLoaded) {
1154
- sso.syncProviderRegistryWithConfig();
813
+ sso$1.syncProviderRegistryWithConfig();
1155
814
  }
1156
- const providers = sso.providerRegistry.getAll();
815
+ const providers = sso$1.providerRegistry.getAll();
1157
816
  const strategies = providers.map((provider) => provider.createStrategy(strapi));
1158
817
  return [localStrategy, ...strategies];
1159
818
  };
1160
819
  const passport = {
1161
820
  getPassportStrategies,
1162
- ...sso
821
+ ...sso$1
1163
822
  };
1164
823
  const { ApplicationError: ApplicationError$1 } = utils$1.errors;
1165
824
  const ssoCheckRolesIdForDeletion = async (ids) => {
@@ -1350,7 +1009,7 @@ const sendUpdateProjectInformation = async (strapi2) => {
1350
1009
  if (strapi2.ee.features.isEnabled("cms-content-releases")) {
1351
1010
  const numberOfContentReleases = await strapi2.db.query("plugin::content-releases.release").count();
1352
1011
  const numberOfPublishedContentReleases = await strapi2.db.query("plugin::content-releases.release").count({
1353
- where: { $not: { releasedAt: null } }
1012
+ filters: { releasedAt: { $notNull: true } }
1354
1013
  });
1355
1014
  groupProperties = fp.assign(groupProperties, {
1356
1015
  numberOfContentReleases,
@@ -1450,7 +1109,7 @@ const seatEnforcement = {
1450
1109
  seatEnforcementWorkflow,
1451
1110
  getDisabledUserList
1452
1111
  };
1453
- const index$1 = {
1112
+ const services = {
1454
1113
  auth,
1455
1114
  passport,
1456
1115
  role: role$1,
@@ -2031,29 +1690,6 @@ const user = {
2031
1690
  };
2032
1691
  }
2033
1692
  };
2034
- const ALLOWED_SORT_STRINGS = ["action:ASC", "action:DESC", "date:ASC", "date:DESC"];
2035
- const validateFindManySchema = utils$1.yup.object().shape({
2036
- page: utils$1.yup.number().integer().min(1),
2037
- pageSize: utils$1.yup.number().integer().min(1).max(100),
2038
- sort: utils$1.yup.mixed().oneOf(ALLOWED_SORT_STRINGS)
2039
- }).required();
2040
- const validateFindMany = utils$1.validateYupSchema(validateFindManySchema, { strict: false });
2041
- const auditLogs = {
2042
- async findMany(ctx) {
2043
- const { query } = ctx.request;
2044
- await validateFindMany(query);
2045
- const auditLogs2 = strapi.get("audit-logs");
2046
- const body = await auditLogs2.findMany(query);
2047
- ctx.body = body;
2048
- },
2049
- async findOne(ctx) {
2050
- const { id } = ctx.params;
2051
- const auditLogs2 = strapi.get("audit-logs");
2052
- const body = await auditLogs2.findOne(id);
2053
- ctx.body = body;
2054
- strapi.telemetry.send("didWatchAnAuditLog");
2055
- }
2056
- };
2057
1693
  const admin = {
2058
1694
  // NOTE: Overrides CE admin controller
2059
1695
  async getProjectType() {
@@ -2097,18 +1733,450 @@ const admin = {
2097
1733
  return { data };
2098
1734
  }
2099
1735
  };
2100
- const index = {
1736
+ const controllers = {
2101
1737
  authentication,
2102
1738
  role,
2103
1739
  user,
2104
- auditLogs,
2105
1740
  admin
2106
1741
  };
2107
- exports.bootstrap = bootstrap;
2108
- exports.contentTypes = index$3;
2109
- exports.controllers = index;
2110
- exports.destroy = destroy;
2111
- exports.register = register;
2112
- exports.routes = index$2;
2113
- exports.services = index$1;
1742
+ const enableFeatureMiddleware = (featureName) => (ctx, next) => {
1743
+ if (strapi.ee.features.isEnabled(featureName)) {
1744
+ return next();
1745
+ }
1746
+ ctx.status = 404;
1747
+ };
1748
+ const sso = {
1749
+ type: "admin",
1750
+ routes: [
1751
+ {
1752
+ method: "GET",
1753
+ path: "/providers",
1754
+ handler: "authentication.getProviders",
1755
+ config: {
1756
+ middlewares: [enableFeatureMiddleware("sso")],
1757
+ auth: false
1758
+ }
1759
+ },
1760
+ {
1761
+ method: "GET",
1762
+ path: "/connect/:provider",
1763
+ handler: "authentication.providerLogin",
1764
+ config: {
1765
+ middlewares: [enableFeatureMiddleware("sso")],
1766
+ auth: false
1767
+ }
1768
+ },
1769
+ {
1770
+ method: "POST",
1771
+ path: "/connect/:provider",
1772
+ handler: "authentication.providerLogin",
1773
+ config: {
1774
+ middlewares: [enableFeatureMiddleware("sso")],
1775
+ auth: false
1776
+ }
1777
+ },
1778
+ {
1779
+ method: "GET",
1780
+ path: "/providers/options",
1781
+ handler: "authentication.getProviderLoginOptions",
1782
+ config: {
1783
+ middlewares: [enableFeatureMiddleware("sso")],
1784
+ policies: [
1785
+ "admin::isAuthenticatedAdmin",
1786
+ { name: "admin::hasPermissions", config: { actions: ["admin::provider-login.read"] } }
1787
+ ]
1788
+ }
1789
+ },
1790
+ {
1791
+ method: "PUT",
1792
+ path: "/providers/options",
1793
+ handler: "authentication.updateProviderLoginOptions",
1794
+ config: {
1795
+ middlewares: [enableFeatureMiddleware("sso")],
1796
+ policies: [
1797
+ "admin::isAuthenticatedAdmin",
1798
+ { name: "admin::hasPermissions", config: { actions: ["admin::provider-login.update"] } }
1799
+ ]
1800
+ }
1801
+ },
1802
+ {
1803
+ method: "GET",
1804
+ path: "/providers/isSSOLocked",
1805
+ handler: "user.isSSOLocked",
1806
+ config: {
1807
+ middlewares: [enableFeatureMiddleware("sso")],
1808
+ policies: ["admin::isAuthenticatedAdmin"]
1809
+ }
1810
+ }
1811
+ ]
1812
+ };
1813
+ const licenseLimit = {
1814
+ type: "admin",
1815
+ routes: [
1816
+ // License limit infos
1817
+ {
1818
+ method: "GET",
1819
+ path: "/license-limit-information",
1820
+ handler: "admin.licenseLimitInformation",
1821
+ config: {
1822
+ policies: [
1823
+ "admin::isAuthenticatedAdmin",
1824
+ {
1825
+ name: "admin::hasPermissions",
1826
+ config: {
1827
+ actions: [
1828
+ "admin::users.create",
1829
+ "admin::users.read",
1830
+ "admin::users.update",
1831
+ "admin::users.delete"
1832
+ ]
1833
+ }
1834
+ }
1835
+ ]
1836
+ }
1837
+ }
1838
+ ]
1839
+ };
1840
+ const routes = {
1841
+ sso,
1842
+ "license-limit": licenseLimit
1843
+ };
1844
+ const auditLogsRoutes = {
1845
+ type: "admin",
1846
+ routes: [
1847
+ {
1848
+ method: "GET",
1849
+ path: "/audit-logs",
1850
+ handler: "audit-logs.findMany",
1851
+ config: {
1852
+ middlewares: [enableFeatureMiddleware("audit-logs")],
1853
+ policies: [
1854
+ "admin::isAuthenticatedAdmin",
1855
+ {
1856
+ name: "admin::hasPermissions",
1857
+ config: {
1858
+ actions: ["admin::audit-logs.read"]
1859
+ }
1860
+ }
1861
+ ]
1862
+ }
1863
+ },
1864
+ {
1865
+ method: "GET",
1866
+ path: "/audit-logs/:id",
1867
+ handler: "audit-logs.findOne",
1868
+ config: {
1869
+ middlewares: [enableFeatureMiddleware("audit-logs")],
1870
+ policies: [
1871
+ "admin::isAuthenticatedAdmin",
1872
+ {
1873
+ name: "admin::hasPermissions",
1874
+ config: {
1875
+ actions: ["admin::audit-logs.read"]
1876
+ }
1877
+ }
1878
+ ]
1879
+ }
1880
+ }
1881
+ ]
1882
+ };
1883
+ const ALLOWED_SORT_STRINGS = ["action:ASC", "action:DESC", "date:ASC", "date:DESC"];
1884
+ const validateFindManySchema = utils$1.yup.object().shape({
1885
+ page: utils$1.yup.number().integer().min(1),
1886
+ pageSize: utils$1.yup.number().integer().min(1).max(100),
1887
+ sort: utils$1.yup.mixed().oneOf(ALLOWED_SORT_STRINGS)
1888
+ }).required();
1889
+ const validateFindMany = utils$1.validateYupSchema(validateFindManySchema, { strict: false });
1890
+ const auditLogsController = {
1891
+ async findMany(ctx) {
1892
+ const { query } = ctx.request;
1893
+ await validateFindMany(query);
1894
+ const auditLogs = strapi.get("audit-logs");
1895
+ const body = await auditLogs.findMany(query);
1896
+ ctx.body = body;
1897
+ },
1898
+ async findOne(ctx) {
1899
+ const { id } = ctx.params;
1900
+ const auditLogs = strapi.get("audit-logs");
1901
+ const body = await auditLogs.findOne(id);
1902
+ ctx.body = body;
1903
+ strapi.telemetry.send("didWatchAnAuditLog");
1904
+ }
1905
+ };
1906
+ const getSanitizedUser = (user2) => {
1907
+ let displayName = user2.email;
1908
+ if (user2.username) {
1909
+ displayName = user2.username;
1910
+ } else if (user2.firstname && user2.lastname) {
1911
+ displayName = `${user2.firstname} ${user2.lastname}`;
1912
+ }
1913
+ return {
1914
+ id: user2.id,
1915
+ email: user2.email,
1916
+ displayName
1917
+ };
1918
+ };
1919
+ const createAuditLogsService = (strapi2) => {
1920
+ return {
1921
+ async saveEvent(event) {
1922
+ const { userId, ...rest } = event;
1923
+ const auditLog2 = { ...rest, user: userId };
1924
+ await strapi2.db?.query("admin::audit-log").create({ data: auditLog2 });
1925
+ return this;
1926
+ },
1927
+ async findMany(query) {
1928
+ const { results, pagination } = await strapi2.db?.query("admin::audit-log").findPage({
1929
+ populate: ["user"],
1930
+ select: ["action", "date", "payload"],
1931
+ ...strapi2.get("query-params").transform("admin::audit-log", query)
1932
+ });
1933
+ const sanitizedResults = results.map((result) => {
1934
+ const { user: user2, ...rest } = result;
1935
+ return {
1936
+ ...rest,
1937
+ user: user2 ? getSanitizedUser(user2) : null
1938
+ };
1939
+ });
1940
+ return {
1941
+ results: sanitizedResults,
1942
+ pagination
1943
+ };
1944
+ },
1945
+ async findOne(id) {
1946
+ const result = await strapi2.db?.query("admin::audit-log").findOne({
1947
+ where: { id },
1948
+ populate: ["user"],
1949
+ select: ["action", "date", "payload"]
1950
+ });
1951
+ if (!result) {
1952
+ return null;
1953
+ }
1954
+ const { user: user2, ...rest } = result;
1955
+ return {
1956
+ ...rest,
1957
+ user: user2 ? getSanitizedUser(user2) : null
1958
+ };
1959
+ },
1960
+ deleteExpiredEvents(expirationDate) {
1961
+ return strapi2.db?.query("admin::audit-log").deleteMany({
1962
+ where: {
1963
+ date: {
1964
+ $lt: expirationDate.toISOString()
1965
+ }
1966
+ }
1967
+ });
1968
+ }
1969
+ };
1970
+ };
1971
+ const DEFAULT_RETENTION_DAYS = 90;
1972
+ const defaultEvents = [
1973
+ "entry.create",
1974
+ "entry.update",
1975
+ "entry.delete",
1976
+ "entry.publish",
1977
+ "entry.unpublish",
1978
+ "media.create",
1979
+ "media.update",
1980
+ "media.delete",
1981
+ "media-folder.create",
1982
+ "media-folder.update",
1983
+ "media-folder.delete",
1984
+ "user.create",
1985
+ "user.update",
1986
+ "user.delete",
1987
+ "admin.auth.success",
1988
+ "admin.logout",
1989
+ "content-type.create",
1990
+ "content-type.update",
1991
+ "content-type.delete",
1992
+ "component.create",
1993
+ "component.update",
1994
+ "component.delete",
1995
+ "role.create",
1996
+ "role.update",
1997
+ "role.delete",
1998
+ "permission.create",
1999
+ "permission.update",
2000
+ "permission.delete"
2001
+ ];
2002
+ const getEventMap = (defaultEvents2) => {
2003
+ const getDefaultPayload = (...args) => args[0];
2004
+ return defaultEvents2.reduce((acc, event) => {
2005
+ acc[event] = getDefaultPayload;
2006
+ return acc;
2007
+ }, {});
2008
+ };
2009
+ const getRetentionDays = (strapi2) => {
2010
+ const featureConfig = strapi2.ee.features.get("audit-logs");
2011
+ const licenseRetentionDays = typeof featureConfig === "object" && featureConfig?.options.retentionDays;
2012
+ const userRetentionDays = strapi2.config.get("admin.auditLogs.retentionDays");
2013
+ if (licenseRetentionDays == null) {
2014
+ return userRetentionDays ?? DEFAULT_RETENTION_DAYS;
2015
+ }
2016
+ if (userRetentionDays && userRetentionDays < licenseRetentionDays) {
2017
+ return userRetentionDays;
2018
+ }
2019
+ return licenseRetentionDays;
2020
+ };
2021
+ const createAuditLogsLifecycleService = (strapi2) => {
2022
+ const state = {};
2023
+ const auditLogsService = strapi2.get("audit-logs");
2024
+ const eventMap = getEventMap(defaultEvents);
2025
+ const processEvent = (name2, ...args) => {
2026
+ const requestState = strapi2.requestContext.get()?.state;
2027
+ const isUsingAdminAuth = requestState?.route.info.type === "admin";
2028
+ const user2 = requestState?.user;
2029
+ if (!isUsingAdminAuth || !user2) {
2030
+ return null;
2031
+ }
2032
+ const getPayload = eventMap[name2];
2033
+ if (!getPayload) {
2034
+ return null;
2035
+ }
2036
+ const ignoredUids = ["plugin::upload.file", "plugin::upload.folder"];
2037
+ if (ignoredUids.includes(args[0]?.uid)) {
2038
+ return null;
2039
+ }
2040
+ return {
2041
+ action: name2,
2042
+ date: (/* @__PURE__ */ new Date()).toISOString(),
2043
+ payload: getPayload(...args) || {},
2044
+ userId: user2.id
2045
+ };
2046
+ };
2047
+ const handleEvent = async (name2, ...args) => {
2048
+ const processedEvent = processEvent(name2, ...args);
2049
+ if (processedEvent) {
2050
+ await strapi2.db.transaction(({ onCommit }) => {
2051
+ onCommit(() => auditLogsService.saveEvent(processedEvent));
2052
+ });
2053
+ }
2054
+ };
2055
+ return {
2056
+ async register() {
2057
+ if (!state.eeEnableUnsubscribe) {
2058
+ state.eeEnableUnsubscribe = strapi2.eventHub.on("ee.enable", () => {
2059
+ this.destroy();
2060
+ this.register();
2061
+ });
2062
+ }
2063
+ if (!state.eeUpdateUnsubscribe) {
2064
+ state.eeUpdateUnsubscribe = strapi2.eventHub.on("ee.update", () => {
2065
+ this.destroy();
2066
+ this.register();
2067
+ });
2068
+ }
2069
+ state.eeDisableUnsubscribe = strapi2.eventHub.on("ee.disable", () => {
2070
+ this.destroy();
2071
+ });
2072
+ if (!strapi2.ee.features.isEnabled("audit-logs")) {
2073
+ return this;
2074
+ }
2075
+ state.eventHubUnsubscribe = strapi2.eventHub.subscribe(handleEvent);
2076
+ const retentionDays = getRetentionDays(strapi2);
2077
+ state.deleteExpiredJob = nodeSchedule.scheduleJob("0 0 * * *", () => {
2078
+ const expirationDate = new Date(Date.now() - retentionDays * 24 * 60 * 60 * 1e3);
2079
+ auditLogsService.deleteExpiredEvents(expirationDate);
2080
+ });
2081
+ return this;
2082
+ },
2083
+ unsubscribe() {
2084
+ if (state.eeDisableUnsubscribe) {
2085
+ state.eeDisableUnsubscribe();
2086
+ }
2087
+ if (state.eventHubUnsubscribe) {
2088
+ state.eventHubUnsubscribe();
2089
+ }
2090
+ if (state.deleteExpiredJob) {
2091
+ state.deleteExpiredJob.cancel();
2092
+ }
2093
+ return this;
2094
+ },
2095
+ destroy() {
2096
+ return this.unsubscribe();
2097
+ }
2098
+ };
2099
+ };
2100
+ const auditLog = {
2101
+ schema: {
2102
+ kind: "collectionType",
2103
+ collectionName: "strapi_audit_logs",
2104
+ info: {
2105
+ singularName: "audit-log",
2106
+ pluralName: "audit-logs",
2107
+ displayName: "Audit Log"
2108
+ },
2109
+ options: {
2110
+ timestamps: false
2111
+ },
2112
+ pluginOptions: {
2113
+ "content-manager": {
2114
+ visible: false
2115
+ },
2116
+ "content-type-builder": {
2117
+ visible: false
2118
+ }
2119
+ },
2120
+ attributes: {
2121
+ action: {
2122
+ type: "string",
2123
+ required: true
2124
+ },
2125
+ date: {
2126
+ type: "datetime",
2127
+ required: true
2128
+ },
2129
+ user: {
2130
+ type: "relation",
2131
+ relation: "oneToOne",
2132
+ target: "admin::user"
2133
+ },
2134
+ payload: {
2135
+ type: "json"
2136
+ }
2137
+ }
2138
+ }
2139
+ };
2140
+ const getAdminEE = () => {
2141
+ const eeAdmin = {
2142
+ register,
2143
+ bootstrap,
2144
+ destroy,
2145
+ contentTypes: {
2146
+ // Always register the audit-log content type to prevent data loss
2147
+ "audit-log": auditLog,
2148
+ ...adminContentTypes
2149
+ },
2150
+ services,
2151
+ controllers,
2152
+ routes
2153
+ };
2154
+ if (strapi.config.get("admin.auditLogs.enabled", true) && strapi.ee.features.isEnabled("audit-logs")) {
2155
+ return {
2156
+ ...eeAdmin,
2157
+ controllers: {
2158
+ ...eeAdmin.controllers,
2159
+ "audit-logs": auditLogsController
2160
+ },
2161
+ routes: {
2162
+ ...eeAdmin.routes,
2163
+ "audit-logs": auditLogsRoutes
2164
+ },
2165
+ async register({ strapi: strapi2 }) {
2166
+ await eeAdmin.register({ strapi: strapi2 });
2167
+ strapi2.add("audit-logs", createAuditLogsService(strapi2));
2168
+ const auditLogsLifecycle = createAuditLogsLifecycleService(strapi2);
2169
+ strapi2.add("audit-logs-lifecycle", auditLogsLifecycle);
2170
+ await auditLogsLifecycle.register();
2171
+ },
2172
+ async destroy({ strapi: strapi2 }) {
2173
+ strapi2.get("audit-logs-lifecycle").destroy();
2174
+ await eeAdmin.destroy({ strapi: strapi2 });
2175
+ }
2176
+ };
2177
+ }
2178
+ return eeAdmin;
2179
+ };
2180
+ const index = getAdminEE();
2181
+ module.exports = index;
2114
2182
  //# sourceMappingURL=index.js.map