@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
@@ -5,12 +5,11 @@ import { isNil, castArray, merge, map, uniq, difference, differenceWith, isEqual
5
5
  import { differenceInHours, parseISO } from "date-fns";
6
6
  import { errors, async, arrays, yup, validateYupSchema, env } from "@strapi/utils";
7
7
  import "@strapi/types";
8
- import localProvider from "@strapi/provider-audit-logs-local";
9
- import { scheduleJob } from "node-schedule";
10
8
  import _ from "lodash";
11
9
  import { Strategy } from "passport-local";
12
10
  import passport$2 from "koa-passport";
13
11
  import compose from "koa-compose";
12
+ import { scheduleJob } from "node-schedule";
14
13
  const registerAdminPanelRoute = ({ strapi: strapi2 }) => {
15
14
  let buildDir = resolve(strapi2.dirs.dist.root, "build");
16
15
  if (!fse.pathExistsSync(buildDir)) {
@@ -224,203 +223,9 @@ const executeCERegister = ({ strapi: strapi2 }) => {
224
223
  registerAdminPanelRoute({ strapi: strapi2 });
225
224
  }
226
225
  };
227
- async function migrateAuditLogsTable({ oldContentTypes, contentTypes }) {
228
- const oldName = oldContentTypes?.["admin::audit-log"]?.collectionName;
229
- const newName = contentTypes["admin::audit-log"]?.collectionName;
230
- const hasRenamedAuditLogsTable = oldName === "audit_logs" && newName === "strapi_audit_logs";
231
- if (!hasRenamedAuditLogsTable) {
232
- return;
233
- }
234
- const hasAuditLogsTable = await strapi.db.getSchemaConnection().hasTable("audit_logs");
235
- const hasLinkTable = await strapi.db.getSchemaConnection().hasTable("audit_logs_user_links");
236
- if (!hasAuditLogsTable || !hasLinkTable) {
237
- return;
238
- }
239
- const auditLogsColumnInfo = await strapi.db.connection("audit_logs").columnInfo();
240
- const linkColumnInfo = await strapi.db.connection("audit_logs_user_links").columnInfo();
241
- if (!auditLogsColumnInfo.action || !auditLogsColumnInfo.date || !auditLogsColumnInfo.payload || !linkColumnInfo.audit_log_id || !linkColumnInfo.user_id) {
242
- return;
243
- }
244
- await strapi.db.getSchemaConnection().renameTable("audit_logs", "strapi_audit_logs");
245
- await strapi.db.getSchemaConnection().renameTable("audit_logs_user_links", "strapi_audit_logs_user_links");
246
- }
247
- const DEFAULT_RETENTION_DAYS = 90;
248
- const defaultEvents = [
249
- "entry.create",
250
- "entry.update",
251
- "entry.delete",
252
- "entry.publish",
253
- "entry.unpublish",
254
- "media.create",
255
- "media.update",
256
- "media.delete",
257
- "media-folder.create",
258
- "media-folder.update",
259
- "media-folder.delete",
260
- "user.create",
261
- "user.update",
262
- "user.delete",
263
- "admin.auth.success",
264
- "admin.logout",
265
- "content-type.create",
266
- "content-type.update",
267
- "content-type.delete",
268
- "component.create",
269
- "component.update",
270
- "component.delete",
271
- "role.create",
272
- "role.update",
273
- "role.delete",
274
- "permission.create",
275
- "permission.update",
276
- "permission.delete"
277
- ];
278
- const getSanitizedUser = (user2) => {
279
- let displayName = user2.email;
280
- if (user2.username) {
281
- displayName = user2.username;
282
- } else if (user2.firstname && user2.lastname) {
283
- displayName = `${user2.firstname} ${user2.lastname}`;
284
- }
285
- return {
286
- id: user2.id,
287
- email: user2.email,
288
- displayName
289
- };
290
- };
291
- const getEventMap = (defaultEvents2) => {
292
- const getDefaultPayload = (...args) => args[0];
293
- return defaultEvents2.reduce((acc, event) => {
294
- acc[event] = getDefaultPayload;
295
- return acc;
296
- }, {});
297
- };
298
- const getRetentionDays = (strapi2) => {
299
- const licenseRetentionDays = strapi2.ee.features.get("audit-logs")?.options.retentionDays;
300
- const userRetentionDays = strapi2.config.get("admin.auditLogs.retentionDays");
301
- if (licenseRetentionDays == null) {
302
- return userRetentionDays ?? DEFAULT_RETENTION_DAYS;
303
- }
304
- if (userRetentionDays && userRetentionDays < licenseRetentionDays) {
305
- return userRetentionDays;
306
- }
307
- return licenseRetentionDays;
308
- };
309
- const createAuditLogsService = (strapi2) => {
310
- const state = {};
311
- const eventMap = getEventMap(defaultEvents);
312
- const processEvent = (name2, ...args) => {
313
- const requestState = strapi2.requestContext.get()?.state;
314
- const isUsingAdminAuth = requestState?.auth?.strategy.name === "admin";
315
- const user2 = requestState?.user;
316
- if (!isUsingAdminAuth || !user2) {
317
- return null;
318
- }
319
- const getPayload = eventMap[name2];
320
- if (!getPayload) {
321
- return null;
322
- }
323
- const ignoredUids = ["plugin::upload.file", "plugin::upload.folder"];
324
- if (ignoredUids.includes(args[0]?.uid)) {
325
- return null;
326
- }
327
- return {
328
- action: name2,
329
- date: (/* @__PURE__ */ new Date()).toISOString(),
330
- payload: getPayload(...args) || {},
331
- userId: user2.id
332
- };
333
- };
334
- async function handleEvent(name2, ...args) {
335
- const processedEvent = processEvent(name2, ...args);
336
- if (processedEvent) {
337
- await strapi2.db.transaction(({ onCommit }) => {
338
- onCommit(() => state.provider.saveEvent(processedEvent));
339
- });
340
- }
341
- }
342
- return {
343
- async register() {
344
- if (!state.eeEnableUnsubscribe) {
345
- state.eeEnableUnsubscribe = strapi2.eventHub.on("ee.enable", () => {
346
- this.destroy();
347
- this.register();
348
- });
349
- }
350
- if (!state.eeUpdateUnsubscribe) {
351
- state.eeUpdateUnsubscribe = strapi2.eventHub.on("ee.update", () => {
352
- this.destroy();
353
- this.register();
354
- });
355
- }
356
- state.eeDisableUnsubscribe = strapi2.eventHub.on("ee.disable", () => {
357
- this.destroy();
358
- });
359
- state.provider = await localProvider.register({ strapi: strapi2 });
360
- if (!strapi2.ee.features.isEnabled("audit-logs")) {
361
- return this;
362
- }
363
- state.eventHubUnsubscribe = strapi2.eventHub.subscribe(handleEvent.bind(this));
364
- const retentionDays = getRetentionDays(strapi2);
365
- state.deleteExpiredJob = scheduleJob("0 0 * * *", () => {
366
- const expirationDate = new Date(Date.now() - retentionDays * 24 * 60 * 60 * 1e3);
367
- state.provider.deleteExpiredEvents(expirationDate);
368
- });
369
- return this;
370
- },
371
- async findMany(query) {
372
- const { results, pagination } = await state.provider.findMany(query);
373
- const sanitizedResults = results.map((result) => {
374
- const { user: user2, ...rest } = result;
375
- return {
376
- ...rest,
377
- user: user2 ? getSanitizedUser(user2) : null
378
- };
379
- });
380
- return {
381
- results: sanitizedResults,
382
- pagination
383
- };
384
- },
385
- async findOne(id) {
386
- const result = await state.provider.findOne(id);
387
- if (!result) {
388
- return null;
389
- }
390
- const { user: user2, ...rest } = result;
391
- return {
392
- ...rest,
393
- user: user2 ? getSanitizedUser(user2) : null
394
- };
395
- },
396
- unsubscribe() {
397
- if (state.eeDisableUnsubscribe) {
398
- state.eeDisableUnsubscribe();
399
- }
400
- if (state.eventHubUnsubscribe) {
401
- state.eventHubUnsubscribe();
402
- }
403
- if (state.deleteExpiredJob) {
404
- state.deleteExpiredJob.cancel();
405
- }
406
- return this;
407
- },
408
- destroy() {
409
- return this.unsubscribe();
410
- }
411
- };
412
- };
413
226
  const register = async ({ strapi: strapi2 }) => {
414
- const auditLogsIsEnabled = strapi2.config.get("admin.auditLogs.enabled", true);
415
- if (auditLogsIsEnabled) {
416
- strapi2.hook("strapi::content-types.beforeSync").register(migrateAuditLogsTable);
417
- const auditLogsService = createAuditLogsService(strapi2);
418
- strapi2.add("audit-logs", auditLogsService);
419
- await auditLogsService.register();
420
- }
421
227
  await executeCERegister({ strapi: strapi2 });
422
228
  };
423
- const index$3 = {};
424
229
  const actions$1 = [
425
230
  {
426
231
  uid: "marketplace.read",
@@ -727,7 +532,7 @@ const executeCEBootstrap = async ({ strapi: strapi2 }) => {
727
532
  await userService.displayWarningIfUsersDontHaveRole();
728
533
  await syncAuthSettings();
729
534
  await syncAPITokensPermissions();
730
- getService$1("metrics").sendUpdateProjectInformation(strapi2);
535
+ await getService$1("metrics").sendUpdateProjectInformation(strapi2);
731
536
  getService$1("metrics").startCron(strapi2);
732
537
  apiTokenService.checkSaltIsDefined();
733
538
  transferService.token.checkSaltIsDefined();
@@ -825,222 +630,78 @@ const executeCEDestroy = async () => {
825
630
  await actionProvider.clear();
826
631
  };
827
632
  const destroy = async ({ strapi: strapi2 }) => {
828
- if (strapi2.ee.features.isEnabled("audit-logs")) {
829
- strapi2.get("audit-logs").destroy();
830
- }
831
633
  await executeCEDestroy();
832
634
  };
833
- const enableFeatureMiddleware = (featureName) => (ctx, next) => {
834
- if (strapi.ee.features.isEnabled(featureName)) {
835
- return next();
635
+ const adminContentTypes = {};
636
+ const isSsoLocked = async (user2) => {
637
+ if (!strapi.ee.features.isEnabled("sso")) {
638
+ return false;
836
639
  }
837
- ctx.status = 404;
640
+ if (!user2) {
641
+ throw new Error("Missing user object");
642
+ }
643
+ const adminStore = await strapi.store({ type: "core", name: "admin" });
644
+ const { providers } = await adminStore.get({ key: "auth" });
645
+ const lockedRoles = providers.ssoLockedRoles ?? [];
646
+ if (isEmpty(lockedRoles)) {
647
+ return false;
648
+ }
649
+ const roles2 = (
650
+ // If the roles are pre-loaded for the given user, then use them
651
+ user2.roles ?? // Otherwise, try to load the role based on the given user ID
652
+ await strapi.db.query("admin::user").load(user2, "roles", { roles: { fields: ["id"] } }) ?? // If the query fails somehow, default to an empty array
653
+ []
654
+ );
655
+ const isLocked = lockedRoles.some(
656
+ (lockedId) => (
657
+ // lockedRoles will be a string to avoid issues with frontend and bigints
658
+ roles2.some((role2) => lockedId === role2.id.toString())
659
+ )
660
+ );
661
+ return isLocked;
838
662
  };
839
- const sso$1 = {
840
- type: "admin",
841
- routes: [
663
+ const { ApplicationError: ApplicationError$2 } = errors;
664
+ const forgotPassword = async ({ email: email2 } = {}) => {
665
+ const user2 = await strapi.db.query("admin::user").findOne({ where: { email: email2, isActive: true } });
666
+ if (!user2 || await isSsoLocked(user2)) {
667
+ return;
668
+ }
669
+ const resetPasswordToken = getService("token").createToken();
670
+ await getService("user").updateById(user2.id, { resetPasswordToken });
671
+ const url = `${strapi.config.get(
672
+ "admin.absoluteUrl"
673
+ )}/auth/reset-password?code=${resetPasswordToken}`;
674
+ return strapi.plugin("email").service("email").sendTemplatedEmail(
842
675
  {
843
- method: "GET",
844
- path: "/providers",
845
- handler: "authentication.getProviders",
846
- config: {
847
- middlewares: [enableFeatureMiddleware("sso")],
848
- auth: false
849
- }
676
+ to: user2.email,
677
+ from: strapi.config.get("admin.forgotPassword.from"),
678
+ replyTo: strapi.config.get("admin.forgotPassword.replyTo")
850
679
  },
680
+ strapi.config.get("admin.forgotPassword.emailTemplate"),
851
681
  {
852
- method: "GET",
853
- path: "/connect/:provider",
854
- handler: "authentication.providerLogin",
855
- config: {
856
- middlewares: [enableFeatureMiddleware("sso")],
857
- auth: false
858
- }
859
- },
860
- {
861
- method: "POST",
862
- path: "/connect/:provider",
863
- handler: "authentication.providerLogin",
864
- config: {
865
- middlewares: [enableFeatureMiddleware("sso")],
866
- auth: false
867
- }
868
- },
869
- {
870
- method: "GET",
871
- path: "/providers/options",
872
- handler: "authentication.getProviderLoginOptions",
873
- config: {
874
- middlewares: [enableFeatureMiddleware("sso")],
875
- policies: [
876
- "admin::isAuthenticatedAdmin",
877
- { name: "admin::hasPermissions", config: { actions: ["admin::provider-login.read"] } }
878
- ]
879
- }
880
- },
881
- {
882
- method: "PUT",
883
- path: "/providers/options",
884
- handler: "authentication.updateProviderLoginOptions",
885
- config: {
886
- middlewares: [enableFeatureMiddleware("sso")],
887
- policies: [
888
- "admin::isAuthenticatedAdmin",
889
- { name: "admin::hasPermissions", config: { actions: ["admin::provider-login.update"] } }
890
- ]
891
- }
892
- },
893
- {
894
- method: "GET",
895
- path: "/providers/isSSOLocked",
896
- handler: "user.isSSOLocked",
897
- config: {
898
- middlewares: [enableFeatureMiddleware("sso")],
899
- policies: ["admin::isAuthenticatedAdmin"]
900
- }
901
- }
902
- ]
903
- };
904
- const licenseLimit = {
905
- type: "admin",
906
- routes: [
907
- // License limit infos
908
- {
909
- method: "GET",
910
- path: "/license-limit-information",
911
- handler: "admin.licenseLimitInformation",
912
- config: {
913
- policies: [
914
- "admin::isAuthenticatedAdmin",
915
- {
916
- name: "admin::hasPermissions",
917
- config: {
918
- actions: [
919
- "admin::users.create",
920
- "admin::users.read",
921
- "admin::users.update",
922
- "admin::users.delete"
923
- ]
924
- }
925
- }
926
- ]
927
- }
928
- }
929
- ]
930
- };
931
- const auditLogs$1 = {
932
- type: "admin",
933
- routes: [
934
- {
935
- method: "GET",
936
- path: "/audit-logs",
937
- handler: "auditLogs.findMany",
938
- config: {
939
- middlewares: [enableFeatureMiddleware("audit-logs")],
940
- policies: [
941
- "admin::isAuthenticatedAdmin",
942
- {
943
- name: "admin::hasPermissions",
944
- config: {
945
- actions: ["admin::audit-logs.read"]
946
- }
947
- }
948
- ]
949
- }
950
- },
951
- {
952
- method: "GET",
953
- path: "/audit-logs/:id",
954
- handler: "auditLogs.findOne",
955
- config: {
956
- middlewares: [enableFeatureMiddleware("audit-logs")],
957
- policies: [
958
- "admin::isAuthenticatedAdmin",
959
- {
960
- name: "admin::hasPermissions",
961
- config: {
962
- actions: ["admin::audit-logs.read"]
963
- }
964
- }
965
- ]
966
- }
967
- }
968
- ]
969
- };
970
- const index$2 = {
971
- sso: sso$1,
972
- "license-limit": licenseLimit,
973
- "audit-logs": auditLogs$1
974
- };
975
- const isSsoLocked = async (user2) => {
976
- if (!strapi.ee.features.isEnabled("sso")) {
977
- return false;
978
- }
979
- if (!user2) {
980
- throw new Error("Missing user object");
981
- }
982
- const adminStore = await strapi.store({ type: "core", name: "admin" });
983
- const { providers } = await adminStore.get({ key: "auth" });
984
- const lockedRoles = providers.ssoLockedRoles ?? [];
985
- if (isEmpty(lockedRoles)) {
986
- return false;
987
- }
988
- const roles2 = (
989
- // If the roles are pre-loaded for the given user, then use them
990
- user2.roles ?? // Otherwise, try to load the role based on the given user ID
991
- await strapi.db.query("admin::user").load(user2, "roles", { roles: { fields: ["id"] } }) ?? // If the query fails somehow, default to an empty array
992
- []
993
- );
994
- const isLocked = lockedRoles.some(
995
- (lockedId) => (
996
- // lockedRoles will be a string to avoid issues with frontend and bigints
997
- roles2.some((role2) => lockedId === role2.id.toString())
998
- )
999
- );
1000
- return isLocked;
1001
- };
1002
- const { ApplicationError: ApplicationError$2 } = errors;
1003
- const forgotPassword = async ({ email: email2 } = {}) => {
1004
- const user2 = await strapi.db.query("admin::user").findOne({ where: { email: email2, isActive: true } });
1005
- if (!user2 || await isSsoLocked(user2)) {
1006
- return;
1007
- }
1008
- const resetPasswordToken = getService("token").createToken();
1009
- await getService("user").updateById(user2.id, { resetPasswordToken });
1010
- const url = `${strapi.config.get(
1011
- "admin.absoluteUrl"
1012
- )}/auth/reset-password?code=${resetPasswordToken}`;
1013
- return strapi.plugin("email").service("email").sendTemplatedEmail(
1014
- {
1015
- to: user2.email,
1016
- from: strapi.config.get("admin.forgotPassword.from"),
1017
- replyTo: strapi.config.get("admin.forgotPassword.replyTo")
1018
- },
1019
- strapi.config.get("admin.forgotPassword.emailTemplate"),
1020
- {
1021
- url,
1022
- user: _.pick(user2, ["email", "firstname", "lastname", "username"])
1023
- }
1024
- ).catch((err) => {
1025
- strapi.log.error(err);
1026
- });
1027
- };
1028
- const resetPassword = async ({ resetPasswordToken, password: password2 } = {}) => {
1029
- const matchingUser = await strapi.db.query("admin::user").findOne({ where: { resetPasswordToken, isActive: true } });
1030
- if (!matchingUser || await isSsoLocked(matchingUser)) {
1031
- throw new ApplicationError$2();
1032
- }
1033
- return getService("user").updateById(matchingUser.id, {
1034
- password: password2,
1035
- resetPasswordToken: null
1036
- });
1037
- };
1038
- const auth = {
1039
- forgotPassword,
1040
- resetPassword
1041
- };
1042
- const createLocalStrategy = (strapi2, middleware) => {
1043
- return new Strategy(
682
+ url,
683
+ user: _.pick(user2, ["email", "firstname", "lastname", "username"])
684
+ }
685
+ ).catch((err) => {
686
+ strapi.log.error(err);
687
+ });
688
+ };
689
+ const resetPassword = async ({ resetPasswordToken, password: password2 } = {}) => {
690
+ const matchingUser = await strapi.db.query("admin::user").findOne({ where: { resetPasswordToken, isActive: true } });
691
+ if (!matchingUser || await isSsoLocked(matchingUser)) {
692
+ throw new ApplicationError$2();
693
+ }
694
+ return getService("user").updateById(matchingUser.id, {
695
+ password: password2,
696
+ resetPasswordToken: null
697
+ });
698
+ };
699
+ const auth = {
700
+ forgotPassword,
701
+ resetPassword
702
+ };
703
+ const createLocalStrategy = (strapi2, middleware) => {
704
+ return new Strategy(
1044
705
  {
1045
706
  usernameField: "email",
1046
707
  passwordField: "password",
@@ -1117,7 +778,7 @@ const syncProviderRegistryWithConfig = () => {
1117
778
  const SSOAuthEventsMapper = {
1118
779
  onSSOAutoRegistration: "admin.auth.autoRegistration"
1119
780
  };
1120
- const sso = {
781
+ const sso$1 = {
1121
782
  providerRegistry,
1122
783
  getStrategyCallbackURL,
1123
784
  syncProviderRegistryWithConfig,
@@ -1142,15 +803,15 @@ const getPassportStrategies = () => {
1142
803
  }
1143
804
  const localStrategy = createLocalStrategy(strapi, localStrategyMiddleware);
1144
805
  if (!strapi.isLoaded) {
1145
- sso.syncProviderRegistryWithConfig();
806
+ sso$1.syncProviderRegistryWithConfig();
1146
807
  }
1147
- const providers = sso.providerRegistry.getAll();
808
+ const providers = sso$1.providerRegistry.getAll();
1148
809
  const strategies = providers.map((provider) => provider.createStrategy(strapi));
1149
810
  return [localStrategy, ...strategies];
1150
811
  };
1151
812
  const passport = {
1152
813
  getPassportStrategies,
1153
- ...sso
814
+ ...sso$1
1154
815
  };
1155
816
  const { ApplicationError: ApplicationError$1 } = errors;
1156
817
  const ssoCheckRolesIdForDeletion = async (ids) => {
@@ -1341,7 +1002,7 @@ const sendUpdateProjectInformation = async (strapi2) => {
1341
1002
  if (strapi2.ee.features.isEnabled("cms-content-releases")) {
1342
1003
  const numberOfContentReleases = await strapi2.db.query("plugin::content-releases.release").count();
1343
1004
  const numberOfPublishedContentReleases = await strapi2.db.query("plugin::content-releases.release").count({
1344
- where: { $not: { releasedAt: null } }
1005
+ filters: { releasedAt: { $notNull: true } }
1345
1006
  });
1346
1007
  groupProperties = assign(groupProperties, {
1347
1008
  numberOfContentReleases,
@@ -1441,7 +1102,7 @@ const seatEnforcement = {
1441
1102
  seatEnforcementWorkflow,
1442
1103
  getDisabledUserList
1443
1104
  };
1444
- const index$1 = {
1105
+ const services = {
1445
1106
  auth,
1446
1107
  passport,
1447
1108
  role: role$1,
@@ -2022,29 +1683,6 @@ const user = {
2022
1683
  };
2023
1684
  }
2024
1685
  };
2025
- const ALLOWED_SORT_STRINGS = ["action:ASC", "action:DESC", "date:ASC", "date:DESC"];
2026
- const validateFindManySchema = yup.object().shape({
2027
- page: yup.number().integer().min(1),
2028
- pageSize: yup.number().integer().min(1).max(100),
2029
- sort: yup.mixed().oneOf(ALLOWED_SORT_STRINGS)
2030
- }).required();
2031
- const validateFindMany = validateYupSchema(validateFindManySchema, { strict: false });
2032
- const auditLogs = {
2033
- async findMany(ctx) {
2034
- const { query } = ctx.request;
2035
- await validateFindMany(query);
2036
- const auditLogs2 = strapi.get("audit-logs");
2037
- const body = await auditLogs2.findMany(query);
2038
- ctx.body = body;
2039
- },
2040
- async findOne(ctx) {
2041
- const { id } = ctx.params;
2042
- const auditLogs2 = strapi.get("audit-logs");
2043
- const body = await auditLogs2.findOne(id);
2044
- ctx.body = body;
2045
- strapi.telemetry.send("didWatchAnAuditLog");
2046
- }
2047
- };
2048
1686
  const admin = {
2049
1687
  // NOTE: Overrides CE admin controller
2050
1688
  async getProjectType() {
@@ -2088,20 +1726,452 @@ const admin = {
2088
1726
  return { data };
2089
1727
  }
2090
1728
  };
2091
- const index = {
1729
+ const controllers = {
2092
1730
  authentication,
2093
1731
  role,
2094
1732
  user,
2095
- auditLogs,
2096
1733
  admin
2097
1734
  };
1735
+ const enableFeatureMiddleware = (featureName) => (ctx, next) => {
1736
+ if (strapi.ee.features.isEnabled(featureName)) {
1737
+ return next();
1738
+ }
1739
+ ctx.status = 404;
1740
+ };
1741
+ const sso = {
1742
+ type: "admin",
1743
+ routes: [
1744
+ {
1745
+ method: "GET",
1746
+ path: "/providers",
1747
+ handler: "authentication.getProviders",
1748
+ config: {
1749
+ middlewares: [enableFeatureMiddleware("sso")],
1750
+ auth: false
1751
+ }
1752
+ },
1753
+ {
1754
+ method: "GET",
1755
+ path: "/connect/:provider",
1756
+ handler: "authentication.providerLogin",
1757
+ config: {
1758
+ middlewares: [enableFeatureMiddleware("sso")],
1759
+ auth: false
1760
+ }
1761
+ },
1762
+ {
1763
+ method: "POST",
1764
+ path: "/connect/:provider",
1765
+ handler: "authentication.providerLogin",
1766
+ config: {
1767
+ middlewares: [enableFeatureMiddleware("sso")],
1768
+ auth: false
1769
+ }
1770
+ },
1771
+ {
1772
+ method: "GET",
1773
+ path: "/providers/options",
1774
+ handler: "authentication.getProviderLoginOptions",
1775
+ config: {
1776
+ middlewares: [enableFeatureMiddleware("sso")],
1777
+ policies: [
1778
+ "admin::isAuthenticatedAdmin",
1779
+ { name: "admin::hasPermissions", config: { actions: ["admin::provider-login.read"] } }
1780
+ ]
1781
+ }
1782
+ },
1783
+ {
1784
+ method: "PUT",
1785
+ path: "/providers/options",
1786
+ handler: "authentication.updateProviderLoginOptions",
1787
+ config: {
1788
+ middlewares: [enableFeatureMiddleware("sso")],
1789
+ policies: [
1790
+ "admin::isAuthenticatedAdmin",
1791
+ { name: "admin::hasPermissions", config: { actions: ["admin::provider-login.update"] } }
1792
+ ]
1793
+ }
1794
+ },
1795
+ {
1796
+ method: "GET",
1797
+ path: "/providers/isSSOLocked",
1798
+ handler: "user.isSSOLocked",
1799
+ config: {
1800
+ middlewares: [enableFeatureMiddleware("sso")],
1801
+ policies: ["admin::isAuthenticatedAdmin"]
1802
+ }
1803
+ }
1804
+ ]
1805
+ };
1806
+ const licenseLimit = {
1807
+ type: "admin",
1808
+ routes: [
1809
+ // License limit infos
1810
+ {
1811
+ method: "GET",
1812
+ path: "/license-limit-information",
1813
+ handler: "admin.licenseLimitInformation",
1814
+ config: {
1815
+ policies: [
1816
+ "admin::isAuthenticatedAdmin",
1817
+ {
1818
+ name: "admin::hasPermissions",
1819
+ config: {
1820
+ actions: [
1821
+ "admin::users.create",
1822
+ "admin::users.read",
1823
+ "admin::users.update",
1824
+ "admin::users.delete"
1825
+ ]
1826
+ }
1827
+ }
1828
+ ]
1829
+ }
1830
+ }
1831
+ ]
1832
+ };
1833
+ const routes = {
1834
+ sso,
1835
+ "license-limit": licenseLimit
1836
+ };
1837
+ const auditLogsRoutes = {
1838
+ type: "admin",
1839
+ routes: [
1840
+ {
1841
+ method: "GET",
1842
+ path: "/audit-logs",
1843
+ handler: "audit-logs.findMany",
1844
+ config: {
1845
+ middlewares: [enableFeatureMiddleware("audit-logs")],
1846
+ policies: [
1847
+ "admin::isAuthenticatedAdmin",
1848
+ {
1849
+ name: "admin::hasPermissions",
1850
+ config: {
1851
+ actions: ["admin::audit-logs.read"]
1852
+ }
1853
+ }
1854
+ ]
1855
+ }
1856
+ },
1857
+ {
1858
+ method: "GET",
1859
+ path: "/audit-logs/:id",
1860
+ handler: "audit-logs.findOne",
1861
+ config: {
1862
+ middlewares: [enableFeatureMiddleware("audit-logs")],
1863
+ policies: [
1864
+ "admin::isAuthenticatedAdmin",
1865
+ {
1866
+ name: "admin::hasPermissions",
1867
+ config: {
1868
+ actions: ["admin::audit-logs.read"]
1869
+ }
1870
+ }
1871
+ ]
1872
+ }
1873
+ }
1874
+ ]
1875
+ };
1876
+ const ALLOWED_SORT_STRINGS = ["action:ASC", "action:DESC", "date:ASC", "date:DESC"];
1877
+ const validateFindManySchema = yup.object().shape({
1878
+ page: yup.number().integer().min(1),
1879
+ pageSize: yup.number().integer().min(1).max(100),
1880
+ sort: yup.mixed().oneOf(ALLOWED_SORT_STRINGS)
1881
+ }).required();
1882
+ const validateFindMany = validateYupSchema(validateFindManySchema, { strict: false });
1883
+ const auditLogsController = {
1884
+ async findMany(ctx) {
1885
+ const { query } = ctx.request;
1886
+ await validateFindMany(query);
1887
+ const auditLogs = strapi.get("audit-logs");
1888
+ const body = await auditLogs.findMany(query);
1889
+ ctx.body = body;
1890
+ },
1891
+ async findOne(ctx) {
1892
+ const { id } = ctx.params;
1893
+ const auditLogs = strapi.get("audit-logs");
1894
+ const body = await auditLogs.findOne(id);
1895
+ ctx.body = body;
1896
+ strapi.telemetry.send("didWatchAnAuditLog");
1897
+ }
1898
+ };
1899
+ const getSanitizedUser = (user2) => {
1900
+ let displayName = user2.email;
1901
+ if (user2.username) {
1902
+ displayName = user2.username;
1903
+ } else if (user2.firstname && user2.lastname) {
1904
+ displayName = `${user2.firstname} ${user2.lastname}`;
1905
+ }
1906
+ return {
1907
+ id: user2.id,
1908
+ email: user2.email,
1909
+ displayName
1910
+ };
1911
+ };
1912
+ const createAuditLogsService = (strapi2) => {
1913
+ return {
1914
+ async saveEvent(event) {
1915
+ const { userId, ...rest } = event;
1916
+ const auditLog2 = { ...rest, user: userId };
1917
+ await strapi2.db?.query("admin::audit-log").create({ data: auditLog2 });
1918
+ return this;
1919
+ },
1920
+ async findMany(query) {
1921
+ const { results, pagination } = await strapi2.db?.query("admin::audit-log").findPage({
1922
+ populate: ["user"],
1923
+ select: ["action", "date", "payload"],
1924
+ ...strapi2.get("query-params").transform("admin::audit-log", query)
1925
+ });
1926
+ const sanitizedResults = results.map((result) => {
1927
+ const { user: user2, ...rest } = result;
1928
+ return {
1929
+ ...rest,
1930
+ user: user2 ? getSanitizedUser(user2) : null
1931
+ };
1932
+ });
1933
+ return {
1934
+ results: sanitizedResults,
1935
+ pagination
1936
+ };
1937
+ },
1938
+ async findOne(id) {
1939
+ const result = await strapi2.db?.query("admin::audit-log").findOne({
1940
+ where: { id },
1941
+ populate: ["user"],
1942
+ select: ["action", "date", "payload"]
1943
+ });
1944
+ if (!result) {
1945
+ return null;
1946
+ }
1947
+ const { user: user2, ...rest } = result;
1948
+ return {
1949
+ ...rest,
1950
+ user: user2 ? getSanitizedUser(user2) : null
1951
+ };
1952
+ },
1953
+ deleteExpiredEvents(expirationDate) {
1954
+ return strapi2.db?.query("admin::audit-log").deleteMany({
1955
+ where: {
1956
+ date: {
1957
+ $lt: expirationDate.toISOString()
1958
+ }
1959
+ }
1960
+ });
1961
+ }
1962
+ };
1963
+ };
1964
+ const DEFAULT_RETENTION_DAYS = 90;
1965
+ const defaultEvents = [
1966
+ "entry.create",
1967
+ "entry.update",
1968
+ "entry.delete",
1969
+ "entry.publish",
1970
+ "entry.unpublish",
1971
+ "media.create",
1972
+ "media.update",
1973
+ "media.delete",
1974
+ "media-folder.create",
1975
+ "media-folder.update",
1976
+ "media-folder.delete",
1977
+ "user.create",
1978
+ "user.update",
1979
+ "user.delete",
1980
+ "admin.auth.success",
1981
+ "admin.logout",
1982
+ "content-type.create",
1983
+ "content-type.update",
1984
+ "content-type.delete",
1985
+ "component.create",
1986
+ "component.update",
1987
+ "component.delete",
1988
+ "role.create",
1989
+ "role.update",
1990
+ "role.delete",
1991
+ "permission.create",
1992
+ "permission.update",
1993
+ "permission.delete"
1994
+ ];
1995
+ const getEventMap = (defaultEvents2) => {
1996
+ const getDefaultPayload = (...args) => args[0];
1997
+ return defaultEvents2.reduce((acc, event) => {
1998
+ acc[event] = getDefaultPayload;
1999
+ return acc;
2000
+ }, {});
2001
+ };
2002
+ const getRetentionDays = (strapi2) => {
2003
+ const featureConfig = strapi2.ee.features.get("audit-logs");
2004
+ const licenseRetentionDays = typeof featureConfig === "object" && featureConfig?.options.retentionDays;
2005
+ const userRetentionDays = strapi2.config.get("admin.auditLogs.retentionDays");
2006
+ if (licenseRetentionDays == null) {
2007
+ return userRetentionDays ?? DEFAULT_RETENTION_DAYS;
2008
+ }
2009
+ if (userRetentionDays && userRetentionDays < licenseRetentionDays) {
2010
+ return userRetentionDays;
2011
+ }
2012
+ return licenseRetentionDays;
2013
+ };
2014
+ const createAuditLogsLifecycleService = (strapi2) => {
2015
+ const state = {};
2016
+ const auditLogsService = strapi2.get("audit-logs");
2017
+ const eventMap = getEventMap(defaultEvents);
2018
+ const processEvent = (name2, ...args) => {
2019
+ const requestState = strapi2.requestContext.get()?.state;
2020
+ const isUsingAdminAuth = requestState?.route.info.type === "admin";
2021
+ const user2 = requestState?.user;
2022
+ if (!isUsingAdminAuth || !user2) {
2023
+ return null;
2024
+ }
2025
+ const getPayload = eventMap[name2];
2026
+ if (!getPayload) {
2027
+ return null;
2028
+ }
2029
+ const ignoredUids = ["plugin::upload.file", "plugin::upload.folder"];
2030
+ if (ignoredUids.includes(args[0]?.uid)) {
2031
+ return null;
2032
+ }
2033
+ return {
2034
+ action: name2,
2035
+ date: (/* @__PURE__ */ new Date()).toISOString(),
2036
+ payload: getPayload(...args) || {},
2037
+ userId: user2.id
2038
+ };
2039
+ };
2040
+ const handleEvent = async (name2, ...args) => {
2041
+ const processedEvent = processEvent(name2, ...args);
2042
+ if (processedEvent) {
2043
+ await strapi2.db.transaction(({ onCommit }) => {
2044
+ onCommit(() => auditLogsService.saveEvent(processedEvent));
2045
+ });
2046
+ }
2047
+ };
2048
+ return {
2049
+ async register() {
2050
+ if (!state.eeEnableUnsubscribe) {
2051
+ state.eeEnableUnsubscribe = strapi2.eventHub.on("ee.enable", () => {
2052
+ this.destroy();
2053
+ this.register();
2054
+ });
2055
+ }
2056
+ if (!state.eeUpdateUnsubscribe) {
2057
+ state.eeUpdateUnsubscribe = strapi2.eventHub.on("ee.update", () => {
2058
+ this.destroy();
2059
+ this.register();
2060
+ });
2061
+ }
2062
+ state.eeDisableUnsubscribe = strapi2.eventHub.on("ee.disable", () => {
2063
+ this.destroy();
2064
+ });
2065
+ if (!strapi2.ee.features.isEnabled("audit-logs")) {
2066
+ return this;
2067
+ }
2068
+ state.eventHubUnsubscribe = strapi2.eventHub.subscribe(handleEvent);
2069
+ const retentionDays = getRetentionDays(strapi2);
2070
+ state.deleteExpiredJob = scheduleJob("0 0 * * *", () => {
2071
+ const expirationDate = new Date(Date.now() - retentionDays * 24 * 60 * 60 * 1e3);
2072
+ auditLogsService.deleteExpiredEvents(expirationDate);
2073
+ });
2074
+ return this;
2075
+ },
2076
+ unsubscribe() {
2077
+ if (state.eeDisableUnsubscribe) {
2078
+ state.eeDisableUnsubscribe();
2079
+ }
2080
+ if (state.eventHubUnsubscribe) {
2081
+ state.eventHubUnsubscribe();
2082
+ }
2083
+ if (state.deleteExpiredJob) {
2084
+ state.deleteExpiredJob.cancel();
2085
+ }
2086
+ return this;
2087
+ },
2088
+ destroy() {
2089
+ return this.unsubscribe();
2090
+ }
2091
+ };
2092
+ };
2093
+ const auditLog = {
2094
+ schema: {
2095
+ kind: "collectionType",
2096
+ collectionName: "strapi_audit_logs",
2097
+ info: {
2098
+ singularName: "audit-log",
2099
+ pluralName: "audit-logs",
2100
+ displayName: "Audit Log"
2101
+ },
2102
+ options: {
2103
+ timestamps: false
2104
+ },
2105
+ pluginOptions: {
2106
+ "content-manager": {
2107
+ visible: false
2108
+ },
2109
+ "content-type-builder": {
2110
+ visible: false
2111
+ }
2112
+ },
2113
+ attributes: {
2114
+ action: {
2115
+ type: "string",
2116
+ required: true
2117
+ },
2118
+ date: {
2119
+ type: "datetime",
2120
+ required: true
2121
+ },
2122
+ user: {
2123
+ type: "relation",
2124
+ relation: "oneToOne",
2125
+ target: "admin::user"
2126
+ },
2127
+ payload: {
2128
+ type: "json"
2129
+ }
2130
+ }
2131
+ }
2132
+ };
2133
+ const getAdminEE = () => {
2134
+ const eeAdmin = {
2135
+ register,
2136
+ bootstrap,
2137
+ destroy,
2138
+ contentTypes: {
2139
+ // Always register the audit-log content type to prevent data loss
2140
+ "audit-log": auditLog,
2141
+ ...adminContentTypes
2142
+ },
2143
+ services,
2144
+ controllers,
2145
+ routes
2146
+ };
2147
+ if (strapi.config.get("admin.auditLogs.enabled", true) && strapi.ee.features.isEnabled("audit-logs")) {
2148
+ return {
2149
+ ...eeAdmin,
2150
+ controllers: {
2151
+ ...eeAdmin.controllers,
2152
+ "audit-logs": auditLogsController
2153
+ },
2154
+ routes: {
2155
+ ...eeAdmin.routes,
2156
+ "audit-logs": auditLogsRoutes
2157
+ },
2158
+ async register({ strapi: strapi2 }) {
2159
+ await eeAdmin.register({ strapi: strapi2 });
2160
+ strapi2.add("audit-logs", createAuditLogsService(strapi2));
2161
+ const auditLogsLifecycle = createAuditLogsLifecycleService(strapi2);
2162
+ strapi2.add("audit-logs-lifecycle", auditLogsLifecycle);
2163
+ await auditLogsLifecycle.register();
2164
+ },
2165
+ async destroy({ strapi: strapi2 }) {
2166
+ strapi2.get("audit-logs-lifecycle").destroy();
2167
+ await eeAdmin.destroy({ strapi: strapi2 });
2168
+ }
2169
+ };
2170
+ }
2171
+ return eeAdmin;
2172
+ };
2173
+ const index = getAdminEE();
2098
2174
  export {
2099
- bootstrap,
2100
- index$3 as contentTypes,
2101
- index as controllers,
2102
- destroy,
2103
- register,
2104
- index$2 as routes,
2105
- index$1 as services
2175
+ index as default
2106
2176
  };
2107
2177
  //# sourceMappingURL=index.mjs.map