@strapi/admin 5.57.0 → 5.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/dist/admin/admin/src/components/FormInputs/Boolean.js +3 -2
  2. package/dist/admin/admin/src/components/FormInputs/Boolean.js.map +1 -1
  3. package/dist/admin/admin/src/components/FormInputs/Boolean.mjs +3 -2
  4. package/dist/admin/admin/src/components/FormInputs/Boolean.mjs.map +1 -1
  5. package/dist/admin/admin/src/constants.js +14 -0
  6. package/dist/admin/admin/src/constants.js.map +1 -1
  7. package/dist/admin/admin/src/constants.mjs +14 -0
  8. package/dist/admin/admin/src/constants.mjs.map +1 -1
  9. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js +6 -12
  10. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js.map +1 -1
  11. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.mjs +6 -12
  12. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.mjs.map +1 -1
  13. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +10 -2
  14. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  15. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +10 -2
  16. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  17. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +6 -56
  18. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
  19. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +6 -56
  20. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
  21. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.js +217 -0
  22. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.js.map +1 -0
  23. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.mjs +195 -0
  24. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.mjs.map +1 -0
  25. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.js +185 -0
  26. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.js.map +1 -0
  27. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.mjs +162 -0
  28. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.mjs.map +1 -0
  29. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.js +342 -0
  30. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.js.map +1 -0
  31. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.mjs +320 -0
  32. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.mjs.map +1 -0
  33. package/dist/admin/admin/src/services/admin.js +11 -1
  34. package/dist/admin/admin/src/services/admin.js.map +1 -1
  35. package/dist/admin/admin/src/services/admin.mjs +11 -2
  36. package/dist/admin/admin/src/services/admin.mjs.map +1 -1
  37. package/dist/admin/admin/src/translations/en.json.js +71 -4
  38. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  39. package/dist/admin/admin/src/translations/en.json.mjs +71 -4
  40. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  41. package/dist/admin/admin/src/utils/browserStrapi.js +1 -1
  42. package/dist/admin/admin/src/utils/browserStrapi.js.map +1 -1
  43. package/dist/admin/admin/src/utils/browserStrapi.mjs +1 -1
  44. package/dist/admin/admin/src/utils/browserStrapi.mjs.map +1 -1
  45. package/dist/admin/admin/src/utils/getFetchClient.js +24 -0
  46. package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
  47. package/dist/admin/admin/src/utils/getFetchClient.mjs +24 -1
  48. package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
  49. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js +52 -22
  50. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -1
  51. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs +53 -23
  52. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs.map +1 -1
  53. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js +16 -29
  54. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js.map +1 -1
  55. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs +18 -31
  56. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs.map +1 -1
  57. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.js +473 -0
  58. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.js.map +1 -0
  59. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.mjs +471 -0
  60. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.mjs.map +1 -0
  61. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.js +2 -0
  62. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.js.map +1 -1
  63. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.mjs +2 -0
  64. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.mjs.map +1 -1
  65. package/dist/admin/index.js +1 -0
  66. package/dist/admin/index.js.map +1 -1
  67. package/dist/admin/index.mjs +1 -1
  68. package/dist/admin/shared/utils/get-project-type.js +49 -0
  69. package/dist/admin/shared/utils/get-project-type.js.map +1 -0
  70. package/dist/admin/shared/utils/get-project-type.mjs +46 -0
  71. package/dist/admin/shared/utils/get-project-type.mjs.map +1 -0
  72. package/dist/admin/src/constants.d.ts +10 -0
  73. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.d.ts +1 -1
  74. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.d.ts +12 -0
  75. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.d.ts +14 -0
  76. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.d.ts +2 -0
  77. package/dist/admin/src/services/admin.d.ts +2 -2
  78. package/dist/admin/src/types/permissions.d.ts +1 -0
  79. package/dist/admin/src/utils/getFetchClient.d.ts +25 -0
  80. package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +29 -0
  81. package/dist/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.d.ts +6 -1
  82. package/dist/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.d.ts +2 -0
  83. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.d.ts +2 -0
  84. package/dist/ee/server/src/audit-logs/entitlements.d.ts +8 -0
  85. package/dist/ee/server/src/audit-logs/entitlements.d.ts.map +1 -0
  86. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts +16 -0
  87. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
  88. package/dist/ee/server/src/controllers/admin.d.ts +36 -10
  89. package/dist/ee/server/src/controllers/admin.d.ts.map +1 -1
  90. package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts.map +1 -1
  91. package/dist/ee/server/src/controllers/index.d.ts +36 -10
  92. package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
  93. package/dist/ee/server/src/index.d.ts +36 -10
  94. package/dist/ee/server/src/index.d.ts.map +1 -1
  95. package/dist/server/ee/server/src/audit-logs/entitlements.js +25 -0
  96. package/dist/server/ee/server/src/audit-logs/entitlements.js.map +1 -0
  97. package/dist/server/ee/server/src/audit-logs/entitlements.mjs +23 -0
  98. package/dist/server/ee/server/src/audit-logs/entitlements.mjs.map +1 -0
  99. package/dist/server/ee/server/src/audit-logs/services/lifecycles.js +20 -8
  100. package/dist/server/ee/server/src/audit-logs/services/lifecycles.js.map +1 -1
  101. package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs +19 -9
  102. package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs.map +1 -1
  103. package/dist/server/ee/server/src/controllers/admin.js +76 -3
  104. package/dist/server/ee/server/src/controllers/admin.js.map +1 -1
  105. package/dist/server/ee/server/src/controllers/admin.mjs +76 -3
  106. package/dist/server/ee/server/src/controllers/admin.mjs.map +1 -1
  107. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js +28 -10
  108. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js.map +1 -1
  109. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs +28 -10
  110. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs.map +1 -1
  111. package/dist/server/ee/server/src/index.js +2 -0
  112. package/dist/server/ee/server/src/index.js.map +1 -1
  113. package/dist/server/ee/server/src/index.mjs +2 -0
  114. package/dist/server/ee/server/src/index.mjs.map +1 -1
  115. package/dist/server/server/src/audit-logs/auth.js +72 -0
  116. package/dist/server/server/src/audit-logs/auth.js.map +1 -0
  117. package/dist/server/server/src/audit-logs/auth.mjs +67 -0
  118. package/dist/server/server/src/audit-logs/auth.mjs.map +1 -0
  119. package/dist/server/server/src/config/admin-actions.js +7 -0
  120. package/dist/server/server/src/config/admin-actions.js.map +1 -1
  121. package/dist/server/server/src/config/admin-actions.mjs +7 -0
  122. package/dist/server/server/src/config/admin-actions.mjs.map +1 -1
  123. package/dist/server/server/src/controllers/admin.js +6 -0
  124. package/dist/server/server/src/controllers/admin.js.map +1 -1
  125. package/dist/server/server/src/controllers/admin.mjs +6 -0
  126. package/dist/server/server/src/controllers/admin.mjs.map +1 -1
  127. package/dist/server/server/src/controllers/authentication.js +34 -8
  128. package/dist/server/server/src/controllers/authentication.js.map +1 -1
  129. package/dist/server/server/src/controllers/authentication.mjs +34 -8
  130. package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
  131. package/dist/server/server/src/register.js +4 -0
  132. package/dist/server/server/src/register.js.map +1 -1
  133. package/dist/server/server/src/register.mjs +4 -0
  134. package/dist/server/server/src/register.mjs.map +1 -1
  135. package/dist/server/server/src/routes/admin.js +18 -0
  136. package/dist/server/server/src/routes/admin.js.map +1 -1
  137. package/dist/server/server/src/routes/admin.mjs +18 -0
  138. package/dist/server/server/src/routes/admin.mjs.map +1 -1
  139. package/dist/server/server/src/services/auth.js +4 -2
  140. package/dist/server/server/src/services/auth.js.map +1 -1
  141. package/dist/server/server/src/services/auth.mjs +4 -3
  142. package/dist/server/server/src/services/auth.mjs.map +1 -1
  143. package/dist/server/server/src/services/debug-dump.js +173 -0
  144. package/dist/server/server/src/services/debug-dump.js.map +1 -0
  145. package/dist/server/server/src/services/debug-dump.mjs +166 -0
  146. package/dist/server/server/src/services/debug-dump.mjs.map +1 -0
  147. package/dist/server/server/src/services/index.js +3 -1
  148. package/dist/server/server/src/services/index.js.map +1 -1
  149. package/dist/server/server/src/services/index.mjs +3 -1
  150. package/dist/server/server/src/services/index.mjs.map +1 -1
  151. package/dist/server/server/src/utils/debug-dump/redact.js +197 -0
  152. package/dist/server/server/src/utils/debug-dump/redact.js.map +1 -0
  153. package/dist/server/server/src/utils/debug-dump/redact.mjs +194 -0
  154. package/dist/server/server/src/utils/debug-dump/redact.mjs.map +1 -0
  155. package/dist/server/shared/utils/get-project-type.js +49 -0
  156. package/dist/server/shared/utils/get-project-type.js.map +1 -0
  157. package/dist/server/shared/utils/get-project-type.mjs +46 -0
  158. package/dist/server/shared/utils/get-project-type.mjs.map +1 -0
  159. package/dist/server/src/audit-logs/auth.d.ts +72 -0
  160. package/dist/server/src/audit-logs/auth.d.ts.map +1 -0
  161. package/dist/server/src/config/admin-actions.d.ts.map +1 -1
  162. package/dist/server/src/controllers/admin.d.ts +3 -0
  163. package/dist/server/src/controllers/admin.d.ts.map +1 -1
  164. package/dist/server/src/controllers/authentication.d.ts.map +1 -1
  165. package/dist/server/src/controllers/index.d.ts +3 -0
  166. package/dist/server/src/controllers/index.d.ts.map +1 -1
  167. package/dist/server/src/index.d.ts +8 -0
  168. package/dist/server/src/index.d.ts.map +1 -1
  169. package/dist/server/src/register.d.ts.map +1 -1
  170. package/dist/server/src/routes/admin.d.ts.map +1 -1
  171. package/dist/server/src/services/auth.d.ts +6 -0
  172. package/dist/server/src/services/auth.d.ts.map +1 -1
  173. package/dist/server/src/services/debug-dump.d.ts +9 -0
  174. package/dist/server/src/services/debug-dump.d.ts.map +1 -0
  175. package/dist/server/src/services/index.d.ts +5 -0
  176. package/dist/server/src/services/index.d.ts.map +1 -1
  177. package/dist/server/src/utils/debug-dump/redact.d.ts +8 -0
  178. package/dist/server/src/utils/debug-dump/redact.d.ts.map +1 -0
  179. package/dist/shared/contracts/admin.d.ts +106 -0
  180. package/dist/shared/contracts/admin.d.ts.map +1 -1
  181. package/dist/shared/utils/__tests__/get-project-type.test.d.ts +1 -0
  182. package/dist/shared/utils/__tests__/get-project-type.test.d.ts.map +1 -0
  183. package/dist/shared/utils/get-project-type.d.ts +37 -0
  184. package/dist/shared/utils/get-project-type.d.ts.map +1 -0
  185. package/package.json +8 -8
  186. package/dist/admin/admin/src/utils/getProjectType.js +0 -22
  187. package/dist/admin/admin/src/utils/getProjectType.js.map +0 -1
  188. package/dist/admin/admin/src/utils/getProjectType.mjs +0 -20
  189. package/dist/admin/admin/src/utils/getProjectType.mjs.map +0 -1
  190. package/dist/admin/src/utils/getProjectType.d.ts +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"getActionTypesDefaultMessages.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.ts"],"sourcesContent":["export const actionTypes = {\n 'entry.create': 'Create entry{model, select, undefined {} other { ({model})}}',\n 'entry.update': 'Update entry{model, select, undefined {} other { ({model})}}',\n 'entry.delete': 'Delete entry{model, select, undefined {} other { ({model})}}',\n 'entry.publish': 'Publish entry{model, select, undefined {} other { ({model})}}',\n 'entry.unpublish': 'Unpublish entry{model, select, undefined {} other { ({model})}}',\n 'media.create': 'Create media',\n 'media.update': 'Update media',\n 'media.delete': 'Delete media',\n 'media-folder.create': 'Create media folder',\n 'media-folder.update': 'Update media folder',\n 'media-folder.delete': 'Delete media folder',\n 'user.create': 'Create user',\n 'user.update': 'Update user',\n 'user.delete': 'Delete user',\n 'admin.auth.success': 'Admin login',\n 'admin.logout': 'Admin logout',\n 'content-type.create': 'Create content type',\n 'content-type.update': 'Update content type',\n 'content-type.delete': 'Delete content type',\n 'component.create': 'Create component',\n 'component.update': 'Update component',\n 'component.delete': 'Delete component',\n 'role.create': 'Create role',\n 'role.update': 'Update role',\n 'role.delete': 'Delete role',\n 'permission.create': 'Create permission',\n 'permission.update': 'Update permission',\n 'permission.delete': 'Delete permission',\n 'release.create': 'Create release',\n 'release.update': 'Update release',\n 'release.delete': 'Delete release',\n 'release.trigger': 'Trigger release',\n 'release.entry.add': 'Add entry to release',\n 'release.entry.update': 'Change entry on release',\n 'release.entry.remove': 'Remove entry from release',\n 'release.settings.update': 'Update release settings',\n 'audit-log.export': 'Export audit logs',\n 'locale.create': 'Create locale',\n 'locale.update': 'Update locale',\n 'locale.delete': 'Delete locale',\n 'locale.default.update': 'Change default locale',\n 'token.create': 'Create token',\n 'token.update': 'Update token',\n 'token.delete': 'Delete token',\n 'token.regenerate': 'Regenerate token',\n 'admin-user.create': 'Create user',\n 'admin-user.update': 'Update user',\n 'admin-user.delete': 'Delete user',\n 'admin-user.invite.accept': 'Accept invitation',\n 'admin-user.password-reset.create': 'Request password reset',\n 'admin-user.password-reset.confirm': 'Reset password',\n 'admin-user.password.update': 'Update password',\n 'webhook.create': 'Create webhook',\n 'webhook.update': 'Update webhook',\n 'webhook.delete': 'Delete webhook',\n 'workflow.create': 'Create workflow',\n 'workflow.update': 'Update workflow',\n 'workflow.delete': 'Delete workflow',\n 'review-workflows.updateEntryStage': 'Change entry stage',\n 'entry.assignee.update': 'Change entry assignee',\n};\n\nexport const getDefaultMessage = (value: keyof typeof actionTypes) => {\n return actionTypes[value] || value;\n};\n"],"names":["actionTypes","getDefaultMessage","value"],"mappings":";;MAAaA,WAAAA,GAAc;IACzB,cAAA,EAAgB,8DAAA;IAChB,cAAA,EAAgB,8DAAA;IAChB,cAAA,EAAgB,8DAAA;IAChB,eAAA,EAAiB,+DAAA;IACjB,iBAAA,EAAmB,iEAAA;IACnB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,oBAAA,EAAsB,aAAA;IACtB,cAAA,EAAgB,cAAA;IAChB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,kBAAA,EAAoB,kBAAA;IACpB,kBAAA,EAAoB,kBAAA;IACpB,kBAAA,EAAoB,kBAAA;IACpB,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,mBAAA,EAAqB,mBAAA;IACrB,mBAAA,EAAqB,mBAAA;IACrB,mBAAA,EAAqB,mBAAA;IACrB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,iBAAA,EAAmB,iBAAA;IACnB,mBAAA,EAAqB,sBAAA;IACrB,sBAAA,EAAwB,yBAAA;IACxB,sBAAA,EAAwB,2BAAA;IACxB,yBAAA,EAA2B,yBAAA;IAC3B,kBAAA,EAAoB,mBAAA;IACpB,eAAA,EAAiB,eAAA;IACjB,eAAA,EAAiB,eAAA;IACjB,eAAA,EAAiB,eAAA;IACjB,uBAAA,EAAyB,uBAAA;IACzB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,kBAAA,EAAoB,kBAAA;IACpB,mBAAA,EAAqB,aAAA;IACrB,mBAAA,EAAqB,aAAA;IACrB,mBAAA,EAAqB,aAAA;IACrB,0BAAA,EAA4B,mBAAA;IAC5B,kCAAA,EAAoC,wBAAA;IACpC,mCAAA,EAAqC,gBAAA;IACrC,4BAAA,EAA8B,iBAAA;IAC9B,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,iBAAA,EAAmB,iBAAA;IACnB,iBAAA,EAAmB,iBAAA;IACnB,iBAAA,EAAmB,iBAAA;IACnB,mCAAA,EAAqC,oBAAA;IACrC,uBAAA,EAAyB;AAC3B;AAEO,MAAMC,oBAAoB,CAACC,KAAAA,GAAAA;IAChC,OAAOF,WAAW,CAACE,KAAAA,CAAM,IAAIA,KAAAA;AAC/B;;;;;"}
1
+ {"version":3,"file":"getActionTypesDefaultMessages.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.ts"],"sourcesContent":["export const actionTypes = {\n 'entry.create': 'Create entry{model, select, undefined {} other { ({model})}}',\n 'entry.update': 'Update entry{model, select, undefined {} other { ({model})}}',\n 'entry.delete': 'Delete entry{model, select, undefined {} other { ({model})}}',\n 'entry.publish': 'Publish entry{model, select, undefined {} other { ({model})}}',\n 'entry.unpublish': 'Unpublish entry{model, select, undefined {} other { ({model})}}',\n 'media.create': 'Create media',\n 'media.update': 'Update media',\n 'media.delete': 'Delete media',\n 'media-folder.create': 'Create media folder',\n 'media-folder.update': 'Update media folder',\n 'media-folder.delete': 'Delete media folder',\n 'user.create': 'Create user',\n 'user.update': 'Update user',\n 'user.delete': 'Delete user',\n 'admin.auth.success': 'Admin login',\n 'admin.auth.error': 'Failed admin login',\n 'admin.auth.autoRegistration': 'SSO auto-registration',\n 'admin.logout': 'Admin logout',\n 'content-type.create': 'Create content type',\n 'content-type.update': 'Update content type',\n 'content-type.delete': 'Delete content type',\n 'component.create': 'Create component',\n 'component.update': 'Update component',\n 'component.delete': 'Delete component',\n 'role.create': 'Create role',\n 'role.update': 'Update role',\n 'role.delete': 'Delete role',\n 'permission.create': 'Create permission',\n 'permission.update': 'Update permission',\n 'permission.delete': 'Delete permission',\n 'release.create': 'Create release',\n 'release.update': 'Update release',\n 'release.delete': 'Delete release',\n 'release.trigger': 'Trigger release',\n 'release.entry.add': 'Add entry to release',\n 'release.entry.update': 'Change entry on release',\n 'release.entry.remove': 'Remove entry from release',\n 'release.settings.update': 'Update release settings',\n 'audit-log.export': 'Export audit logs',\n 'locale.create': 'Create locale',\n 'locale.update': 'Update locale',\n 'locale.delete': 'Delete locale',\n 'locale.default.update': 'Change default locale',\n 'token.create': 'Create token',\n 'token.update': 'Update token',\n 'token.delete': 'Delete token',\n 'token.regenerate': 'Regenerate token',\n 'admin-user.create': 'Create user',\n 'admin-user.update': 'Update user',\n 'admin-user.delete': 'Delete user',\n 'admin-user.invite.accept': 'Accept invitation',\n 'admin-user.password-reset.create': 'Request password reset',\n 'admin-user.password-reset.confirm': 'Reset password',\n 'admin-user.password.update': 'Update password',\n 'webhook.create': 'Create webhook',\n 'webhook.update': 'Update webhook',\n 'webhook.delete': 'Delete webhook',\n 'workflow.create': 'Create workflow',\n 'workflow.update': 'Update workflow',\n 'workflow.delete': 'Delete workflow',\n 'review-workflows.updateEntryStage': 'Change entry stage',\n 'entry.assignee.update': 'Change entry assignee',\n};\n\nexport const getDefaultMessage = (value: keyof typeof actionTypes) => {\n return actionTypes[value] || value;\n};\n"],"names":["actionTypes","getDefaultMessage","value"],"mappings":";;MAAaA,WAAAA,GAAc;IACzB,cAAA,EAAgB,8DAAA;IAChB,cAAA,EAAgB,8DAAA;IAChB,cAAA,EAAgB,8DAAA;IAChB,eAAA,EAAiB,+DAAA;IACjB,iBAAA,EAAmB,iEAAA;IACnB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,oBAAA,EAAsB,aAAA;IACtB,kBAAA,EAAoB,oBAAA;IACpB,6BAAA,EAA+B,uBAAA;IAC/B,cAAA,EAAgB,cAAA;IAChB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,kBAAA,EAAoB,kBAAA;IACpB,kBAAA,EAAoB,kBAAA;IACpB,kBAAA,EAAoB,kBAAA;IACpB,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,mBAAA,EAAqB,mBAAA;IACrB,mBAAA,EAAqB,mBAAA;IACrB,mBAAA,EAAqB,mBAAA;IACrB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,iBAAA,EAAmB,iBAAA;IACnB,mBAAA,EAAqB,sBAAA;IACrB,sBAAA,EAAwB,yBAAA;IACxB,sBAAA,EAAwB,2BAAA;IACxB,yBAAA,EAA2B,yBAAA;IAC3B,kBAAA,EAAoB,mBAAA;IACpB,eAAA,EAAiB,eAAA;IACjB,eAAA,EAAiB,eAAA;IACjB,eAAA,EAAiB,eAAA;IACjB,uBAAA,EAAyB,uBAAA;IACzB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,kBAAA,EAAoB,kBAAA;IACpB,mBAAA,EAAqB,aAAA;IACrB,mBAAA,EAAqB,aAAA;IACrB,mBAAA,EAAqB,aAAA;IACrB,0BAAA,EAA4B,mBAAA;IAC5B,kCAAA,EAAoC,wBAAA;IACpC,mCAAA,EAAqC,gBAAA;IACrC,4BAAA,EAA8B,iBAAA;IAC9B,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,iBAAA,EAAmB,iBAAA;IACnB,iBAAA,EAAmB,iBAAA;IACnB,iBAAA,EAAmB,iBAAA;IACnB,mCAAA,EAAqC,oBAAA;IACrC,uBAAA,EAAyB;AAC3B;AAEO,MAAMC,oBAAoB,CAACC,KAAAA,GAAAA;IAChC,OAAOF,WAAW,CAACE,KAAAA,CAAM,IAAIA,KAAAA;AAC/B;;;;;"}
@@ -14,6 +14,8 @@ const actionTypes = {
14
14
  'user.update': 'Update user',
15
15
  'user.delete': 'Delete user',
16
16
  'admin.auth.success': 'Admin login',
17
+ 'admin.auth.error': 'Failed admin login',
18
+ 'admin.auth.autoRegistration': 'SSO auto-registration',
17
19
  'admin.logout': 'Admin logout',
18
20
  'content-type.create': 'Create content type',
19
21
  'content-type.update': 'Update content type',
@@ -1 +1 @@
1
- {"version":3,"file":"getActionTypesDefaultMessages.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.ts"],"sourcesContent":["export const actionTypes = {\n 'entry.create': 'Create entry{model, select, undefined {} other { ({model})}}',\n 'entry.update': 'Update entry{model, select, undefined {} other { ({model})}}',\n 'entry.delete': 'Delete entry{model, select, undefined {} other { ({model})}}',\n 'entry.publish': 'Publish entry{model, select, undefined {} other { ({model})}}',\n 'entry.unpublish': 'Unpublish entry{model, select, undefined {} other { ({model})}}',\n 'media.create': 'Create media',\n 'media.update': 'Update media',\n 'media.delete': 'Delete media',\n 'media-folder.create': 'Create media folder',\n 'media-folder.update': 'Update media folder',\n 'media-folder.delete': 'Delete media folder',\n 'user.create': 'Create user',\n 'user.update': 'Update user',\n 'user.delete': 'Delete user',\n 'admin.auth.success': 'Admin login',\n 'admin.logout': 'Admin logout',\n 'content-type.create': 'Create content type',\n 'content-type.update': 'Update content type',\n 'content-type.delete': 'Delete content type',\n 'component.create': 'Create component',\n 'component.update': 'Update component',\n 'component.delete': 'Delete component',\n 'role.create': 'Create role',\n 'role.update': 'Update role',\n 'role.delete': 'Delete role',\n 'permission.create': 'Create permission',\n 'permission.update': 'Update permission',\n 'permission.delete': 'Delete permission',\n 'release.create': 'Create release',\n 'release.update': 'Update release',\n 'release.delete': 'Delete release',\n 'release.trigger': 'Trigger release',\n 'release.entry.add': 'Add entry to release',\n 'release.entry.update': 'Change entry on release',\n 'release.entry.remove': 'Remove entry from release',\n 'release.settings.update': 'Update release settings',\n 'audit-log.export': 'Export audit logs',\n 'locale.create': 'Create locale',\n 'locale.update': 'Update locale',\n 'locale.delete': 'Delete locale',\n 'locale.default.update': 'Change default locale',\n 'token.create': 'Create token',\n 'token.update': 'Update token',\n 'token.delete': 'Delete token',\n 'token.regenerate': 'Regenerate token',\n 'admin-user.create': 'Create user',\n 'admin-user.update': 'Update user',\n 'admin-user.delete': 'Delete user',\n 'admin-user.invite.accept': 'Accept invitation',\n 'admin-user.password-reset.create': 'Request password reset',\n 'admin-user.password-reset.confirm': 'Reset password',\n 'admin-user.password.update': 'Update password',\n 'webhook.create': 'Create webhook',\n 'webhook.update': 'Update webhook',\n 'webhook.delete': 'Delete webhook',\n 'workflow.create': 'Create workflow',\n 'workflow.update': 'Update workflow',\n 'workflow.delete': 'Delete workflow',\n 'review-workflows.updateEntryStage': 'Change entry stage',\n 'entry.assignee.update': 'Change entry assignee',\n};\n\nexport const getDefaultMessage = (value: keyof typeof actionTypes) => {\n return actionTypes[value] || value;\n};\n"],"names":["actionTypes","getDefaultMessage","value"],"mappings":"MAAaA,WAAAA,GAAc;IACzB,cAAA,EAAgB,8DAAA;IAChB,cAAA,EAAgB,8DAAA;IAChB,cAAA,EAAgB,8DAAA;IAChB,eAAA,EAAiB,+DAAA;IACjB,iBAAA,EAAmB,iEAAA;IACnB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,oBAAA,EAAsB,aAAA;IACtB,cAAA,EAAgB,cAAA;IAChB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,kBAAA,EAAoB,kBAAA;IACpB,kBAAA,EAAoB,kBAAA;IACpB,kBAAA,EAAoB,kBAAA;IACpB,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,mBAAA,EAAqB,mBAAA;IACrB,mBAAA,EAAqB,mBAAA;IACrB,mBAAA,EAAqB,mBAAA;IACrB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,iBAAA,EAAmB,iBAAA;IACnB,mBAAA,EAAqB,sBAAA;IACrB,sBAAA,EAAwB,yBAAA;IACxB,sBAAA,EAAwB,2BAAA;IACxB,yBAAA,EAA2B,yBAAA;IAC3B,kBAAA,EAAoB,mBAAA;IACpB,eAAA,EAAiB,eAAA;IACjB,eAAA,EAAiB,eAAA;IACjB,eAAA,EAAiB,eAAA;IACjB,uBAAA,EAAyB,uBAAA;IACzB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,kBAAA,EAAoB,kBAAA;IACpB,mBAAA,EAAqB,aAAA;IACrB,mBAAA,EAAqB,aAAA;IACrB,mBAAA,EAAqB,aAAA;IACrB,0BAAA,EAA4B,mBAAA;IAC5B,kCAAA,EAAoC,wBAAA;IACpC,mCAAA,EAAqC,gBAAA;IACrC,4BAAA,EAA8B,iBAAA;IAC9B,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,iBAAA,EAAmB,iBAAA;IACnB,iBAAA,EAAmB,iBAAA;IACnB,iBAAA,EAAmB,iBAAA;IACnB,mCAAA,EAAqC,oBAAA;IACrC,uBAAA,EAAyB;AAC3B;AAEO,MAAMC,oBAAoB,CAACC,KAAAA,GAAAA;IAChC,OAAOF,WAAW,CAACE,KAAAA,CAAM,IAAIA,KAAAA;AAC/B;;;;"}
1
+ {"version":3,"file":"getActionTypesDefaultMessages.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.ts"],"sourcesContent":["export const actionTypes = {\n 'entry.create': 'Create entry{model, select, undefined {} other { ({model})}}',\n 'entry.update': 'Update entry{model, select, undefined {} other { ({model})}}',\n 'entry.delete': 'Delete entry{model, select, undefined {} other { ({model})}}',\n 'entry.publish': 'Publish entry{model, select, undefined {} other { ({model})}}',\n 'entry.unpublish': 'Unpublish entry{model, select, undefined {} other { ({model})}}',\n 'media.create': 'Create media',\n 'media.update': 'Update media',\n 'media.delete': 'Delete media',\n 'media-folder.create': 'Create media folder',\n 'media-folder.update': 'Update media folder',\n 'media-folder.delete': 'Delete media folder',\n 'user.create': 'Create user',\n 'user.update': 'Update user',\n 'user.delete': 'Delete user',\n 'admin.auth.success': 'Admin login',\n 'admin.auth.error': 'Failed admin login',\n 'admin.auth.autoRegistration': 'SSO auto-registration',\n 'admin.logout': 'Admin logout',\n 'content-type.create': 'Create content type',\n 'content-type.update': 'Update content type',\n 'content-type.delete': 'Delete content type',\n 'component.create': 'Create component',\n 'component.update': 'Update component',\n 'component.delete': 'Delete component',\n 'role.create': 'Create role',\n 'role.update': 'Update role',\n 'role.delete': 'Delete role',\n 'permission.create': 'Create permission',\n 'permission.update': 'Update permission',\n 'permission.delete': 'Delete permission',\n 'release.create': 'Create release',\n 'release.update': 'Update release',\n 'release.delete': 'Delete release',\n 'release.trigger': 'Trigger release',\n 'release.entry.add': 'Add entry to release',\n 'release.entry.update': 'Change entry on release',\n 'release.entry.remove': 'Remove entry from release',\n 'release.settings.update': 'Update release settings',\n 'audit-log.export': 'Export audit logs',\n 'locale.create': 'Create locale',\n 'locale.update': 'Update locale',\n 'locale.delete': 'Delete locale',\n 'locale.default.update': 'Change default locale',\n 'token.create': 'Create token',\n 'token.update': 'Update token',\n 'token.delete': 'Delete token',\n 'token.regenerate': 'Regenerate token',\n 'admin-user.create': 'Create user',\n 'admin-user.update': 'Update user',\n 'admin-user.delete': 'Delete user',\n 'admin-user.invite.accept': 'Accept invitation',\n 'admin-user.password-reset.create': 'Request password reset',\n 'admin-user.password-reset.confirm': 'Reset password',\n 'admin-user.password.update': 'Update password',\n 'webhook.create': 'Create webhook',\n 'webhook.update': 'Update webhook',\n 'webhook.delete': 'Delete webhook',\n 'workflow.create': 'Create workflow',\n 'workflow.update': 'Update workflow',\n 'workflow.delete': 'Delete workflow',\n 'review-workflows.updateEntryStage': 'Change entry stage',\n 'entry.assignee.update': 'Change entry assignee',\n};\n\nexport const getDefaultMessage = (value: keyof typeof actionTypes) => {\n return actionTypes[value] || value;\n};\n"],"names":["actionTypes","getDefaultMessage","value"],"mappings":"MAAaA,WAAAA,GAAc;IACzB,cAAA,EAAgB,8DAAA;IAChB,cAAA,EAAgB,8DAAA;IAChB,cAAA,EAAgB,8DAAA;IAChB,eAAA,EAAiB,+DAAA;IACjB,iBAAA,EAAmB,iEAAA;IACnB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,oBAAA,EAAsB,aAAA;IACtB,kBAAA,EAAoB,oBAAA;IACpB,6BAAA,EAA+B,uBAAA;IAC/B,cAAA,EAAgB,cAAA;IAChB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,qBAAA,EAAuB,qBAAA;IACvB,kBAAA,EAAoB,kBAAA;IACpB,kBAAA,EAAoB,kBAAA;IACpB,kBAAA,EAAoB,kBAAA;IACpB,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,aAAA,EAAe,aAAA;IACf,mBAAA,EAAqB,mBAAA;IACrB,mBAAA,EAAqB,mBAAA;IACrB,mBAAA,EAAqB,mBAAA;IACrB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,iBAAA,EAAmB,iBAAA;IACnB,mBAAA,EAAqB,sBAAA;IACrB,sBAAA,EAAwB,yBAAA;IACxB,sBAAA,EAAwB,2BAAA;IACxB,yBAAA,EAA2B,yBAAA;IAC3B,kBAAA,EAAoB,mBAAA;IACpB,eAAA,EAAiB,eAAA;IACjB,eAAA,EAAiB,eAAA;IACjB,eAAA,EAAiB,eAAA;IACjB,uBAAA,EAAyB,uBAAA;IACzB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,cAAA,EAAgB,cAAA;IAChB,kBAAA,EAAoB,kBAAA;IACpB,mBAAA,EAAqB,aAAA;IACrB,mBAAA,EAAqB,aAAA;IACrB,mBAAA,EAAqB,aAAA;IACrB,0BAAA,EAA4B,mBAAA;IAC5B,kCAAA,EAAoC,wBAAA;IACpC,mCAAA,EAAqC,gBAAA;IACrC,4BAAA,EAA8B,iBAAA;IAC9B,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,gBAAA,EAAkB,gBAAA;IAClB,iBAAA,EAAmB,iBAAA;IACnB,iBAAA,EAAmB,iBAAA;IACnB,iBAAA,EAAmB,iBAAA;IACnB,mCAAA,EAAqC,oBAAA;IACrC,uBAAA,EAAyB;AAC3B;AAEO,MAAMC,oBAAoB,CAACC,KAAAA,GAAAA;IAChC,OAAOF,WAAW,CAACE,KAAAA,CAAM,IAAIA,KAAAA;AAC/B;;;;"}
@@ -112,6 +112,7 @@ exports.ADMIN_REFRESH_LOCK = getFetchClient.ADMIN_REFRESH_LOCK;
112
112
  exports.FetchError = getFetchClient.FetchError;
113
113
  exports.attemptTokenRefresh = getFetchClient.attemptTokenRefresh;
114
114
  exports.getFetchClient = getFetchClient.getFetchClient;
115
+ exports.isAbortError = getFetchClient.isAbortError;
115
116
  exports.isFetchError = getFetchClient.isFetchError;
116
117
  exports.refreshAccessToken = getFetchClient.refreshAccessToken;
117
118
  exports.resetSessionExpiredNotification = getFetchClient.resetSessionExpiredNotification;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -39,7 +39,7 @@ export { usePersistentState, usePersistentStateScope, useScopedPersistentState }
39
39
  export { useAdminUsers } from './admin/src/services/users.mjs';
40
40
  export { useGetCountDocumentsQuery } from './admin/src/services/homepage.mjs';
41
41
  export { translatedErrors } from './admin/src/utils/translatedErrors.mjs';
42
- export { ADMIN_REFRESH_LOCK, FetchError, attemptTokenRefresh, getFetchClient, isFetchError, refreshAccessToken, resetSessionExpiredNotification, setOnSessionExpired, setOnTokenUpdate, storeToken, triggerSessionExpired } from './admin/src/utils/getFetchClient.mjs';
42
+ export { ADMIN_REFRESH_LOCK, FetchError, attemptTokenRefresh, getFetchClient, isAbortError, isFetchError, refreshAccessToken, resetSessionExpiredNotification, setOnSessionExpired, setOnTokenUpdate, storeToken, triggerSessionExpired } from './admin/src/utils/getFetchClient.mjs';
43
43
  export { fetchBaseQuery, isBaseQueryError } from './admin/src/utils/baseQuery.mjs';
44
44
  export { createRulesEngine } from './admin/src/utils/rulesEngine.mjs';
45
45
  export { getDisplayName, getInitials, hashAdminUserEmail } from './admin/src/utils/users.mjs';
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Resolves the plan label from the license information returned by the
5
+ * `/admin/project-type` endpoint (browser) or `strapi.ee` (server).
6
+ *
7
+ * This labels the edition that is running: it follows `isEE`, so a lapsed license reads
8
+ * Community. Browser tracking and NPS report this label and the startup table applies the same
9
+ * rule; server metrics also label the running edition, but never say Growth. For the plan a
10
+ * license was issued for, lapsed or not (the Plan card, the Support card and the debug dump),
11
+ * use `getLicensedPlan` below.
12
+ *
13
+ * The label is intentionally limited to three values:
14
+ * - `Community` when there is no license (Community Edition).
15
+ * - `Growth` when the licensed plan price id contains "growth".
16
+ * - `Enterprise` for any other licensed plan.
17
+ */ const getProjectType = ({ isEE, planPriceId })=>{
18
+ if (!isEE) {
19
+ return 'Community';
20
+ }
21
+ if (planPriceId?.toLowerCase().includes('growth')) {
22
+ return 'Growth';
23
+ }
24
+ return 'Enterprise';
25
+ };
26
+ // The statuses a license can be in once it has been read. `none` (never licensed) is left out
27
+ // on purpose, and so is a missing status, which a mixed-version install can produce.
28
+ const LICENSED_STATUSES = [
29
+ 'active',
30
+ 'expired',
31
+ 'unknown'
32
+ ];
33
+ /**
34
+ * Resolves the plan a license was issued for, including one that has lapsed or can no longer
35
+ * be read, so Support links, the Plan card and the debug dump can still name it. It unlocks
36
+ * nothing: feature gating stays on `isEE`.
37
+ *
38
+ * A plan is only reported when a type was verified at some point (live, or retained once the
39
+ * license lapsed) AND the status is licensed. A corrupt license file sets `unknown` before any
40
+ * type is stored, and with no price id `getProjectType` would fall through to Enterprise, so
41
+ * both conditions are required. Every caller that derives a plan should go through here.
42
+ */ const getLicensedPlan = ({ licenseStatus, type, planPriceId })=>getProjectType({
43
+ isEE: Boolean(type) && LICENSED_STATUSES.includes(licenseStatus ?? ''),
44
+ planPriceId: planPriceId ?? undefined
45
+ });
46
+
47
+ exports.getLicensedPlan = getLicensedPlan;
48
+ exports.getProjectType = getProjectType;
49
+ //# sourceMappingURL=get-project-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project-type.js","sources":["../../../../shared/utils/get-project-type.ts"],"sourcesContent":["type ProjectType = 'Community' | 'Growth' | 'Enterprise';\n\n/**\n * Resolves the plan label from the license information returned by the\n * `/admin/project-type` endpoint (browser) or `strapi.ee` (server).\n *\n * This labels the edition that is running: it follows `isEE`, so a lapsed license reads\n * Community. Browser tracking and NPS report this label and the startup table applies the same\n * rule; server metrics also label the running edition, but never say Growth. For the plan a\n * license was issued for, lapsed or not (the Plan card, the Support card and the debug dump),\n * use `getLicensedPlan` below.\n *\n * The label is intentionally limited to three values:\n * - `Community` when there is no license (Community Edition).\n * - `Growth` when the licensed plan price id contains \"growth\".\n * - `Enterprise` for any other licensed plan.\n */\nconst getProjectType = ({\n isEE,\n planPriceId,\n}: {\n isEE: boolean;\n planPriceId?: string;\n}): ProjectType => {\n if (!isEE) {\n return 'Community';\n }\n\n if (planPriceId?.toLowerCase().includes('growth')) {\n return 'Growth';\n }\n\n return 'Enterprise';\n};\n\n// The statuses a license can be in once it has been read. `none` (never licensed) is left out\n// on purpose, and so is a missing status, which a mixed-version install can produce.\nconst LICENSED_STATUSES: readonly string[] = ['active', 'expired', 'unknown'];\n\n/**\n * Resolves the plan a license was issued for, including one that has lapsed or can no longer\n * be read, so Support links, the Plan card and the debug dump can still name it. It unlocks\n * nothing: feature gating stays on `isEE`.\n *\n * A plan is only reported when a type was verified at some point (live, or retained once the\n * license lapsed) AND the status is licensed. A corrupt license file sets `unknown` before any\n * type is stored, and with no price id `getProjectType` would fall through to Enterprise, so\n * both conditions are required. Every caller that derives a plan should go through here.\n */\nconst getLicensedPlan = ({\n licenseStatus,\n type,\n planPriceId,\n}: {\n licenseStatus: string | null | undefined;\n type: string | null | undefined;\n planPriceId?: string | null;\n}): ProjectType =>\n getProjectType({\n isEE: Boolean(type) && LICENSED_STATUSES.includes(licenseStatus ?? ''),\n planPriceId: planPriceId ?? undefined,\n });\n\nexport { getLicensedPlan, getProjectType };\nexport type { ProjectType };\n"],"names":["getProjectType","isEE","planPriceId","toLowerCase","includes","LICENSED_STATUSES","getLicensedPlan","licenseStatus","type","Boolean","undefined"],"mappings":";;AAEA;;;;;;;;;;;;;;AAcC,UACKA,cAAAA,GAAiB,CAAC,EACtBC,IAAI,EACJC,WAAW,EAIZ,GAAA;AACC,IAAA,IAAI,CAACD,IAAAA,EAAM;QACT,OAAO,WAAA;AACT,IAAA;IAEA,IAAIC,WAAAA,EAAaC,WAAAA,EAAAA,CAAcC,QAAAA,CAAS,QAAA,CAAA,EAAW;QACjD,OAAO,QAAA;AACT,IAAA;IAEA,OAAO,YAAA;AACT;AAEA;AACA;AACA,MAAMC,iBAAAA,GAAuC;AAAC,IAAA,QAAA;AAAU,IAAA,SAAA;AAAW,IAAA;AAAU,CAAA;AAE7E;;;;;;;;;IAUA,MAAMC,eAAAA,GAAkB,CAAC,EACvBC,aAAa,EACbC,IAAI,EACJN,WAAW,EAKZ,GACCF,cAAAA,CAAe;AACbC,QAAAA,IAAAA,EAAMQ,OAAAA,CAAQD,IAAAA,CAAAA,IAASH,iBAAAA,CAAkBD,QAAQ,CAACG,aAAAA,IAAiB,EAAA,CAAA;AACnEL,QAAAA,WAAAA,EAAaA,WAAAA,IAAeQ;AAC9B,KAAA;;;;;"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Resolves the plan label from the license information returned by the
3
+ * `/admin/project-type` endpoint (browser) or `strapi.ee` (server).
4
+ *
5
+ * This labels the edition that is running: it follows `isEE`, so a lapsed license reads
6
+ * Community. Browser tracking and NPS report this label and the startup table applies the same
7
+ * rule; server metrics also label the running edition, but never say Growth. For the plan a
8
+ * license was issued for, lapsed or not (the Plan card, the Support card and the debug dump),
9
+ * use `getLicensedPlan` below.
10
+ *
11
+ * The label is intentionally limited to three values:
12
+ * - `Community` when there is no license (Community Edition).
13
+ * - `Growth` when the licensed plan price id contains "growth".
14
+ * - `Enterprise` for any other licensed plan.
15
+ */ const getProjectType = ({ isEE, planPriceId })=>{
16
+ if (!isEE) {
17
+ return 'Community';
18
+ }
19
+ if (planPriceId?.toLowerCase().includes('growth')) {
20
+ return 'Growth';
21
+ }
22
+ return 'Enterprise';
23
+ };
24
+ // The statuses a license can be in once it has been read. `none` (never licensed) is left out
25
+ // on purpose, and so is a missing status, which a mixed-version install can produce.
26
+ const LICENSED_STATUSES = [
27
+ 'active',
28
+ 'expired',
29
+ 'unknown'
30
+ ];
31
+ /**
32
+ * Resolves the plan a license was issued for, including one that has lapsed or can no longer
33
+ * be read, so Support links, the Plan card and the debug dump can still name it. It unlocks
34
+ * nothing: feature gating stays on `isEE`.
35
+ *
36
+ * A plan is only reported when a type was verified at some point (live, or retained once the
37
+ * license lapsed) AND the status is licensed. A corrupt license file sets `unknown` before any
38
+ * type is stored, and with no price id `getProjectType` would fall through to Enterprise, so
39
+ * both conditions are required. Every caller that derives a plan should go through here.
40
+ */ const getLicensedPlan = ({ licenseStatus, type, planPriceId })=>getProjectType({
41
+ isEE: Boolean(type) && LICENSED_STATUSES.includes(licenseStatus ?? ''),
42
+ planPriceId: planPriceId ?? undefined
43
+ });
44
+
45
+ export { getLicensedPlan, getProjectType };
46
+ //# sourceMappingURL=get-project-type.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project-type.mjs","sources":["../../../../shared/utils/get-project-type.ts"],"sourcesContent":["type ProjectType = 'Community' | 'Growth' | 'Enterprise';\n\n/**\n * Resolves the plan label from the license information returned by the\n * `/admin/project-type` endpoint (browser) or `strapi.ee` (server).\n *\n * This labels the edition that is running: it follows `isEE`, so a lapsed license reads\n * Community. Browser tracking and NPS report this label and the startup table applies the same\n * rule; server metrics also label the running edition, but never say Growth. For the plan a\n * license was issued for, lapsed or not (the Plan card, the Support card and the debug dump),\n * use `getLicensedPlan` below.\n *\n * The label is intentionally limited to three values:\n * - `Community` when there is no license (Community Edition).\n * - `Growth` when the licensed plan price id contains \"growth\".\n * - `Enterprise` for any other licensed plan.\n */\nconst getProjectType = ({\n isEE,\n planPriceId,\n}: {\n isEE: boolean;\n planPriceId?: string;\n}): ProjectType => {\n if (!isEE) {\n return 'Community';\n }\n\n if (planPriceId?.toLowerCase().includes('growth')) {\n return 'Growth';\n }\n\n return 'Enterprise';\n};\n\n// The statuses a license can be in once it has been read. `none` (never licensed) is left out\n// on purpose, and so is a missing status, which a mixed-version install can produce.\nconst LICENSED_STATUSES: readonly string[] = ['active', 'expired', 'unknown'];\n\n/**\n * Resolves the plan a license was issued for, including one that has lapsed or can no longer\n * be read, so Support links, the Plan card and the debug dump can still name it. It unlocks\n * nothing: feature gating stays on `isEE`.\n *\n * A plan is only reported when a type was verified at some point (live, or retained once the\n * license lapsed) AND the status is licensed. A corrupt license file sets `unknown` before any\n * type is stored, and with no price id `getProjectType` would fall through to Enterprise, so\n * both conditions are required. Every caller that derives a plan should go through here.\n */\nconst getLicensedPlan = ({\n licenseStatus,\n type,\n planPriceId,\n}: {\n licenseStatus: string | null | undefined;\n type: string | null | undefined;\n planPriceId?: string | null;\n}): ProjectType =>\n getProjectType({\n isEE: Boolean(type) && LICENSED_STATUSES.includes(licenseStatus ?? ''),\n planPriceId: planPriceId ?? undefined,\n });\n\nexport { getLicensedPlan, getProjectType };\nexport type { ProjectType };\n"],"names":["getProjectType","isEE","planPriceId","toLowerCase","includes","LICENSED_STATUSES","getLicensedPlan","licenseStatus","type","Boolean","undefined"],"mappings":"AAEA;;;;;;;;;;;;;;AAcC,UACKA,cAAAA,GAAiB,CAAC,EACtBC,IAAI,EACJC,WAAW,EAIZ,GAAA;AACC,IAAA,IAAI,CAACD,IAAAA,EAAM;QACT,OAAO,WAAA;AACT,IAAA;IAEA,IAAIC,WAAAA,EAAaC,WAAAA,EAAAA,CAAcC,QAAAA,CAAS,QAAA,CAAA,EAAW;QACjD,OAAO,QAAA;AACT,IAAA;IAEA,OAAO,YAAA;AACT;AAEA;AACA;AACA,MAAMC,iBAAAA,GAAuC;AAAC,IAAA,QAAA;AAAU,IAAA,SAAA;AAAW,IAAA;AAAU,CAAA;AAE7E;;;;;;;;;IAUA,MAAMC,eAAAA,GAAkB,CAAC,EACvBC,aAAa,EACbC,IAAI,EACJN,WAAW,EAKZ,GACCF,cAAAA,CAAe;AACbC,QAAAA,IAAAA,EAAMQ,OAAAA,CAAQD,IAAAA,CAAAA,IAASH,iBAAAA,CAAkBD,QAAQ,CAACG,aAAAA,IAAiB,EAAA,CAAA;AACnEL,QAAAA,WAAAA,EAAaA,WAAAA,IAAeQ;AAC9B,KAAA;;;;"}
@@ -180,6 +180,16 @@ export declare const ADMIN_PERMISSIONS_CE: {
180
180
  subject: null;
181
181
  }[];
182
182
  };
183
+ 'debug-dump': {
184
+ main: {
185
+ action: string;
186
+ subject: null;
187
+ }[];
188
+ read: {
189
+ action: string;
190
+ subject: null;
191
+ }[];
192
+ };
183
193
  plugins: {
184
194
  main: {
185
195
  action: string;
@@ -1,2 +1,2 @@
1
- declare const ApplicationInfoPage: () => import("react/jsx-runtime").JSX.Element | null;
1
+ declare const ApplicationInfoPage: () => import("react/jsx-runtime").JSX.Element;
2
2
  export { ApplicationInfoPage };
@@ -0,0 +1,12 @@
1
+ interface DiagnosticSnapshotModalProps {
2
+ isOpen: boolean;
3
+ onClose: () => void;
4
+ }
5
+ /**
6
+ * Generates the redacted diagnostic snapshot behind the Support card's "Generate snapshot" action.
7
+ * The fetch is triggered as soon as the modal opens, so the user only ever sees a spinner followed
8
+ * by the payload (or, on failure, a notification while the modal closes itself).
9
+ */
10
+ declare const DiagnosticSnapshotModal: ({ isOpen, onClose }: DiagnosticSnapshotModalProps) => import("react/jsx-runtime").JSX.Element;
11
+ export { DiagnosticSnapshotModal };
12
+ export type { DiagnosticSnapshotModalProps };
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { type MessageDescriptor } from 'react-intl';
3
+ interface PlanDetailProps {
4
+ label: MessageDescriptor;
5
+ value: React.ReactNode;
6
+ }
7
+ /**
8
+ * A single labelled value rendered inside the Plan card's `<dl>`. Shared between the CE fallback
9
+ * body (current plan only) and the EE body (license details), so both stay visually consistent.
10
+ */
11
+ declare const PlanDetail: ({ label, value }: PlanDetailProps) => import("react/jsx-runtime").JSX.Element;
12
+ declare const PlanCard: () => import("react/jsx-runtime").JSX.Element;
13
+ export { PlanCard, PlanDetail };
14
+ export type { PlanDetailProps };
@@ -0,0 +1,2 @@
1
+ declare const SupportCard: () => import("react/jsx-runtime").JSX.Element;
2
+ export { SupportCard };
@@ -33,6 +33,6 @@ declare const useInitQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks
33
33
  menuLogo?: ConfigurationLogo["custom"];
34
34
  }, "adminApi">>, useUpdateProjectSettingsMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<FormData, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig" | "ProjectSettings" | "LicenseLimits" | "LicenseTrialTimeLeft", UpdateProjectSettings.Response, "adminApi">>, useGetPluginsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig" | "ProjectSettings" | "LicenseLimits" | "LicenseTrialTimeLeft", Plugins.Response, "adminApi">>, useGetLicenseLimitsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig" | "ProjectSettings" | "LicenseLimits" | "LicenseTrialTimeLeft", GetLicenseLimitInformation.Response, "adminApi">>, useGetLicenseTrialTimeLeftQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig" | "ProjectSettings" | "LicenseLimits" | "LicenseTrialTimeLeft", {
35
35
  trialEndsAt: string;
36
- }, "adminApi">>, useGetGuidedTourMetaQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig" | "ProjectSettings" | "LicenseLimits" | "LicenseTrialTimeLeft", GetGuidedTourMeta.Response, "adminApi">>;
37
- export { useInitQuery, useTelemetryPropertiesQuery, useInformationQuery, useProjectSettingsQuery, useUpdateProjectSettingsMutation, useGetPluginsQuery, useGetLicenseLimitsQuery, useGetLicenseTrialTimeLeftQuery, useGetGuidedTourMetaQuery, };
36
+ }, "adminApi">>, useGetGuidedTourMetaQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig" | "ProjectSettings" | "LicenseLimits" | "LicenseTrialTimeLeft", GetGuidedTourMeta.Response, "adminApi">>, useLazyGetDebugDumpQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig" | "ProjectSettings" | "LicenseLimits" | "LicenseTrialTimeLeft", import("../../../shared/contracts/admin").DebugDumpPayload, "adminApi">>;
37
+ export { useInitQuery, useTelemetryPropertiesQuery, useInformationQuery, useProjectSettingsQuery, useUpdateProjectSettingsMutation, useGetPluginsQuery, useGetLicenseLimitsQuery, useGetLicenseTrialTimeLeftQuery, useGetGuidedTourMetaQuery, useLazyGetDebugDumpQuery, };
38
38
  export type { ConfigurationLogo };
@@ -20,6 +20,7 @@ interface PermissionMap {
20
20
  marketplace: Pick<CRUDPermissions, 'main' | 'read'>;
21
21
  settings: Record<SettingsPermissions, CRUDPermissions> & Partial<Record<EESettingsPermissions, CRUDPermissions>> & {
22
22
  plugins: Pick<CRUDPermissions, 'read' | 'main'>;
23
+ 'debug-dump': Pick<CRUDPermissions, 'read' | 'main'>;
23
24
  };
24
25
  }
25
26
  export { PermissionMap };
@@ -94,6 +94,31 @@ declare class FetchError extends Error {
94
94
  constructor(message: string, response?: ErrorResponse);
95
95
  }
96
96
  declare const isFetchError: (error: unknown) => error is FetchError;
97
+ export type AbortError = DOMException & {
98
+ name: 'AbortError' | 'TimeoutError';
99
+ };
100
+ /**
101
+ * Type guard that checks whether an error comes from an aborted operation,
102
+ * such as a `fetch` cancelled via `AbortController` or timed out via
103
+ * `AbortSignal.timeout()`.
104
+ *
105
+ * Note: if the controller was aborted with a custom reason
106
+ * (`controller.abort(reason)`), the operation rejects with that reason
107
+ * instead of an `AbortError`, and this guard returns `false`. In that case,
108
+ * also check the signal itself:
109
+ *
110
+ * @example
111
+ * try {
112
+ * await fetch(url, { signal: controller.signal });
113
+ * } catch (err) {
114
+ * if (isAbortError(err) || controller.signal.aborted) return;
115
+ * throw err;
116
+ * }
117
+ *
118
+ * @param error - The caught value to check.
119
+ * @returns `true` if `error` is a `DOMException` named `AbortError` or `TimeoutError`.
120
+ */
121
+ export declare function isAbortError(error: unknown): error is AbortError;
97
122
  type FetchClient = {
98
123
  get: {
99
124
  (url: string, config: FetchOptions & {
@@ -13,6 +13,35 @@ declare function useLicenseLimits({ enabled }?: UseLicenseLimitsArgs): {
13
13
  shouldStopCreate: boolean;
14
14
  type: string;
15
15
  isTrial: boolean;
16
+ seats: number | null;
17
+ subscriptionId: string | null;
18
+ expireAt: string | null;
19
+ licenseStatus: "none" | "active" | "expired" | "unknown";
20
+ planPriceId: string | null;
21
+ renewalDate: string | number | null;
22
+ planEntitlements: Array<{
23
+ feature: string;
24
+ available: boolean;
25
+ limits: Array<{
26
+ key: string;
27
+ unit?: "days" | "count";
28
+ value: number | null;
29
+ }>;
30
+ }>;
31
+ licenseMode: "online" | "offline";
32
+ lastRegistrySyncAt: number | null;
33
+ nextRegistrySyncAt: number | null;
34
+ usingCachedLicense: boolean;
35
+ registrySyncError: string | null;
36
+ registrySyncErrorKind: "unreachable" | "rejected" | null;
37
+ entitlements: Array<{
38
+ feature: string;
39
+ limits: Array<{
40
+ key: string;
41
+ unit?: "days" | "count";
42
+ value: number | null;
43
+ }>;
44
+ }>;
16
45
  } | undefined;
17
46
  getFeature: <T>(name: "review-workflows" | "sso" | "audit-logs" | "cms-content-releases" | "cms-content-history") => Record<string, T> | undefined;
18
47
  isError: boolean;
@@ -1 +1,6 @@
1
- export declare const AIUsage: () => import("react/jsx-runtime").JSX.Element | null;
1
+ interface AIUsageProps {
2
+ /** Trials are not billed for overages, so the rate line is meaningless to them. */
3
+ isTrial?: boolean;
4
+ }
5
+ export declare const AIUsage: ({ isTrial }: AIUsageProps) => import("react/jsx-runtime").JSX.Element | null;
6
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const LicenseInfoEE: () => import("react/jsx-runtime").JSX.Element | null;
2
+ export { LicenseInfoEE };
@@ -14,6 +14,8 @@ export declare const actionTypes: {
14
14
  'user.update': string;
15
15
  'user.delete': string;
16
16
  'admin.auth.success': string;
17
+ 'admin.auth.error': string;
18
+ 'admin.auth.autoRegistration': string;
17
19
  'admin.logout': string;
18
20
  'content-type.create': string;
19
21
  'content-type.update': string;
@@ -0,0 +1,8 @@
1
+ import type { Core } from '@strapi/types';
2
+ /**
3
+ * Reports the audit-log retention the daily delete job uses, admin override included, for the
4
+ * Plan card and the debug dump. Registered whatever the boot-time license says, so a license
5
+ * that lapsed before boot still resolves its retained limits, and a later renewal needs no restart.
6
+ */
7
+ export declare const registerAuditLogsEntitlements: (strapi: Core.Strapi) => void;
8
+ //# sourceMappingURL=entitlements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitlements.d.ts","sourceRoot":"","sources":["../../../../../ee/server/src/audit-logs/entitlements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,GAAI,QAAQ,IAAI,CAAC,MAAM,SAgBhE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Core, Modules } from '@strapi/types';
2
+ export declare const DEFAULT_RETENTION_DAYS = 90;
2
3
  export interface RegisterEventOptions {
3
4
  /**
4
5
  * Records the event when the request has no authenticated user, with an
@@ -7,7 +8,22 @@ export interface RegisterEventOptions {
7
8
  * is dropped.
8
9
  */
9
10
  allowUnknownActor?: boolean;
11
+ /**
12
+ * Records the event with an `unknown` actor and no user column even when the request
13
+ * has an authenticated user. For events about a login that did not complete.
14
+ */
15
+ alwaysUnknownActor?: boolean;
16
+ /**
17
+ * Receives the arguments passed to eventHub.emit(); returning false keeps the
18
+ * event out of the audit log. Listeners on the event hub still receive it.
19
+ */
20
+ shouldRecord?: (...args: any[]) => boolean;
10
21
  }
22
+ /**
23
+ * The retention the daily delete job applies, from the license's value and the admin override.
24
+ * Shared with the Plan card's resolver (../entitlements.ts) so the card shows this same figure.
25
+ */
26
+ export declare const computeRetentionDays: (licenseRetentionDays: unknown, userRetentionDays: number | null | undefined) => number;
11
27
  /**
12
28
  * @description
13
29
  * Manages the lifecycle of audit logs. Accessible via strapi.get('audit-logs-lifecycle')
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycles.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/services/lifecycles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAqDnD,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAoDD;;;GAGG;AACH,QAAA,MAAM,+BAA+B,GAAI,QAAQ,IAAI,CAAC,MAAM;IAkHxD;;;;OAIG;kBACW,QAAQ,kBACd,MAAM,aACD,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAC9C,oBAAoB;;;;CA0FlC,CAAC;AAEF,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
1
+ {"version":3,"file":"lifecycles.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/services/lifecycles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAInD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAiDzC,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;CAC5C;AAgCD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,sBAAsB,OAAO,EAC7B,mBAAmB,MAAM,GAAG,IAAI,GAAG,SAAS,KAC3C,MAgBF,CAAC;AAWF;;;GAGG;AACH,QAAA,MAAM,+BAA+B,GAAI,QAAQ,IAAI,CAAC,MAAM;IAwHxD;;;;OAIG;kBACW,QAAQ,kBACd,MAAM,aACD,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAC9C,oBAAoB;;;;CA0FlC,CAAC;AAEF,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
@@ -3,19 +3,45 @@ declare const _default: {
3
3
  getProjectType(): Promise<GetProjectType.Response>;
4
4
  licenseLimitInformation(): Promise<{
5
5
  data: {
6
- enforcementUserCount: any;
7
- currentActiveUserCount: any;
8
- permittedSeats: number | null | undefined;
6
+ currentActiveUserCount: number;
7
+ enforcementUserCount: number;
8
+ features: (import("../../../../shared/contracts/admin").SSOFeature | import("../../../../shared/contracts/admin").AuditLogsFeature | import("../../../../shared/contracts/admin").ReviewWorkflowsFeature | import("../../../../shared/contracts/admin").ContentReleasesFeature | import("../../../../shared/contracts/admin").ContentHistoryFeature)[];
9
+ isHostedOnStrapiCloud: boolean;
10
+ licenseLimitStatus: unknown;
11
+ permittedSeats: number;
9
12
  shouldNotify: boolean;
10
13
  shouldStopCreate: boolean;
11
- licenseLimitStatus: string | null;
12
- isHostedOnStrapiCloud: boolean;
13
- type: string | null | undefined;
14
+ type: string;
14
15
  isTrial: boolean;
15
- features: {
16
- [key: string]: any;
17
- name: string;
18
- }[];
16
+ seats: number | null;
17
+ subscriptionId: string | null;
18
+ expireAt: string | null;
19
+ licenseStatus: "none" | "active" | "expired" | "unknown";
20
+ planPriceId: string | null;
21
+ renewalDate: string | number | null;
22
+ planEntitlements: Array<{
23
+ feature: string;
24
+ available: boolean;
25
+ limits: Array<{
26
+ key: string;
27
+ unit?: "days" | "count";
28
+ value: number | null;
29
+ }>;
30
+ }>;
31
+ licenseMode: "online" | "offline";
32
+ lastRegistrySyncAt: number | null;
33
+ nextRegistrySyncAt: number | null;
34
+ usingCachedLicense: boolean;
35
+ registrySyncError: string | null;
36
+ registrySyncErrorKind: "unreachable" | "rejected" | null;
37
+ entitlements: Array<{
38
+ feature: string;
39
+ limits: Array<{
40
+ key: string;
41
+ unit?: "days" | "count";
42
+ value: number | null;
43
+ }>;
44
+ }>;
19
45
  };
20
46
  }>;
21
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../../ee/server/src/controllers/admin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;;sBAI/C,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;AAF1D,wBAmEE"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../../ee/server/src/controllers/admin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,oCAAoC,CAAC;;sBAelB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;wBAkIrB,CAAC;;;;;;;;;;;;;;wBAiBb,CAAC;;;;;;;AArJ1B,wBAgKE"}
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/controllers/authentication-utils/middlewares.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAiB1C,eAAO,MAAM,YAAY,EAAE,IAAI,CAAC,iBA0B/B,CAAC;AA4DF,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,iBAiEnC,CAAC;;;;;AAEF,wBAGE"}
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/controllers/authentication-utils/middlewares.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAkB1C,eAAO,MAAM,YAAY,EAAE,IAAI,CAAC,iBA0B/B,CAAC;AAuEF,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,iBAsEnC,CAAC;;;;;AAEF,wBAGE"}
@@ -19,19 +19,45 @@ declare const _default: {
19
19
  getProjectType(): Promise<import("../../../../shared/contracts/admin").GetProjectType.Response>;
20
20
  licenseLimitInformation(): Promise<{
21
21
  data: {
22
- enforcementUserCount: any;
23
- currentActiveUserCount: any;
24
- permittedSeats: number | null | undefined;
22
+ currentActiveUserCount: number;
23
+ enforcementUserCount: number;
24
+ features: (import("../../../../shared/contracts/admin").SSOFeature | import("../../../../shared/contracts/admin").AuditLogsFeature | import("../../../../shared/contracts/admin").ReviewWorkflowsFeature | import("../../../../shared/contracts/admin").ContentReleasesFeature | import("../../../../shared/contracts/admin").ContentHistoryFeature)[];
25
+ isHostedOnStrapiCloud: boolean;
26
+ licenseLimitStatus: unknown;
27
+ permittedSeats: number;
25
28
  shouldNotify: boolean;
26
29
  shouldStopCreate: boolean;
27
- licenseLimitStatus: string | null;
28
- isHostedOnStrapiCloud: boolean;
29
- type: string | null | undefined;
30
+ type: string;
30
31
  isTrial: boolean;
31
- features: {
32
- [key: string]: any;
33
- name: string;
34
- }[];
32
+ seats: number | null;
33
+ subscriptionId: string | null;
34
+ expireAt: string | null;
35
+ licenseStatus: "none" | "active" | "expired" | "unknown";
36
+ planPriceId: string | null;
37
+ renewalDate: string | number | null;
38
+ planEntitlements: Array<{
39
+ feature: string;
40
+ available: boolean;
41
+ limits: Array<{
42
+ key: string;
43
+ unit?: "days" | "count";
44
+ value: number | null;
45
+ }>;
46
+ }>;
47
+ licenseMode: "online" | "offline";
48
+ lastRegistrySyncAt: number | null;
49
+ nextRegistrySyncAt: number | null;
50
+ usingCachedLicense: boolean;
51
+ registrySyncError: string | null;
52
+ registrySyncErrorKind: "unreachable" | "rejected" | null;
53
+ entitlements: Array<{
54
+ feature: string;
55
+ limits: Array<{
56
+ key: string;
57
+ unit?: "days" | "count";
58
+ value: number | null;
59
+ }>;
60
+ }>;
35
61
  };
36
62
  }>;
37
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../ee/server/src/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBAKE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../ee/server/src/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAWozL,CAAC;;;;;;;;;;;;;;4BAA4wB,CAAC;;;;;;;;AANlkN,wBAKE"}