@strapi/admin 5.55.1 → 5.57.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.
- package/dist/admin/admin/src/components/Filters.js +1 -1
- package/dist/admin/admin/src/components/Filters.js.map +1 -1
- package/dist/admin/admin/src/components/Filters.mjs +1 -1
- package/dist/admin/admin/src/components/Filters.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js +2 -2
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs +2 -2
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs.map +1 -1
- package/dist/admin/admin/src/components/MediaLibraryBanner.js +38 -2
- package/dist/admin/admin/src/components/MediaLibraryBanner.js.map +1 -1
- package/dist/admin/admin/src/components/MediaLibraryBanner.mjs +18 -2
- package/dist/admin/admin/src/components/MediaLibraryBanner.mjs.map +1 -1
- package/dist/admin/admin/src/components/RelativeTime.js +9 -0
- package/dist/admin/admin/src/components/RelativeTime.js.map +1 -1
- package/dist/admin/admin/src/components/RelativeTime.mjs +10 -1
- package/dist/admin/admin/src/components/RelativeTime.mjs.map +1 -1
- package/dist/admin/admin/src/components/TopBanners.js +52 -0
- package/dist/admin/admin/src/components/TopBanners.js.map +1 -0
- package/dist/admin/admin/src/components/TopBanners.mjs +30 -0
- package/dist/admin/admin/src/components/TopBanners.mjs.map +1 -0
- package/dist/admin/admin/src/components/UpsellBanner.js +9 -16
- package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.mjs +11 -18
- package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js +28 -8
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs +29 -10
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +4 -20
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +4 -20
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/useAuthenticatedAccessTracking.js +59 -0
- package/dist/admin/admin/src/layouts/useAuthenticatedAccessTracking.js.map +1 -0
- package/dist/admin/admin/src/layouts/useAuthenticatedAccessTracking.mjs +37 -0
- package/dist/admin/admin/src/layouts/useAuthenticatedAccessTracking.mjs.map +1 -0
- package/dist/admin/admin/src/render.js +4 -69
- package/dist/admin/admin/src/render.js.map +1 -1
- package/dist/admin/admin/src/render.mjs +4 -69
- package/dist/admin/admin/src/render.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +15 -0
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +15 -0
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/src/utils/browserStrapi.js +93 -0
- package/dist/admin/admin/src/utils/browserStrapi.js.map +1 -0
- package/dist/admin/admin/src/utils/browserStrapi.mjs +91 -0
- package/dist/admin/admin/src/utils/browserStrapi.mjs.map +1 -0
- package/dist/admin/admin/src/utils/getFetchClient.js +3 -3
- package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.mjs +2 -2
- package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useExportAuditLogs.js +2 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useExportAuditLogs.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useExportAuditLogs.mjs +2 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useExportAuditLogs.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.js +16 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.mjs +16 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.js +3 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.mjs +3 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/legacyActions.js +64 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/legacyActions.js.map +1 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/legacyActions.mjs +60 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/legacyActions.mjs.map +1 -0
- package/dist/admin/ee/admin/src/services/auditLogs.js +2 -1
- package/dist/admin/ee/admin/src/services/auditLogs.js.map +1 -1
- package/dist/admin/ee/admin/src/services/auditLogs.mjs +2 -1
- package/dist/admin/ee/admin/src/services/auditLogs.mjs.map +1 -1
- package/dist/admin/src/components/MediaLibraryBanner.d.ts +10 -1
- package/dist/admin/src/components/SubNav.d.ts +2 -2
- package/dist/admin/src/components/TopBanners.d.ts +8 -0
- package/dist/admin/src/features/Tracking.d.ts +12 -1
- package/dist/admin/src/layouts/useAuthenticatedAccessTracking.d.ts +6 -0
- package/dist/admin/src/utils/browserStrapi.d.ts +11 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.d.ts +15 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/legacyActions.d.ts +14 -0
- package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts +10 -1
- package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/admin.d.ts +2 -28
- package/dist/ee/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts +8 -2
- package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/authentication.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/index.d.ts +1 -28
- package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/user.d.ts.map +1 -1
- package/dist/ee/server/src/index.d.ts +6 -30
- package/dist/ee/server/src/index.d.ts.map +1 -1
- package/dist/ee/server/src/services/auth.d.ts +1 -1
- package/dist/ee/server/src/services/auth.d.ts.map +1 -1
- package/dist/ee/server/src/services/index.d.ts +5 -2
- package/dist/ee/server/src/services/index.d.ts.map +1 -1
- package/dist/ee/server/src/services/metrics.d.ts.map +1 -1
- package/dist/ee/server/src/services/persist-tables.d.ts.map +1 -1
- package/dist/ee/server/src/services/seat-enforcement.d.ts +3 -1
- package/dist/ee/server/src/services/seat-enforcement.d.ts.map +1 -1
- package/dist/ee/server/src/services/user.d.ts.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js +37 -21
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs +37 -21
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/admin.js +8 -7
- package/dist/server/ee/server/src/controllers/admin.js.map +1 -1
- package/dist/server/ee/server/src/controllers/admin.mjs +8 -7
- package/dist/server/ee/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/utils.js +2 -2
- package/dist/server/ee/server/src/controllers/authentication-utils/utils.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/utils.mjs +2 -2
- package/dist/server/ee/server/src/controllers/authentication-utils/utils.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication.js +11 -11
- package/dist/server/ee/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication.mjs +11 -11
- package/dist/server/ee/server/src/controllers/authentication.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/user.js +7 -8
- package/dist/server/ee/server/src/controllers/user.js.map +1 -1
- package/dist/server/ee/server/src/controllers/user.mjs +8 -9
- package/dist/server/ee/server/src/controllers/user.mjs.map +1 -1
- package/dist/server/ee/server/src/index.js +4 -0
- package/dist/server/ee/server/src/index.js.map +1 -1
- package/dist/server/ee/server/src/index.mjs +4 -0
- package/dist/server/ee/server/src/index.mjs.map +1 -1
- package/dist/server/ee/server/src/services/auth.js +1 -6
- package/dist/server/ee/server/src/services/auth.js.map +1 -1
- package/dist/server/ee/server/src/services/auth.mjs +2 -7
- package/dist/server/ee/server/src/services/auth.mjs.map +1 -1
- package/dist/server/ee/server/src/services/metrics.js +9 -7
- package/dist/server/ee/server/src/services/metrics.js.map +1 -1
- package/dist/server/ee/server/src/services/metrics.mjs +9 -7
- package/dist/server/ee/server/src/services/metrics.mjs.map +1 -1
- package/dist/server/ee/server/src/services/persist-tables.js +3 -4
- package/dist/server/ee/server/src/services/persist-tables.js.map +1 -1
- package/dist/server/ee/server/src/services/persist-tables.mjs +3 -4
- package/dist/server/ee/server/src/services/persist-tables.mjs.map +1 -1
- package/dist/server/ee/server/src/services/role.js +2 -2
- package/dist/server/ee/server/src/services/role.js.map +1 -1
- package/dist/server/ee/server/src/services/role.mjs +1 -1
- package/dist/server/ee/server/src/services/role.mjs.map +1 -1
- package/dist/server/ee/server/src/services/seat-enforcement.js +20 -20
- package/dist/server/ee/server/src/services/seat-enforcement.js.map +1 -1
- package/dist/server/ee/server/src/services/seat-enforcement.mjs +20 -20
- package/dist/server/ee/server/src/services/seat-enforcement.mjs.map +1 -1
- package/dist/server/ee/server/src/services/user.js +37 -6
- package/dist/server/ee/server/src/services/user.js.map +1 -1
- package/dist/server/ee/server/src/services/user.mjs +38 -7
- package/dist/server/ee/server/src/services/user.mjs.map +1 -1
- package/dist/server/ee/server/src/utils/sso-lock.js +2 -2
- package/dist/server/ee/server/src/utils/sso-lock.js.map +1 -1
- package/dist/server/ee/server/src/utils/sso-lock.mjs +1 -1
- package/dist/server/ee/server/src/utils/sso-lock.mjs.map +1 -1
- package/dist/server/server/src/audit-logs/admin-users.js +169 -0
- package/dist/server/server/src/audit-logs/admin-users.js.map +1 -0
- package/dist/server/server/src/audit-logs/admin-users.mjs +157 -0
- package/dist/server/server/src/audit-logs/admin-users.mjs.map +1 -0
- package/dist/server/server/src/audit-logs/tokens.js +3 -3
- package/dist/server/server/src/audit-logs/tokens.js.map +1 -1
- package/dist/server/server/src/audit-logs/tokens.mjs +2 -2
- package/dist/server/server/src/audit-logs/tokens.mjs.map +1 -1
- package/dist/server/server/src/audit-logs/webhooks.js +106 -0
- package/dist/server/server/src/audit-logs/webhooks.js.map +1 -0
- package/dist/server/server/src/audit-logs/webhooks.mjs +100 -0
- package/dist/server/server/src/audit-logs/webhooks.mjs.map +1 -0
- package/dist/server/server/src/bootstrap.js +6 -4
- package/dist/server/server/src/bootstrap.js.map +1 -1
- package/dist/server/server/src/bootstrap.mjs +6 -4
- package/dist/server/server/src/bootstrap.mjs.map +1 -1
- package/dist/server/server/src/controllers/admin-token.js +8 -8
- package/dist/server/server/src/controllers/admin-token.js.map +1 -1
- package/dist/server/server/src/controllers/admin-token.mjs +4 -4
- package/dist/server/server/src/controllers/admin-token.mjs.map +1 -1
- package/dist/server/server/src/controllers/admin.js +4 -5
- package/dist/server/server/src/controllers/admin.js.map +1 -1
- package/dist/server/server/src/controllers/admin.mjs +3 -4
- package/dist/server/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/server/src/controllers/api-token.js +8 -8
- package/dist/server/server/src/controllers/api-token.js.map +1 -1
- package/dist/server/server/src/controllers/api-token.mjs +4 -4
- package/dist/server/server/src/controllers/api-token.mjs.map +1 -1
- package/dist/server/server/src/controllers/authentication.js +8 -1
- package/dist/server/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/server/src/controllers/authentication.mjs +8 -1
- package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
- package/dist/server/server/src/controllers/formatters/conditions.js +2 -2
- package/dist/server/server/src/controllers/formatters/conditions.js.map +1 -1
- package/dist/server/server/src/controllers/formatters/conditions.mjs +2 -2
- package/dist/server/server/src/controllers/formatters/conditions.mjs.map +1 -1
- package/dist/server/server/src/controllers/transfer/index.js +2 -2
- package/dist/server/server/src/controllers/transfer/index.js.map +1 -1
- package/dist/server/server/src/controllers/transfer/index.mjs +2 -2
- package/dist/server/server/src/controllers/transfer/index.mjs.map +1 -1
- package/dist/server/server/src/controllers/transfer/token.js +8 -8
- package/dist/server/server/src/controllers/transfer/token.js.map +1 -1
- package/dist/server/server/src/controllers/transfer/token.mjs +4 -4
- package/dist/server/server/src/controllers/transfer/token.mjs.map +1 -1
- package/dist/server/server/src/controllers/webhooks.js +26 -0
- package/dist/server/server/src/controllers/webhooks.js.map +1 -1
- package/dist/server/server/src/controllers/webhooks.mjs +27 -1
- package/dist/server/server/src/controllers/webhooks.mjs.map +1 -1
- package/dist/server/server/src/domain/action/index.js +18 -16
- package/dist/server/server/src/domain/action/index.js.map +1 -1
- package/dist/server/server/src/domain/action/index.mjs +16 -14
- package/dist/server/server/src/domain/action/index.mjs.map +1 -1
- package/dist/server/server/src/domain/action/provider.mjs +4 -4
- package/dist/server/server/src/domain/action/provider.mjs.map +1 -1
- package/dist/server/server/src/domain/condition/index.js +7 -4
- package/dist/server/server/src/domain/condition/index.js.map +1 -1
- package/dist/server/server/src/domain/condition/index.mjs +7 -4
- package/dist/server/server/src/domain/condition/index.mjs.map +1 -1
- package/dist/server/server/src/domain/permission/index.js +24 -15
- package/dist/server/server/src/domain/permission/index.js.map +1 -1
- package/dist/server/server/src/domain/permission/index.mjs +21 -12
- package/dist/server/server/src/domain/permission/index.mjs.map +1 -1
- package/dist/server/server/src/middlewares/rateLimit.js +5 -5
- package/dist/server/server/src/middlewares/rateLimit.js.map +1 -1
- package/dist/server/server/src/middlewares/rateLimit.mjs +4 -4
- package/dist/server/server/src/middlewares/rateLimit.mjs.map +1 -1
- package/dist/server/server/src/register.js +6 -0
- package/dist/server/server/src/register.js.map +1 -1
- package/dist/server/server/src/register.mjs +6 -0
- package/dist/server/server/src/register.mjs.map +1 -1
- package/dist/server/server/src/services/action.js +1 -2
- package/dist/server/server/src/services/action.js.map +1 -1
- package/dist/server/server/src/services/action.mjs +1 -2
- package/dist/server/server/src/services/action.mjs.map +1 -1
- package/dist/server/server/src/services/api-token.js +61 -49
- package/dist/server/server/src/services/api-token.js.map +1 -1
- package/dist/server/server/src/services/api-token.mjs +53 -41
- package/dist/server/server/src/services/api-token.mjs.map +1 -1
- package/dist/server/server/src/services/auth.js +27 -6
- package/dist/server/server/src/services/auth.js.map +1 -1
- package/dist/server/server/src/services/auth.mjs +28 -8
- package/dist/server/server/src/services/auth.mjs.map +1 -1
- package/dist/server/server/src/services/condition.js +2 -2
- package/dist/server/server/src/services/condition.js.map +1 -1
- package/dist/server/server/src/services/condition.mjs +1 -1
- package/dist/server/server/src/services/condition.mjs.map +1 -1
- package/dist/server/server/src/services/content-type.js +5 -4
- package/dist/server/server/src/services/content-type.js.map +1 -1
- package/dist/server/server/src/services/content-type.mjs +8 -7
- package/dist/server/server/src/services/content-type.mjs.map +1 -1
- package/dist/server/server/src/services/homepage.js +2 -1
- package/dist/server/server/src/services/homepage.js.map +1 -1
- package/dist/server/server/src/services/homepage.mjs +2 -1
- package/dist/server/server/src/services/homepage.mjs.map +1 -1
- package/dist/server/server/src/services/passport/local-strategy.js +2 -2
- package/dist/server/server/src/services/passport/local-strategy.js.map +1 -1
- package/dist/server/server/src/services/passport/local-strategy.mjs +1 -1
- package/dist/server/server/src/services/passport/local-strategy.mjs.map +1 -1
- package/dist/server/server/src/services/passport.js +1 -2
- package/dist/server/server/src/services/passport.js.map +1 -1
- package/dist/server/server/src/services/passport.mjs +1 -2
- package/dist/server/server/src/services/passport.mjs.map +1 -1
- package/dist/server/server/src/services/permission/engine.js +4 -4
- package/dist/server/server/src/services/permission/engine.js.map +1 -1
- package/dist/server/server/src/services/permission/engine.mjs +2 -2
- package/dist/server/server/src/services/permission/engine.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/index.js +2 -3
- package/dist/server/server/src/services/permission/permissions-manager/index.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/index.mjs +1 -2
- package/dist/server/server/src/services/permission/permissions-manager/index.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js +6 -6
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs +4 -4
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.js +47 -41
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs +44 -38
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/validate.js +30 -26
- package/dist/server/server/src/services/permission/permissions-manager/validate.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/validate.mjs +28 -24
- package/dist/server/server/src/services/permission/permissions-manager/validate.mjs.map +1 -1
- package/dist/server/server/src/services/permission/queries.js +9 -9
- package/dist/server/server/src/services/permission/queries.js.map +1 -1
- package/dist/server/server/src/services/permission/queries.mjs +9 -9
- package/dist/server/server/src/services/permission/queries.mjs.map +1 -1
- package/dist/server/server/src/services/permission/rename-fields.js +118 -0
- package/dist/server/server/src/services/permission/rename-fields.js.map +1 -0
- package/dist/server/server/src/services/permission/rename-fields.mjs +116 -0
- package/dist/server/server/src/services/permission/rename-fields.mjs.map +1 -0
- package/dist/server/server/src/services/permission/sections-builder/index.js +2 -2
- package/dist/server/server/src/services/permission/sections-builder/index.js.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/index.mjs +2 -2
- package/dist/server/server/src/services/permission/sections-builder/index.mjs.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/section.js +1 -2
- package/dist/server/server/src/services/permission/sections-builder/section.js.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/section.mjs +1 -2
- package/dist/server/server/src/services/permission/sections-builder/section.mjs.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/utils.js +6 -6
- package/dist/server/server/src/services/permission/sections-builder/utils.js.map +1 -1
- package/dist/server/server/src/services/permission/sections-builder/utils.mjs +4 -4
- package/dist/server/server/src/services/permission/sections-builder/utils.mjs.map +1 -1
- package/dist/server/server/src/services/role.js +20 -19
- package/dist/server/server/src/services/role.js.map +1 -1
- package/dist/server/server/src/services/role.mjs +20 -19
- package/dist/server/server/src/services/role.mjs.map +1 -1
- package/dist/server/server/src/services/transfer/token.js +20 -16
- package/dist/server/server/src/services/transfer/token.js.map +1 -1
- package/dist/server/server/src/services/transfer/token.mjs +14 -10
- package/dist/server/server/src/services/transfer/token.mjs.map +1 -1
- package/dist/server/server/src/services/user.js +50 -12
- package/dist/server/server/src/services/user.js.map +1 -1
- package/dist/server/server/src/services/user.mjs +52 -14
- package/dist/server/server/src/services/user.mjs.map +1 -1
- package/dist/server/server/src/strategies/api-token-utils.js +2 -3
- package/dist/server/server/src/strategies/api-token-utils.js.map +1 -1
- package/dist/server/server/src/strategies/api-token-utils.mjs +2 -3
- package/dist/server/server/src/strategies/api-token-utils.mjs.map +1 -1
- package/dist/server/server/src/strategies/content-api-token.js +3 -3
- package/dist/server/server/src/strategies/content-api-token.js.map +1 -1
- package/dist/server/server/src/strategies/content-api-token.mjs +1 -1
- package/dist/server/server/src/strategies/content-api-token.mjs.map +1 -1
- package/dist/server/server/src/strategies/data-transfer.js +4 -4
- package/dist/server/server/src/strategies/data-transfer.js.map +1 -1
- package/dist/server/server/src/strategies/data-transfer.mjs +3 -3
- package/dist/server/server/src/strategies/data-transfer.mjs.map +1 -1
- package/dist/server/server/src/validation/common-validators.js +9 -10
- package/dist/server/server/src/validation/common-validators.js.map +1 -1
- package/dist/server/server/src/validation/common-validators.mjs +13 -14
- package/dist/server/server/src/validation/common-validators.mjs.map +1 -1
- package/dist/server/server/src/validation/user.js +1 -2
- package/dist/server/server/src/validation/user.js.map +1 -1
- package/dist/server/server/src/validation/user.mjs +1 -2
- package/dist/server/server/src/validation/user.mjs.map +1 -1
- package/dist/server/src/audit-logs/admin-users.d.ts +119 -0
- package/dist/server/src/audit-logs/admin-users.d.ts.map +1 -0
- package/dist/server/src/audit-logs/tokens.d.ts.map +1 -1
- package/dist/server/src/audit-logs/webhooks.d.ts +59 -0
- package/dist/server/src/audit-logs/webhooks.d.ts.map +1 -0
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/admin-token.d.ts.map +1 -1
- package/dist/server/src/controllers/admin.d.ts +2 -11
- package/dist/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/server/src/controllers/api-token.d.ts.map +1 -1
- package/dist/server/src/controllers/authentication.d.ts.map +1 -1
- package/dist/server/src/controllers/formatters/conditions.d.ts +1 -1
- package/dist/server/src/controllers/formatters/conditions.d.ts.map +1 -1
- package/dist/server/src/controllers/homepage.d.ts +1 -1
- package/dist/server/src/controllers/index.d.ts +2 -11
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/transfer/index.d.ts.map +1 -1
- package/dist/server/src/controllers/transfer/token.d.ts.map +1 -1
- package/dist/server/src/controllers/webhooks.d.ts.map +1 -1
- package/dist/server/src/domain/action/index.d.ts +1 -0
- package/dist/server/src/domain/action/index.d.ts.map +1 -1
- package/dist/server/src/domain/condition/index.d.ts +2 -2
- package/dist/server/src/domain/condition/index.d.ts.map +1 -1
- package/dist/server/src/domain/permission/index.d.ts.map +1 -1
- package/dist/server/src/domain/user.d.ts +2 -2
- package/dist/server/src/index.d.ts +4 -13
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/rateLimit.d.ts.map +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/services/action.d.ts.map +1 -1
- package/dist/server/src/services/api-token.d.ts.map +1 -1
- package/dist/server/src/services/auth.d.ts +6 -1
- package/dist/server/src/services/auth.d.ts.map +1 -1
- package/dist/server/src/services/condition.d.ts.map +1 -1
- package/dist/server/src/services/content-type.d.ts.map +1 -1
- package/dist/server/src/services/homepage.d.ts +1 -1
- package/dist/server/src/services/homepage.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +2 -2
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/passport/local-strategy.d.ts.map +1 -1
- package/dist/server/src/services/passport.d.ts.map +1 -1
- package/dist/server/src/services/permission/engine.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/permission-fields.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
- package/dist/server/src/services/permission/queries.d.ts.map +1 -1
- package/dist/server/src/services/permission/rename-fields.d.ts +21 -0
- package/dist/server/src/services/permission/rename-fields.d.ts.map +1 -0
- package/dist/server/src/services/permission/sections-builder/section.d.ts.map +1 -1
- package/dist/server/src/services/permission/sections-builder/utils.d.ts +1 -1
- package/dist/server/src/services/permission/sections-builder/utils.d.ts.map +1 -1
- package/dist/server/src/services/role.d.ts +1 -1
- package/dist/server/src/services/role.d.ts.map +1 -1
- package/dist/server/src/services/transfer/token.d.ts.map +1 -1
- package/dist/server/src/services/user.d.ts.map +1 -1
- package/dist/server/src/strategies/content-api-token.d.ts.map +1 -1
- package/dist/server/src/validation/user.d.ts.map +1 -1
- package/dist/shared/contracts/admin.d.ts +36 -2
- package/dist/shared/contracts/admin.d.ts.map +1 -1
- package/package.json +13 -13
|
@@ -14,6 +14,8 @@ var lifecycles = require('./audit-logs/services/lifecycles.js');
|
|
|
14
14
|
var auditLog = require('./audit-logs/content-types/audit-log.js');
|
|
15
15
|
var auditLogExport = require('../../../shared/utils/audit-log-export.js');
|
|
16
16
|
var tokens = require('../../../server/src/audit-logs/tokens.js');
|
|
17
|
+
var adminUsers = require('../../../server/src/audit-logs/admin-users.js');
|
|
18
|
+
var webhooks = require('../../../server/src/audit-logs/webhooks.js');
|
|
17
19
|
|
|
18
20
|
const getAdminEE = ()=>{
|
|
19
21
|
const eeAdmin = {
|
|
@@ -65,6 +67,8 @@ const getAdminEE = ()=>{
|
|
|
65
67
|
}
|
|
66
68
|
}));
|
|
67
69
|
tokens.registerTokenAuditEvents(auditLogsLifecycle);
|
|
70
|
+
adminUsers.registerAdminUserAuditEvents(auditLogsLifecycle);
|
|
71
|
+
webhooks.registerWebhookAuditEvents(auditLogsLifecycle);
|
|
68
72
|
await auditLogsLifecycle.register();
|
|
69
73
|
}
|
|
70
74
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../ee/server/src/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport register from './register';\nimport bootstrap from './bootstrap';\nimport destroy from './destroy';\nimport adminContentTypes from './content-types';\nimport services from './services';\nimport controllers from './controllers';\nimport routes from './routes';\nimport auditLogsRoutes from './audit-logs/routes/audit-logs';\nimport auditLogsController from './audit-logs/controllers/audit-logs';\nimport { createAuditLogsService } from './audit-logs/services/audit-logs';\nimport { createAuditLogsLifecycleService } from './audit-logs/services/lifecycles';\nimport { auditLog } from './audit-logs/content-types/audit-log';\nimport { AUDIT_LOG_EXPORT_EVENT } from '../../../shared/utils/audit-log-export';\nimport { registerTokenAuditEvents } from '../../../server/src/audit-logs/tokens';\n\nconst getAdminEE = () => {\n const eeAdmin = {\n register,\n bootstrap,\n destroy,\n contentTypes: {\n // Always register the audit-log content type to prevent data loss\n 'audit-log': auditLog,\n ...adminContentTypes,\n },\n services,\n controllers,\n routes,\n };\n\n const isAuditLogsEnabled =\n strapi.config.get('admin.auditLogs.enabled', true) &&\n strapi.ee.features.isEnabled('audit-logs');\n return {\n ...eeAdmin,\n controllers: {\n ...eeAdmin.controllers,\n ...(isAuditLogsEnabled ? { 'audit-logs': auditLogsController } : {}),\n },\n routes: {\n ...eeAdmin.routes,\n ...(isAuditLogsEnabled ? { 'audit-logs': auditLogsRoutes } : {}),\n },\n async register({ strapi }: { strapi: Core.Strapi }) {\n // Run the default registration\n await eeAdmin.register({ strapi });\n\n if (isAuditLogsEnabled) {\n // Register an internal audit logs service\n strapi.add('audit-logs', createAuditLogsService(strapi));\n // Register an internal audit logs lifecycle service\n const auditLogsLifecycle = createAuditLogsLifecycleService(strapi);\n strapi.add('audit-logs-lifecycle', auditLogsLifecycle);\n\n auditLogsLifecycle.registerEvent(\n AUDIT_LOG_EXPORT_EVENT,\n (event: { filters?: unknown }) => ({\n resource: { type: 'audit-log' },\n details: { format: 'csv', filters: event?.filters ?? null },\n })\n );\n\n registerTokenAuditEvents(auditLogsLifecycle);\n\n await auditLogsLifecycle.register();\n }\n },\n async destroy({ strapi }: { strapi: Core.Strapi }) {\n if (isAuditLogsEnabled) {\n strapi.get('audit-logs-lifecycle').destroy();\n }\n await eeAdmin.destroy();\n },\n };\n};\n\nexport default getAdminEE;\n"],"names":["getAdminEE","eeAdmin","register","bootstrap","destroy","contentTypes","auditLog","adminContentTypes","services","controllers","routes","isAuditLogsEnabled","strapi","config","get","ee","features","isEnabled","auditLogsController","auditLogsRoutes","add","createAuditLogsService","auditLogsLifecycle","createAuditLogsLifecycleService","registerEvent","AUDIT_LOG_EXPORT_EVENT","event","resource","type","details","format","filters","registerTokenAuditEvents"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../ee/server/src/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport register from './register';\nimport bootstrap from './bootstrap';\nimport destroy from './destroy';\nimport adminContentTypes from './content-types';\nimport services from './services';\nimport controllers from './controllers';\nimport routes from './routes';\nimport auditLogsRoutes from './audit-logs/routes/audit-logs';\nimport auditLogsController from './audit-logs/controllers/audit-logs';\nimport { createAuditLogsService } from './audit-logs/services/audit-logs';\nimport { createAuditLogsLifecycleService } from './audit-logs/services/lifecycles';\nimport { auditLog } from './audit-logs/content-types/audit-log';\nimport { AUDIT_LOG_EXPORT_EVENT } from '../../../shared/utils/audit-log-export';\nimport { registerTokenAuditEvents } from '../../../server/src/audit-logs/tokens';\nimport { registerAdminUserAuditEvents } from '../../../server/src/audit-logs/admin-users';\nimport { registerWebhookAuditEvents } from '../../../server/src/audit-logs/webhooks';\n\nconst getAdminEE = () => {\n const eeAdmin = {\n register,\n bootstrap,\n destroy,\n contentTypes: {\n // Always register the audit-log content type to prevent data loss\n 'audit-log': auditLog,\n ...adminContentTypes,\n },\n services,\n controllers,\n routes,\n };\n\n const isAuditLogsEnabled =\n strapi.config.get('admin.auditLogs.enabled', true) &&\n strapi.ee.features.isEnabled('audit-logs');\n return {\n ...eeAdmin,\n controllers: {\n ...eeAdmin.controllers,\n ...(isAuditLogsEnabled ? { 'audit-logs': auditLogsController } : {}),\n },\n routes: {\n ...eeAdmin.routes,\n ...(isAuditLogsEnabled ? { 'audit-logs': auditLogsRoutes } : {}),\n },\n async register({ strapi }: { strapi: Core.Strapi }) {\n // Run the default registration\n await eeAdmin.register({ strapi });\n\n if (isAuditLogsEnabled) {\n // Register an internal audit logs service\n strapi.add('audit-logs', createAuditLogsService(strapi));\n // Register an internal audit logs lifecycle service\n const auditLogsLifecycle = createAuditLogsLifecycleService(strapi);\n strapi.add('audit-logs-lifecycle', auditLogsLifecycle);\n\n auditLogsLifecycle.registerEvent(\n AUDIT_LOG_EXPORT_EVENT,\n (event: { filters?: unknown }) => ({\n resource: { type: 'audit-log' },\n details: { format: 'csv', filters: event?.filters ?? null },\n })\n );\n\n registerTokenAuditEvents(auditLogsLifecycle);\n registerAdminUserAuditEvents(auditLogsLifecycle);\n registerWebhookAuditEvents(auditLogsLifecycle);\n\n await auditLogsLifecycle.register();\n }\n },\n async destroy({ strapi }: { strapi: Core.Strapi }) {\n if (isAuditLogsEnabled) {\n strapi.get('audit-logs-lifecycle').destroy();\n }\n await eeAdmin.destroy();\n },\n };\n};\n\nexport default getAdminEE;\n"],"names":["getAdminEE","eeAdmin","register","bootstrap","destroy","contentTypes","auditLog","adminContentTypes","services","controllers","routes","isAuditLogsEnabled","strapi","config","get","ee","features","isEnabled","auditLogsController","auditLogsRoutes","add","createAuditLogsService","auditLogsLifecycle","createAuditLogsLifecycleService","registerEvent","AUDIT_LOG_EXPORT_EVENT","event","resource","type","details","format","filters","registerTokenAuditEvents","registerAdminUserAuditEvents","registerWebhookAuditEvents"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,MAAMA,UAAAA,GAAa,IAAA;AACjB,IAAA,MAAMC,OAAAA,GAAU;AACdC,QAAAA,QAAAA;AACAC,QAAAA,SAAAA;AACAC,QAAAA,OAAAA;QACAC,YAAAA,EAAc;;YAEZ,WAAA,EAAaC,iBAAAA;AACb,YAAA,GAAGC;AACL,SAAA;AACAC,kBAAAA,OAAAA;AACAC,qBAAAA,OAAAA;AACAC,gBAAAA;AACF,KAAA;AAEA,IAAA,MAAMC,kBAAAA,GACJC,MAAAA,CAAOC,MAAM,CAACC,GAAG,CAAC,yBAAA,EAA2B,IAAA,CAAA,IAC7CF,MAAAA,CAAOG,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,YAAA,CAAA;IAC/B,OAAO;AACL,QAAA,GAAGhB,OAAO;QACVQ,WAAAA,EAAa;AACX,YAAA,GAAGR,QAAQQ,WAAW;AACtB,YAAA,GAAIE,kBAAAA,GAAqB;gBAAE,YAAA,EAAcO;AAAoB,aAAA,GAAI;AACnE,SAAA;QACAR,MAAAA,EAAQ;AACN,YAAA,GAAGT,QAAQS,MAAM;AACjB,YAAA,GAAIC,kBAAAA,GAAqB;gBAAE,YAAA,EAAcQ;AAAgB,aAAA,GAAI;AAC/D,SAAA;AACA,QAAA,MAAMjB,QAAAA,CAAAA,CAAS,EAAEU,MAAAA,EAAAA,OAAM,EAA2B,EAAA;;YAEhD,MAAMX,OAAAA,CAAQC,QAAQ,CAAC;gBAAEU,MAAAA,EAAAA;AAAO,aAAA,CAAA;AAEhC,YAAA,IAAID,kBAAAA,EAAoB;;gBAEtBC,OAAAA,CAAOQ,GAAG,CAAC,YAAA,EAAcC,kCAAAA,CAAuBT,OAAAA,CAAAA,CAAAA;;AAEhD,gBAAA,MAAMU,qBAAqBC,0CAAAA,CAAgCX,OAAAA,CAAAA;gBAC3DA,OAAAA,CAAOQ,GAAG,CAAC,sBAAA,EAAwBE,kBAAAA,CAAAA;AAEnCA,gBAAAA,kBAAAA,CAAmBE,aAAa,CAC9BC,qCAAAA,EACA,CAACC,SAAkC;wBACjCC,QAAAA,EAAU;4BAAEC,IAAAA,EAAM;AAAY,yBAAA;wBAC9BC,OAAAA,EAAS;4BAAEC,MAAAA,EAAQ,KAAA;AAAOC,4BAAAA,OAAAA,EAASL,OAAOK,OAAAA,IAAW;AAAK;qBAC5D,CAAA,CAAA;gBAGFC,+BAAAA,CAAyBV,kBAAAA,CAAAA;gBACzBW,uCAAAA,CAA6BX,kBAAAA,CAAAA;gBAC7BY,mCAAAA,CAA2BZ,kBAAAA,CAAAA;AAE3B,gBAAA,MAAMA,mBAAmBpB,QAAQ,EAAA;AACnC,YAAA;AACF,QAAA,CAAA;AACA,QAAA,MAAME,OAAAA,CAAAA,CAAQ,EAAEQ,MAAAA,EAAAA,OAAM,EAA2B,EAAA;AAC/C,YAAA,IAAID,kBAAAA,EAAoB;gBACtBC,OAAAA,CAAOE,GAAG,CAAC,sBAAA,CAAA,CAAwBV,OAAO,EAAA;AAC5C,YAAA;AACA,YAAA,MAAMH,QAAQG,OAAO,EAAA;AACvB,QAAA;AACF,KAAA;AACF;;;;"}
|
|
@@ -12,6 +12,8 @@ import { createAuditLogsLifecycleService } from './audit-logs/services/lifecycle
|
|
|
12
12
|
import { auditLog } from './audit-logs/content-types/audit-log.mjs';
|
|
13
13
|
import { AUDIT_LOG_EXPORT_EVENT } from '../../../shared/utils/audit-log-export.mjs';
|
|
14
14
|
import { registerTokenAuditEvents } from '../../../server/src/audit-logs/tokens.mjs';
|
|
15
|
+
import { registerAdminUserAuditEvents } from '../../../server/src/audit-logs/admin-users.mjs';
|
|
16
|
+
import { registerWebhookAuditEvents } from '../../../server/src/audit-logs/webhooks.mjs';
|
|
15
17
|
|
|
16
18
|
const getAdminEE = ()=>{
|
|
17
19
|
const eeAdmin = {
|
|
@@ -63,6 +65,8 @@ const getAdminEE = ()=>{
|
|
|
63
65
|
}
|
|
64
66
|
}));
|
|
65
67
|
registerTokenAuditEvents(auditLogsLifecycle);
|
|
68
|
+
registerAdminUserAuditEvents(auditLogsLifecycle);
|
|
69
|
+
registerWebhookAuditEvents(auditLogsLifecycle);
|
|
66
70
|
await auditLogsLifecycle.register();
|
|
67
71
|
}
|
|
68
72
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../ee/server/src/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport register from './register';\nimport bootstrap from './bootstrap';\nimport destroy from './destroy';\nimport adminContentTypes from './content-types';\nimport services from './services';\nimport controllers from './controllers';\nimport routes from './routes';\nimport auditLogsRoutes from './audit-logs/routes/audit-logs';\nimport auditLogsController from './audit-logs/controllers/audit-logs';\nimport { createAuditLogsService } from './audit-logs/services/audit-logs';\nimport { createAuditLogsLifecycleService } from './audit-logs/services/lifecycles';\nimport { auditLog } from './audit-logs/content-types/audit-log';\nimport { AUDIT_LOG_EXPORT_EVENT } from '../../../shared/utils/audit-log-export';\nimport { registerTokenAuditEvents } from '../../../server/src/audit-logs/tokens';\n\nconst getAdminEE = () => {\n const eeAdmin = {\n register,\n bootstrap,\n destroy,\n contentTypes: {\n // Always register the audit-log content type to prevent data loss\n 'audit-log': auditLog,\n ...adminContentTypes,\n },\n services,\n controllers,\n routes,\n };\n\n const isAuditLogsEnabled =\n strapi.config.get('admin.auditLogs.enabled', true) &&\n strapi.ee.features.isEnabled('audit-logs');\n return {\n ...eeAdmin,\n controllers: {\n ...eeAdmin.controllers,\n ...(isAuditLogsEnabled ? { 'audit-logs': auditLogsController } : {}),\n },\n routes: {\n ...eeAdmin.routes,\n ...(isAuditLogsEnabled ? { 'audit-logs': auditLogsRoutes } : {}),\n },\n async register({ strapi }: { strapi: Core.Strapi }) {\n // Run the default registration\n await eeAdmin.register({ strapi });\n\n if (isAuditLogsEnabled) {\n // Register an internal audit logs service\n strapi.add('audit-logs', createAuditLogsService(strapi));\n // Register an internal audit logs lifecycle service\n const auditLogsLifecycle = createAuditLogsLifecycleService(strapi);\n strapi.add('audit-logs-lifecycle', auditLogsLifecycle);\n\n auditLogsLifecycle.registerEvent(\n AUDIT_LOG_EXPORT_EVENT,\n (event: { filters?: unknown }) => ({\n resource: { type: 'audit-log' },\n details: { format: 'csv', filters: event?.filters ?? null },\n })\n );\n\n registerTokenAuditEvents(auditLogsLifecycle);\n\n await auditLogsLifecycle.register();\n }\n },\n async destroy({ strapi }: { strapi: Core.Strapi }) {\n if (isAuditLogsEnabled) {\n strapi.get('audit-logs-lifecycle').destroy();\n }\n await eeAdmin.destroy();\n },\n };\n};\n\nexport default getAdminEE;\n"],"names":["getAdminEE","eeAdmin","register","bootstrap","destroy","contentTypes","auditLog","adminContentTypes","services","controllers","routes","isAuditLogsEnabled","strapi","config","get","ee","features","isEnabled","auditLogsController","auditLogsRoutes","add","createAuditLogsService","auditLogsLifecycle","createAuditLogsLifecycleService","registerEvent","AUDIT_LOG_EXPORT_EVENT","event","resource","type","details","format","filters","registerTokenAuditEvents"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../ee/server/src/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport register from './register';\nimport bootstrap from './bootstrap';\nimport destroy from './destroy';\nimport adminContentTypes from './content-types';\nimport services from './services';\nimport controllers from './controllers';\nimport routes from './routes';\nimport auditLogsRoutes from './audit-logs/routes/audit-logs';\nimport auditLogsController from './audit-logs/controllers/audit-logs';\nimport { createAuditLogsService } from './audit-logs/services/audit-logs';\nimport { createAuditLogsLifecycleService } from './audit-logs/services/lifecycles';\nimport { auditLog } from './audit-logs/content-types/audit-log';\nimport { AUDIT_LOG_EXPORT_EVENT } from '../../../shared/utils/audit-log-export';\nimport { registerTokenAuditEvents } from '../../../server/src/audit-logs/tokens';\nimport { registerAdminUserAuditEvents } from '../../../server/src/audit-logs/admin-users';\nimport { registerWebhookAuditEvents } from '../../../server/src/audit-logs/webhooks';\n\nconst getAdminEE = () => {\n const eeAdmin = {\n register,\n bootstrap,\n destroy,\n contentTypes: {\n // Always register the audit-log content type to prevent data loss\n 'audit-log': auditLog,\n ...adminContentTypes,\n },\n services,\n controllers,\n routes,\n };\n\n const isAuditLogsEnabled =\n strapi.config.get('admin.auditLogs.enabled', true) &&\n strapi.ee.features.isEnabled('audit-logs');\n return {\n ...eeAdmin,\n controllers: {\n ...eeAdmin.controllers,\n ...(isAuditLogsEnabled ? { 'audit-logs': auditLogsController } : {}),\n },\n routes: {\n ...eeAdmin.routes,\n ...(isAuditLogsEnabled ? { 'audit-logs': auditLogsRoutes } : {}),\n },\n async register({ strapi }: { strapi: Core.Strapi }) {\n // Run the default registration\n await eeAdmin.register({ strapi });\n\n if (isAuditLogsEnabled) {\n // Register an internal audit logs service\n strapi.add('audit-logs', createAuditLogsService(strapi));\n // Register an internal audit logs lifecycle service\n const auditLogsLifecycle = createAuditLogsLifecycleService(strapi);\n strapi.add('audit-logs-lifecycle', auditLogsLifecycle);\n\n auditLogsLifecycle.registerEvent(\n AUDIT_LOG_EXPORT_EVENT,\n (event: { filters?: unknown }) => ({\n resource: { type: 'audit-log' },\n details: { format: 'csv', filters: event?.filters ?? null },\n })\n );\n\n registerTokenAuditEvents(auditLogsLifecycle);\n registerAdminUserAuditEvents(auditLogsLifecycle);\n registerWebhookAuditEvents(auditLogsLifecycle);\n\n await auditLogsLifecycle.register();\n }\n },\n async destroy({ strapi }: { strapi: Core.Strapi }) {\n if (isAuditLogsEnabled) {\n strapi.get('audit-logs-lifecycle').destroy();\n }\n await eeAdmin.destroy();\n },\n };\n};\n\nexport default getAdminEE;\n"],"names":["getAdminEE","eeAdmin","register","bootstrap","destroy","contentTypes","auditLog","adminContentTypes","services","controllers","routes","isAuditLogsEnabled","strapi","config","get","ee","features","isEnabled","auditLogsController","auditLogsRoutes","add","createAuditLogsService","auditLogsLifecycle","createAuditLogsLifecycleService","registerEvent","AUDIT_LOG_EXPORT_EVENT","event","resource","type","details","format","filters","registerTokenAuditEvents","registerAdminUserAuditEvents","registerWebhookAuditEvents"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,MAAMA,UAAAA,GAAa,IAAA;AACjB,IAAA,MAAMC,OAAAA,GAAU;AACdC,QAAAA,QAAAA;AACAC,QAAAA,SAAAA;AACAC,QAAAA,OAAAA;QACAC,YAAAA,EAAc;;YAEZ,WAAA,EAAaC,QAAAA;AACb,YAAA,GAAGC;AACL,SAAA;AACAC,QAAAA,QAAAA;AACAC,QAAAA,WAAAA;AACAC,QAAAA;AACF,KAAA;AAEA,IAAA,MAAMC,kBAAAA,GACJC,MAAAA,CAAOC,MAAM,CAACC,GAAG,CAAC,yBAAA,EAA2B,IAAA,CAAA,IAC7CF,MAAAA,CAAOG,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,YAAA,CAAA;IAC/B,OAAO;AACL,QAAA,GAAGhB,OAAO;QACVQ,WAAAA,EAAa;AACX,YAAA,GAAGR,QAAQQ,WAAW;AACtB,YAAA,GAAIE,kBAAAA,GAAqB;gBAAE,YAAA,EAAcO;AAAoB,aAAA,GAAI;AACnE,SAAA;QACAR,MAAAA,EAAQ;AACN,YAAA,GAAGT,QAAQS,MAAM;AACjB,YAAA,GAAIC,kBAAAA,GAAqB;gBAAE,YAAA,EAAcQ;AAAgB,aAAA,GAAI;AAC/D,SAAA;AACA,QAAA,MAAMjB,QAAAA,CAAAA,CAAS,EAAEU,MAAAA,EAAAA,OAAM,EAA2B,EAAA;;YAEhD,MAAMX,OAAAA,CAAQC,QAAQ,CAAC;gBAAEU,MAAAA,EAAAA;AAAO,aAAA,CAAA;AAEhC,YAAA,IAAID,kBAAAA,EAAoB;;gBAEtBC,OAAAA,CAAOQ,GAAG,CAAC,YAAA,EAAcC,sBAAAA,CAAuBT,OAAAA,CAAAA,CAAAA;;AAEhD,gBAAA,MAAMU,qBAAqBC,+BAAAA,CAAgCX,OAAAA,CAAAA;gBAC3DA,OAAAA,CAAOQ,GAAG,CAAC,sBAAA,EAAwBE,kBAAAA,CAAAA;AAEnCA,gBAAAA,kBAAAA,CAAmBE,aAAa,CAC9BC,sBAAAA,EACA,CAACC,SAAkC;wBACjCC,QAAAA,EAAU;4BAAEC,IAAAA,EAAM;AAAY,yBAAA;wBAC9BC,OAAAA,EAAS;4BAAEC,MAAAA,EAAQ,KAAA;AAAOC,4BAAAA,OAAAA,EAASL,OAAOK,OAAAA,IAAW;AAAK;qBAC5D,CAAA,CAAA;gBAGFC,wBAAAA,CAAyBV,kBAAAA,CAAAA;gBACzBW,4BAAAA,CAA6BX,kBAAAA,CAAAA;gBAC7BY,0BAAAA,CAA2BZ,kBAAAA,CAAAA;AAE3B,gBAAA,MAAMA,mBAAmBpB,QAAQ,EAAA;AACnC,YAAA;AACF,QAAA,CAAA;AACA,QAAA,MAAME,OAAAA,CAAAA,CAAQ,EAAEQ,MAAAA,EAAAA,OAAM,EAA2B,EAAA;AAC/C,YAAA,IAAID,kBAAAA,EAAoB;gBACtBC,OAAAA,CAAOE,GAAG,CAAC,sBAAA,CAAA,CAAwBV,OAAO,EAAA;AAC5C,YAAA;AACA,YAAA,MAAMH,QAAQG,OAAO,EAAA;AACvB,QAAA;AACF,KAAA;AACF;;;;"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _ = require('lodash');
|
|
4
4
|
var utils = require('@strapi/utils');
|
|
5
|
-
var index = require('../utils/index.js');
|
|
6
5
|
var ssoLock = require('../utils/sso-lock.js');
|
|
7
6
|
var auth$1 = require('../../../../server/src/services/auth.js');
|
|
8
7
|
|
|
@@ -63,11 +62,7 @@ const { ApplicationError } = utils.errors;
|
|
|
63
62
|
throw new ApplicationError();
|
|
64
63
|
}
|
|
65
64
|
await auth$1.assertResetPasswordTokenIsValid(matchingUser);
|
|
66
|
-
return
|
|
67
|
-
password,
|
|
68
|
-
resetPasswordToken: null,
|
|
69
|
-
resetPasswordTokenExpiresAt: null
|
|
70
|
-
});
|
|
65
|
+
return auth$1.completePasswordReset(matchingUser, password);
|
|
71
66
|
};
|
|
72
67
|
var auth = {
|
|
73
68
|
forgotPassword,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sources":["../../../../../../ee/server/src/services/auth.ts"],"sourcesContent":["import _ from 'lodash';\nimport { errors } from '@strapi/utils';\nimport {
|
|
1
|
+
{"version":3,"file":"auth.js","sources":["../../../../../../ee/server/src/services/auth.ts"],"sourcesContent":["import _ from 'lodash';\nimport { errors } from '@strapi/utils';\nimport { isSsoLocked } from '../utils/sso-lock';\nimport {\n assignResetPasswordToken,\n assertResetPasswordTokenIsValid,\n completePasswordReset,\n} from '../../../../server/src/services/auth';\n\nconst { ApplicationError } = errors;\n/**\n * Send an email to the user if it exists and is not locked to SSO\n * If those conditions are not met, nothing happens\n *\n * @param {Object} param params\n * @param {string} param.email user email for which to reset the password\n */\nconst forgotPassword = async ({ email }: any = {}) => {\n const user = await strapi.db.query('admin::user').findOne({ where: { email, isActive: true } });\n\n if (!user || (await isSsoLocked(user))) {\n return;\n }\n\n const resetPasswordToken = await assignResetPasswordToken(user.id);\n\n // Send an email to the admin.\n const url = `${strapi.config.get(\n 'admin.absoluteUrl'\n )}/auth/reset-password?code=${resetPasswordToken}`;\n return strapi\n .plugin('email')\n .service('email')\n .sendTemplatedEmail(\n {\n to: user.email,\n from: strapi.config.get('admin.forgotPassword.from'),\n replyTo: strapi.config.get('admin.forgotPassword.replyTo'),\n },\n strapi.config.get('admin.forgotPassword.emailTemplate'),\n {\n url,\n user: _.pick(user, ['email', 'firstname', 'lastname', 'username']),\n }\n )\n .catch((err: unknown) => {\n // log error server side but do not disclose it to the user to avoid leaking informations\n strapi.log.error(err);\n });\n};\n\n/**\n * Reset a user password\n * @param {Object} param params\n * @param {string} param.resetPasswordToken token generated to request a password reset\n * @param {string} param.password new user password\n */\nconst resetPassword = async ({ resetPasswordToken, password }: any = {}) => {\n const matchingUser = await strapi.db\n .query('admin::user')\n .findOne({ where: { resetPasswordToken, isActive: true } });\n\n if (!matchingUser || (await isSsoLocked(matchingUser))) {\n throw new ApplicationError();\n }\n\n await assertResetPasswordTokenIsValid(matchingUser);\n\n return completePasswordReset(matchingUser, password);\n};\n\nexport default {\n forgotPassword,\n resetPassword,\n};\n"],"names":["ApplicationError","errors","forgotPassword","email","user","strapi","db","query","findOne","where","isActive","isSsoLocked","resetPasswordToken","assignResetPasswordToken","id","url","config","get","plugin","service","sendTemplatedEmail","to","from","replyTo","_","pick","catch","err","log","error","resetPassword","password","matchingUser","assertResetPasswordTokenIsValid","completePasswordReset"],"mappings":";;;;;;;;;;;AASA,MAAM,EAAEA,gBAAgB,EAAE,GAAGC,YAAAA;AAC7B;;;;;;IAOA,MAAMC,iBAAiB,OAAO,EAAEC,KAAK,EAAO,GAAG,EAAE,GAAA;IAC/C,MAAMC,IAAAA,GAAO,MAAMC,MAAAA,CAAOC,EAAE,CAACC,KAAK,CAAC,aAAA,CAAA,CAAeC,OAAO,CAAC;QAAEC,KAAAA,EAAO;AAAEN,YAAAA,KAAAA;YAAOO,QAAAA,EAAU;AAAK;AAAE,KAAA,CAAA;AAE7F,IAAA,IAAI,CAACN,IAAAA,IAAS,MAAMO,mBAAAA,CAAYP,IAAAA,CAAAA,EAAQ;AACtC,QAAA;AACF,IAAA;AAEA,IAAA,MAAMQ,kBAAAA,GAAqB,MAAMC,+BAAAA,CAAyBT,IAAAA,CAAKU,EAAE,CAAA;;IAGjE,MAAMC,GAAAA,GAAM,CAAA,EAAGV,MAAAA,CAAOW,MAAM,CAACC,GAAG,CAC9B,mBAAA,CAAA,CACA,0BAA0B,EAAEL,kBAAAA,CAAAA,CAAoB;IAClD,OAAOP,MAAAA,CACJa,MAAM,CAAC,OAAA,CAAA,CACPC,OAAO,CAAC,OAAA,CAAA,CACRC,kBAAkB,CACjB;AACEC,QAAAA,EAAAA,EAAIjB,KAAKD,KAAK;AACdmB,QAAAA,IAAAA,EAAMjB,MAAAA,CAAOW,MAAM,CAACC,GAAG,CAAC,2BAAA,CAAA;AACxBM,QAAAA,OAAAA,EAASlB,MAAAA,CAAOW,MAAM,CAACC,GAAG,CAAC,8BAAA;AAC7B,KAAA,EACAZ,MAAAA,CAAOW,MAAM,CAACC,GAAG,CAAC,oCAAA,CAAA,EAClB;AACEF,QAAAA,GAAAA;QACAX,IAAAA,EAAMoB,kBAAAA,CAAEC,IAAI,CAACrB,IAAAA,EAAM;AAAC,YAAA,OAAA;AAAS,YAAA,WAAA;AAAa,YAAA,UAAA;AAAY,YAAA;AAAW,SAAA;KACnE,CAAA,CAEDsB,KAAK,CAAC,CAACC,GAAAA,GAAAA;;QAENtB,MAAAA,CAAOuB,GAAG,CAACC,KAAK,CAACF,GAAAA,CAAAA;AACnB,IAAA,CAAA,CAAA;AACJ,CAAA;AAEA;;;;;IAMA,MAAMG,aAAAA,GAAgB,OAAO,EAAElB,kBAAkB,EAAEmB,QAAQ,EAAO,GAAG,EAAE,GAAA;IACrE,MAAMC,YAAAA,GAAe,MAAM3B,MAAAA,CAAOC,EAAE,CACjCC,KAAK,CAAC,aAAA,CAAA,CACNC,OAAO,CAAC;QAAEC,KAAAA,EAAO;AAAEG,YAAAA,kBAAAA;YAAoBF,QAAAA,EAAU;AAAK;AAAE,KAAA,CAAA;AAE3D,IAAA,IAAI,CAACsB,YAAAA,IAAiB,MAAMrB,mBAAAA,CAAYqB,YAAAA,CAAAA,EAAgB;AACtD,QAAA,MAAM,IAAIhC,gBAAAA,EAAAA;AACZ,IAAA;AAEA,IAAA,MAAMiC,sCAAAA,CAAgCD,YAAAA,CAAAA;AAEtC,IAAA,OAAOE,6BAAsBF,YAAAA,EAAcD,QAAAA,CAAAA;AAC7C,CAAA;AAEA,WAAe;AACb7B,IAAAA,cAAAA;AACA4B,IAAAA;AACF,CAAA;;;;"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import ___default from 'lodash';
|
|
2
2
|
import { errors } from '@strapi/utils';
|
|
3
|
-
import { getService } from '../utils/index.mjs';
|
|
4
3
|
import { isSsoLocked } from '../utils/sso-lock.mjs';
|
|
5
|
-
import { assertResetPasswordTokenIsValid, assignResetPasswordToken } from '../../../../server/src/services/auth.mjs';
|
|
4
|
+
import { assertResetPasswordTokenIsValid, completePasswordReset, assignResetPasswordToken } from '../../../../server/src/services/auth.mjs';
|
|
6
5
|
|
|
7
6
|
const { ApplicationError } = errors;
|
|
8
7
|
/**
|
|
@@ -57,11 +56,7 @@ const { ApplicationError } = errors;
|
|
|
57
56
|
throw new ApplicationError();
|
|
58
57
|
}
|
|
59
58
|
await assertResetPasswordTokenIsValid(matchingUser);
|
|
60
|
-
return
|
|
61
|
-
password,
|
|
62
|
-
resetPasswordToken: null,
|
|
63
|
-
resetPasswordTokenExpiresAt: null
|
|
64
|
-
});
|
|
59
|
+
return completePasswordReset(matchingUser, password);
|
|
65
60
|
};
|
|
66
61
|
var auth = {
|
|
67
62
|
forgotPassword,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.mjs","sources":["../../../../../../ee/server/src/services/auth.ts"],"sourcesContent":["import _ from 'lodash';\nimport { errors } from '@strapi/utils';\nimport {
|
|
1
|
+
{"version":3,"file":"auth.mjs","sources":["../../../../../../ee/server/src/services/auth.ts"],"sourcesContent":["import _ from 'lodash';\nimport { errors } from '@strapi/utils';\nimport { isSsoLocked } from '../utils/sso-lock';\nimport {\n assignResetPasswordToken,\n assertResetPasswordTokenIsValid,\n completePasswordReset,\n} from '../../../../server/src/services/auth';\n\nconst { ApplicationError } = errors;\n/**\n * Send an email to the user if it exists and is not locked to SSO\n * If those conditions are not met, nothing happens\n *\n * @param {Object} param params\n * @param {string} param.email user email for which to reset the password\n */\nconst forgotPassword = async ({ email }: any = {}) => {\n const user = await strapi.db.query('admin::user').findOne({ where: { email, isActive: true } });\n\n if (!user || (await isSsoLocked(user))) {\n return;\n }\n\n const resetPasswordToken = await assignResetPasswordToken(user.id);\n\n // Send an email to the admin.\n const url = `${strapi.config.get(\n 'admin.absoluteUrl'\n )}/auth/reset-password?code=${resetPasswordToken}`;\n return strapi\n .plugin('email')\n .service('email')\n .sendTemplatedEmail(\n {\n to: user.email,\n from: strapi.config.get('admin.forgotPassword.from'),\n replyTo: strapi.config.get('admin.forgotPassword.replyTo'),\n },\n strapi.config.get('admin.forgotPassword.emailTemplate'),\n {\n url,\n user: _.pick(user, ['email', 'firstname', 'lastname', 'username']),\n }\n )\n .catch((err: unknown) => {\n // log error server side but do not disclose it to the user to avoid leaking informations\n strapi.log.error(err);\n });\n};\n\n/**\n * Reset a user password\n * @param {Object} param params\n * @param {string} param.resetPasswordToken token generated to request a password reset\n * @param {string} param.password new user password\n */\nconst resetPassword = async ({ resetPasswordToken, password }: any = {}) => {\n const matchingUser = await strapi.db\n .query('admin::user')\n .findOne({ where: { resetPasswordToken, isActive: true } });\n\n if (!matchingUser || (await isSsoLocked(matchingUser))) {\n throw new ApplicationError();\n }\n\n await assertResetPasswordTokenIsValid(matchingUser);\n\n return completePasswordReset(matchingUser, password);\n};\n\nexport default {\n forgotPassword,\n resetPassword,\n};\n"],"names":["ApplicationError","errors","forgotPassword","email","user","strapi","db","query","findOne","where","isActive","isSsoLocked","resetPasswordToken","assignResetPasswordToken","id","url","config","get","plugin","service","sendTemplatedEmail","to","from","replyTo","_","pick","catch","err","log","error","resetPassword","password","matchingUser","assertResetPasswordTokenIsValid","completePasswordReset"],"mappings":";;;;;AASA,MAAM,EAAEA,gBAAgB,EAAE,GAAGC,MAAAA;AAC7B;;;;;;IAOA,MAAMC,iBAAiB,OAAO,EAAEC,KAAK,EAAO,GAAG,EAAE,GAAA;IAC/C,MAAMC,IAAAA,GAAO,MAAMC,MAAAA,CAAOC,EAAE,CAACC,KAAK,CAAC,aAAA,CAAA,CAAeC,OAAO,CAAC;QAAEC,KAAAA,EAAO;AAAEN,YAAAA,KAAAA;YAAOO,QAAAA,EAAU;AAAK;AAAE,KAAA,CAAA;AAE7F,IAAA,IAAI,CAACN,IAAAA,IAAS,MAAMO,WAAAA,CAAYP,IAAAA,CAAAA,EAAQ;AACtC,QAAA;AACF,IAAA;AAEA,IAAA,MAAMQ,kBAAAA,GAAqB,MAAMC,wBAAAA,CAAyBT,IAAAA,CAAKU,EAAE,CAAA;;IAGjE,MAAMC,GAAAA,GAAM,CAAA,EAAGV,MAAAA,CAAOW,MAAM,CAACC,GAAG,CAC9B,mBAAA,CAAA,CACA,0BAA0B,EAAEL,kBAAAA,CAAAA,CAAoB;IAClD,OAAOP,MAAAA,CACJa,MAAM,CAAC,OAAA,CAAA,CACPC,OAAO,CAAC,OAAA,CAAA,CACRC,kBAAkB,CACjB;AACEC,QAAAA,EAAAA,EAAIjB,KAAKD,KAAK;AACdmB,QAAAA,IAAAA,EAAMjB,MAAAA,CAAOW,MAAM,CAACC,GAAG,CAAC,2BAAA,CAAA;AACxBM,QAAAA,OAAAA,EAASlB,MAAAA,CAAOW,MAAM,CAACC,GAAG,CAAC,8BAAA;AAC7B,KAAA,EACAZ,MAAAA,CAAOW,MAAM,CAACC,GAAG,CAAC,oCAAA,CAAA,EAClB;AACEF,QAAAA,GAAAA;QACAX,IAAAA,EAAMoB,UAAAA,CAAEC,IAAI,CAACrB,IAAAA,EAAM;AAAC,YAAA,OAAA;AAAS,YAAA,WAAA;AAAa,YAAA,UAAA;AAAY,YAAA;AAAW,SAAA;KACnE,CAAA,CAEDsB,KAAK,CAAC,CAACC,GAAAA,GAAAA;;QAENtB,MAAAA,CAAOuB,GAAG,CAACC,KAAK,CAACF,GAAAA,CAAAA;AACnB,IAAA,CAAA,CAAA;AACJ,CAAA;AAEA;;;;;IAMA,MAAMG,aAAAA,GAAgB,OAAO,EAAElB,kBAAkB,EAAEmB,QAAQ,EAAO,GAAG,EAAE,GAAA;IACrE,MAAMC,YAAAA,GAAe,MAAM3B,MAAAA,CAAOC,EAAE,CACjCC,KAAK,CAAC,aAAA,CAAA,CACNC,OAAO,CAAC;QAAEC,KAAAA,EAAO;AAAEG,YAAAA,kBAAAA;YAAoBF,QAAAA,EAAU;AAAK;AAAE,KAAA,CAAA;AAE3D,IAAA,IAAI,CAACsB,YAAAA,IAAiB,MAAMrB,WAAAA,CAAYqB,YAAAA,CAAAA,EAAgB;AACtD,QAAA,MAAM,IAAIhC,gBAAAA,EAAAA;AACZ,IAAA;AAEA,IAAA,MAAMiC,+BAAAA,CAAgCD,YAAAA,CAAAA;AAEtC,IAAA,OAAOE,sBAAsBF,YAAAA,EAAcD,QAAAA,CAAAA;AAC7C,CAAA;AAEA,WAAe;AACb7B,IAAAA,cAAAA;AACA4B,IAAAA;AACF,CAAA;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var fp = require('lodash/fp');
|
|
4
3
|
var index = require('../utils/index.js');
|
|
5
4
|
|
|
6
5
|
const getSSOProvidersList = async ()=>{
|
|
@@ -15,10 +14,11 @@ const sendUpdateProjectInformation = async (strapi1)=>{
|
|
|
15
14
|
const numberOfAdminUsers = await index.getService('user').count();
|
|
16
15
|
if (strapi1.ee.features.isEnabled('sso')) {
|
|
17
16
|
const SSOProviders = await getSSOProvidersList();
|
|
18
|
-
groupProperties =
|
|
17
|
+
groupProperties = {
|
|
18
|
+
...groupProperties,
|
|
19
19
|
SSOProviders,
|
|
20
20
|
isSSOConfigured: SSOProviders.length !== 0
|
|
21
|
-
}
|
|
21
|
+
};
|
|
22
22
|
}
|
|
23
23
|
if (strapi1.ee.features.isEnabled('cms-content-releases')) {
|
|
24
24
|
const numberOfContentReleases = await strapi1.db.query('plugin::content-releases.release').count();
|
|
@@ -29,15 +29,17 @@ const sendUpdateProjectInformation = async (strapi1)=>{
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
-
groupProperties =
|
|
32
|
+
groupProperties = {
|
|
33
|
+
...groupProperties,
|
|
33
34
|
numberOfContentReleases,
|
|
34
35
|
numberOfPublishedContentReleases
|
|
35
|
-
}
|
|
36
|
+
};
|
|
36
37
|
}
|
|
37
|
-
groupProperties =
|
|
38
|
+
groupProperties = {
|
|
39
|
+
...groupProperties,
|
|
38
40
|
numberOfActiveAdminUsers,
|
|
39
41
|
numberOfAdminUsers
|
|
40
|
-
}
|
|
42
|
+
};
|
|
41
43
|
strapi1.telemetry.send('didUpdateProjectInformation', {
|
|
42
44
|
groupProperties
|
|
43
45
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sources":["../../../../../../ee/server/src/services/metrics.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"metrics.js","sources":["../../../../../../ee/server/src/services/metrics.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { getService } from '../utils';\n\nconst getSSOProvidersList = async () => {\n const { providerRegistry } = strapi.service('admin::passport');\n\n return providerRegistry.getAll().map(({ uid }: { uid: string }) => uid);\n};\n\nconst sendUpdateProjectInformation = async (strapi: Core.Strapi) => {\n let groupProperties = {};\n\n const numberOfActiveAdminUsers = await getService('user').count({ isActive: true });\n const numberOfAdminUsers = await getService('user').count();\n\n if (strapi.ee.features.isEnabled('sso')) {\n const SSOProviders = await getSSOProvidersList();\n\n groupProperties = {\n ...groupProperties,\n SSOProviders,\n isSSOConfigured: SSOProviders.length !== 0,\n };\n }\n\n if (strapi.ee.features.isEnabled('cms-content-releases')) {\n const numberOfContentReleases = await strapi\n .db!.query('plugin::content-releases.release')\n .count();\n\n const numberOfPublishedContentReleases = await strapi\n .db!.query('plugin::content-releases.release')\n .count({\n filters: { releasedAt: { $notNull: true } },\n });\n\n groupProperties = {\n ...groupProperties,\n numberOfContentReleases,\n numberOfPublishedContentReleases,\n };\n }\n\n groupProperties = { ...groupProperties, numberOfActiveAdminUsers, numberOfAdminUsers };\n\n strapi.telemetry.send('didUpdateProjectInformation', {\n groupProperties,\n });\n};\n\nconst startCron = (strapi: Core.Strapi) => {\n strapi.cron.add({\n sendProjectInformation: {\n task: () => sendUpdateProjectInformation(strapi),\n options: '0 0 0 * * *',\n },\n });\n};\n\nexport default { startCron, getSSOProvidersList, sendUpdateProjectInformation };\n"],"names":["getSSOProvidersList","providerRegistry","strapi","service","getAll","map","uid","sendUpdateProjectInformation","groupProperties","numberOfActiveAdminUsers","getService","count","isActive","numberOfAdminUsers","ee","features","isEnabled","SSOProviders","isSSOConfigured","length","numberOfContentReleases","db","query","numberOfPublishedContentReleases","filters","releasedAt","$notNull","telemetry","send","startCron","cron","add","sendProjectInformation","task","options"],"mappings":";;;;AAGA,MAAMA,mBAAAA,GAAsB,UAAA;AAC1B,IAAA,MAAM,EAAEC,gBAAgB,EAAE,GAAGC,MAAAA,CAAOC,OAAO,CAAC,iBAAA,CAAA;IAE5C,OAAOF,gBAAAA,CAAiBG,MAAM,EAAA,CAAGC,GAAG,CAAC,CAAC,EAAEC,GAAG,EAAmB,GAAKA,GAAAA,CAAAA;AACrE,CAAA;AAEA,MAAMC,+BAA+B,OAAOL,OAAAA,GAAAA;AAC1C,IAAA,IAAIM,kBAAkB,EAAC;AAEvB,IAAA,MAAMC,wBAAAA,GAA2B,MAAMC,gBAAAA,CAAW,MAAA,CAAA,CAAQC,KAAK,CAAC;QAAEC,QAAAA,EAAU;AAAK,KAAA,CAAA;AACjF,IAAA,MAAMC,kBAAAA,GAAqB,MAAMH,gBAAAA,CAAW,MAAA,CAAA,CAAQC,KAAK,EAAA;AAEzD,IAAA,IAAIT,QAAOY,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,KAAA,CAAA,EAAQ;AACvC,QAAA,MAAMC,eAAe,MAAMjB,mBAAAA,EAAAA;QAE3BQ,eAAAA,GAAkB;AAChB,YAAA,GAAGA,eAAe;AAClBS,YAAAA,YAAAA;YACAC,eAAAA,EAAiBD,YAAAA,CAAaE,MAAM,KAAK;AAC3C,SAAA;AACF,IAAA;AAEA,IAAA,IAAIjB,QAAOY,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,sBAAA,CAAA,EAAyB;QACxD,MAAMI,uBAAAA,GAA0B,MAAMlB,OAAAA,CACnCmB,EAAE,CAAEC,KAAK,CAAC,oCACVX,KAAK,EAAA;QAER,MAAMY,gCAAAA,GAAmC,MAAMrB,OAAAA,CAC5CmB,EAAE,CAAEC,KAAK,CAAC,kCAAA,CAAA,CACVX,KAAK,CAAC;YACLa,OAAAA,EAAS;gBAAEC,UAAAA,EAAY;oBAAEC,QAAAA,EAAU;AAAK;AAAE;AAC5C,SAAA,CAAA;QAEFlB,eAAAA,GAAkB;AAChB,YAAA,GAAGA,eAAe;AAClBY,YAAAA,uBAAAA;AACAG,YAAAA;AACF,SAAA;AACF,IAAA;IAEAf,eAAAA,GAAkB;AAAE,QAAA,GAAGA,eAAe;AAAEC,QAAAA,wBAAAA;AAA0BI,QAAAA;AAAmB,KAAA;AAErFX,IAAAA,OAAAA,CAAOyB,SAAS,CAACC,IAAI,CAAC,6BAAA,EAA+B;AACnDpB,QAAAA;AACF,KAAA,CAAA;AACF,CAAA;AAEA,MAAMqB,YAAY,CAAC3B,OAAAA,GAAAA;IACjBA,OAAAA,CAAO4B,IAAI,CAACC,GAAG,CAAC;QACdC,sBAAAA,EAAwB;AACtBC,YAAAA,IAAAA,EAAM,IAAM1B,4BAAAA,CAA6BL,OAAAA,CAAAA;YACzCgC,OAAAA,EAAS;AACX;AACF,KAAA,CAAA;AACF,CAAA;AAEA,cAAe;AAAEL,IAAAA,SAAAA;AAAW7B,IAAAA,mBAAAA;AAAqBO,IAAAA;AAA6B,CAAA;;;;"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { assign } from 'lodash/fp';
|
|
2
1
|
import { getService } from '../utils/index.mjs';
|
|
3
2
|
|
|
4
3
|
const getSSOProvidersList = async ()=>{
|
|
@@ -13,10 +12,11 @@ const sendUpdateProjectInformation = async (strapi1)=>{
|
|
|
13
12
|
const numberOfAdminUsers = await getService('user').count();
|
|
14
13
|
if (strapi1.ee.features.isEnabled('sso')) {
|
|
15
14
|
const SSOProviders = await getSSOProvidersList();
|
|
16
|
-
groupProperties =
|
|
15
|
+
groupProperties = {
|
|
16
|
+
...groupProperties,
|
|
17
17
|
SSOProviders,
|
|
18
18
|
isSSOConfigured: SSOProviders.length !== 0
|
|
19
|
-
}
|
|
19
|
+
};
|
|
20
20
|
}
|
|
21
21
|
if (strapi1.ee.features.isEnabled('cms-content-releases')) {
|
|
22
22
|
const numberOfContentReleases = await strapi1.db.query('plugin::content-releases.release').count();
|
|
@@ -27,15 +27,17 @@ const sendUpdateProjectInformation = async (strapi1)=>{
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
|
-
groupProperties =
|
|
30
|
+
groupProperties = {
|
|
31
|
+
...groupProperties,
|
|
31
32
|
numberOfContentReleases,
|
|
32
33
|
numberOfPublishedContentReleases
|
|
33
|
-
}
|
|
34
|
+
};
|
|
34
35
|
}
|
|
35
|
-
groupProperties =
|
|
36
|
+
groupProperties = {
|
|
37
|
+
...groupProperties,
|
|
36
38
|
numberOfActiveAdminUsers,
|
|
37
39
|
numberOfAdminUsers
|
|
38
|
-
}
|
|
40
|
+
};
|
|
39
41
|
strapi1.telemetry.send('didUpdateProjectInformation', {
|
|
40
42
|
groupProperties
|
|
41
43
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.mjs","sources":["../../../../../../ee/server/src/services/metrics.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"metrics.mjs","sources":["../../../../../../ee/server/src/services/metrics.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { getService } from '../utils';\n\nconst getSSOProvidersList = async () => {\n const { providerRegistry } = strapi.service('admin::passport');\n\n return providerRegistry.getAll().map(({ uid }: { uid: string }) => uid);\n};\n\nconst sendUpdateProjectInformation = async (strapi: Core.Strapi) => {\n let groupProperties = {};\n\n const numberOfActiveAdminUsers = await getService('user').count({ isActive: true });\n const numberOfAdminUsers = await getService('user').count();\n\n if (strapi.ee.features.isEnabled('sso')) {\n const SSOProviders = await getSSOProvidersList();\n\n groupProperties = {\n ...groupProperties,\n SSOProviders,\n isSSOConfigured: SSOProviders.length !== 0,\n };\n }\n\n if (strapi.ee.features.isEnabled('cms-content-releases')) {\n const numberOfContentReleases = await strapi\n .db!.query('plugin::content-releases.release')\n .count();\n\n const numberOfPublishedContentReleases = await strapi\n .db!.query('plugin::content-releases.release')\n .count({\n filters: { releasedAt: { $notNull: true } },\n });\n\n groupProperties = {\n ...groupProperties,\n numberOfContentReleases,\n numberOfPublishedContentReleases,\n };\n }\n\n groupProperties = { ...groupProperties, numberOfActiveAdminUsers, numberOfAdminUsers };\n\n strapi.telemetry.send('didUpdateProjectInformation', {\n groupProperties,\n });\n};\n\nconst startCron = (strapi: Core.Strapi) => {\n strapi.cron.add({\n sendProjectInformation: {\n task: () => sendUpdateProjectInformation(strapi),\n options: '0 0 0 * * *',\n },\n });\n};\n\nexport default { startCron, getSSOProvidersList, sendUpdateProjectInformation };\n"],"names":["getSSOProvidersList","providerRegistry","strapi","service","getAll","map","uid","sendUpdateProjectInformation","groupProperties","numberOfActiveAdminUsers","getService","count","isActive","numberOfAdminUsers","ee","features","isEnabled","SSOProviders","isSSOConfigured","length","numberOfContentReleases","db","query","numberOfPublishedContentReleases","filters","releasedAt","$notNull","telemetry","send","startCron","cron","add","sendProjectInformation","task","options"],"mappings":";;AAGA,MAAMA,mBAAAA,GAAsB,UAAA;AAC1B,IAAA,MAAM,EAAEC,gBAAgB,EAAE,GAAGC,MAAAA,CAAOC,OAAO,CAAC,iBAAA,CAAA;IAE5C,OAAOF,gBAAAA,CAAiBG,MAAM,EAAA,CAAGC,GAAG,CAAC,CAAC,EAAEC,GAAG,EAAmB,GAAKA,GAAAA,CAAAA;AACrE,CAAA;AAEA,MAAMC,+BAA+B,OAAOL,OAAAA,GAAAA;AAC1C,IAAA,IAAIM,kBAAkB,EAAC;AAEvB,IAAA,MAAMC,wBAAAA,GAA2B,MAAMC,UAAAA,CAAW,MAAA,CAAA,CAAQC,KAAK,CAAC;QAAEC,QAAAA,EAAU;AAAK,KAAA,CAAA;AACjF,IAAA,MAAMC,kBAAAA,GAAqB,MAAMH,UAAAA,CAAW,MAAA,CAAA,CAAQC,KAAK,EAAA;AAEzD,IAAA,IAAIT,QAAOY,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,KAAA,CAAA,EAAQ;AACvC,QAAA,MAAMC,eAAe,MAAMjB,mBAAAA,EAAAA;QAE3BQ,eAAAA,GAAkB;AAChB,YAAA,GAAGA,eAAe;AAClBS,YAAAA,YAAAA;YACAC,eAAAA,EAAiBD,YAAAA,CAAaE,MAAM,KAAK;AAC3C,SAAA;AACF,IAAA;AAEA,IAAA,IAAIjB,QAAOY,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,sBAAA,CAAA,EAAyB;QACxD,MAAMI,uBAAAA,GAA0B,MAAMlB,OAAAA,CACnCmB,EAAE,CAAEC,KAAK,CAAC,oCACVX,KAAK,EAAA;QAER,MAAMY,gCAAAA,GAAmC,MAAMrB,OAAAA,CAC5CmB,EAAE,CAAEC,KAAK,CAAC,kCAAA,CAAA,CACVX,KAAK,CAAC;YACLa,OAAAA,EAAS;gBAAEC,UAAAA,EAAY;oBAAEC,QAAAA,EAAU;AAAK;AAAE;AAC5C,SAAA,CAAA;QAEFlB,eAAAA,GAAkB;AAChB,YAAA,GAAGA,eAAe;AAClBY,YAAAA,uBAAAA;AACAG,YAAAA;AACF,SAAA;AACF,IAAA;IAEAf,eAAAA,GAAkB;AAAE,QAAA,GAAGA,eAAe;AAAEC,QAAAA,wBAAAA;AAA0BI,QAAAA;AAAmB,KAAA;AAErFX,IAAAA,OAAAA,CAAOyB,SAAS,CAACC,IAAI,CAAC,6BAAA,EAA+B;AACnDpB,QAAAA;AACF,KAAA,CAAA;AACF,CAAA;AAEA,MAAMqB,YAAY,CAAC3B,OAAAA,GAAAA;IACjBA,OAAAA,CAAO4B,IAAI,CAACC,GAAG,CAAC;QACdC,sBAAAA,EAAwB;AACtBC,YAAAA,IAAAA,EAAM,IAAM1B,4BAAAA,CAA6BL,OAAAA,CAAAA;YACzCgC,OAAAA,EAAS;AACX;AACF,KAAA,CAAA;AACF,CAAA;AAEA,cAAe;AAAEL,IAAAA,SAAAA;AAAW7B,IAAAA,mBAAAA;AAAqBO,IAAAA;AAA6B,CAAA;;;;"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _ = require('lodash');
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Transform table name to the object format
|
|
@@ -32,13 +32,12 @@ var fp = require('lodash/fp');
|
|
|
32
32
|
});
|
|
33
33
|
const tables = tableNames.map(transformTableName);
|
|
34
34
|
// Get new tables to be persisted, remove tables if they already were persisted
|
|
35
|
-
const notPersistedTableNames =
|
|
35
|
+
const notPersistedTableNames = _.differenceWith(tables, persistedTables, _.isEqual);
|
|
36
36
|
// Remove tables that are going to be changed
|
|
37
|
-
const tablesToPersist =
|
|
37
|
+
const tablesToPersist = _.differenceWith(persistedTables, notPersistedTableNames, (t1, t2)=>t1.name === t2.name);
|
|
38
38
|
if (!notPersistedTableNames.length) {
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
|
-
// @ts-expect-error lodash types
|
|
42
41
|
tablesToPersist.push(...notPersistedTableNames);
|
|
43
42
|
await strapi1.store.set({
|
|
44
43
|
type: 'core',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persist-tables.js","sources":["../../../../../../ee/server/src/services/persist-tables.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"persist-tables.js","sources":["../../../../../../ee/server/src/services/persist-tables.ts"],"sourcesContent":["import { isEqual, differenceWith } from 'lodash';\nimport type { Core } from '@strapi/types';\n\nexport interface PersistedTable {\n name: string;\n dependsOn?: Array<{ name: string }>;\n}\n\n/**\n * Transform table name to the object format\n */\nconst transformTableName = (table: string | PersistedTable) => {\n if (typeof table === 'string') {\n return { name: table };\n }\n return table;\n};\n\n/**\n * Finds all tables in the database matching the regular expression\n * @param {Object} ctx\n * @param {Strapi} ctx.strapi\n * @param {RegExp} regex\n * @returns {Promise<string[]>}\n */\nexport async function findTables({ strapi }: { strapi: Core.Strapi }, regex: any) {\n const tables = await strapi.db.dialect.schemaInspector.getTables();\n return tables.filter((tableName: string) => regex.test(tableName));\n}\n\n/**\n * Add tables name to the reserved tables in core store\n */\nasync function addPersistTables(\n { strapi }: { strapi: Core.Strapi },\n tableNames: Array<string | PersistedTable>\n) {\n const persistedTables = await getPersistedTables({ strapi });\n const tables = tableNames.map(transformTableName);\n\n // Get new tables to be persisted, remove tables if they already were persisted\n const notPersistedTableNames = differenceWith(tables, persistedTables, isEqual);\n // Remove tables that are going to be changed\n const tablesToPersist = differenceWith(\n persistedTables,\n notPersistedTableNames,\n (t1: any, t2: any) => t1.name === t2.name\n );\n\n if (!notPersistedTableNames.length) {\n return;\n }\n\n tablesToPersist.push(...notPersistedTableNames);\n await strapi.store.set({\n type: 'core',\n key: 'persisted_tables',\n value: tablesToPersist,\n });\n}\n\n/**\n * Get all reserved table names from the core store\n * @param {Object} ctx\n * @param {Strapi} ctx.strapi\n * @param {RegExp} regex\n * @returns {Promise<string[]>}\n */\n\nasync function getPersistedTables({ strapi }: { strapi: Core.Strapi }) {\n const persistedTables: any = await strapi.store.get({\n type: 'core',\n key: 'persisted_tables',\n });\n\n return (persistedTables || []).map(transformTableName);\n}\n\n/**\n * Set all reserved table names in the core store\n * @param {Object} ctx\n * @param {Strapi} ctx.strapi\n * @param {Array<string|{ table: string; dependsOn?: Array<{ table: string;}> }>} tableNames\n * @returns {Promise<void>}\n */\nasync function setPersistedTables(\n { strapi }: { strapi: Core.Strapi },\n tableNames: Array<string | PersistedTable>\n) {\n await strapi.store.set({\n type: 'core',\n key: 'persisted_tables',\n value: tableNames,\n });\n}\n/**\n * Add all table names that start with a prefix to the reserved tables in\n * core store\n * @param {string} tableNamePrefix\n * @return {Promise<void>}\n */\n\nexport const persistTablesWithPrefix = async (tableNamePrefix: string) => {\n const tableNameRegex = new RegExp(`^${tableNamePrefix}.*`);\n const tableNames = await findTables({ strapi }, tableNameRegex);\n\n await addPersistTables({ strapi }, tableNames);\n};\n\n/**\n * Remove all table names that end with a suffix from the reserved tables in core store\n * @param {string} tableNameSuffix\n * @return {Promise<void>}\n */\nexport const removePersistedTablesWithSuffix = async (tableNameSuffix: string) => {\n const tableNameRegex = new RegExp(`.*${tableNameSuffix}$`);\n const persistedTables = await getPersistedTables({ strapi });\n\n const filteredPersistedTables = persistedTables.filter((table: any) => {\n return !tableNameRegex.test(table.name);\n });\n\n if (filteredPersistedTables.length === persistedTables.length) {\n return;\n }\n\n await setPersistedTables({ strapi }, filteredPersistedTables);\n};\n\n/**\n * Add tables to the reserved tables in core store\n */\nexport const persistTables = async (tables: Array<string | PersistedTable>) => {\n await addPersistTables({ strapi }, tables);\n};\n\nexport default {\n persistTablesWithPrefix,\n removePersistedTablesWithSuffix,\n persistTables,\n findTables,\n};\n"],"names":["transformTableName","table","name","findTables","strapi","regex","tables","db","dialect","schemaInspector","getTables","filter","tableName","test","addPersistTables","tableNames","persistedTables","getPersistedTables","map","notPersistedTableNames","differenceWith","isEqual","tablesToPersist","t1","t2","length","push","store","set","type","key","value","get","setPersistedTables","persistTablesWithPrefix","tableNamePrefix","tableNameRegex","RegExp","removePersistedTablesWithSuffix","tableNameSuffix","filteredPersistedTables","persistTables"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { differenceWith, isEqual } from 'lodash
|
|
1
|
+
import { differenceWith, isEqual } from 'lodash';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Transform table name to the object format
|
|
@@ -28,13 +28,12 @@ import { differenceWith, isEqual } from 'lodash/fp';
|
|
|
28
28
|
});
|
|
29
29
|
const tables = tableNames.map(transformTableName);
|
|
30
30
|
// Get new tables to be persisted, remove tables if they already were persisted
|
|
31
|
-
const notPersistedTableNames = differenceWith(
|
|
31
|
+
const notPersistedTableNames = differenceWith(tables, persistedTables, isEqual);
|
|
32
32
|
// Remove tables that are going to be changed
|
|
33
|
-
const tablesToPersist = differenceWith((t1, t2)=>t1.name === t2.name
|
|
33
|
+
const tablesToPersist = differenceWith(persistedTables, notPersistedTableNames, (t1, t2)=>t1.name === t2.name);
|
|
34
34
|
if (!notPersistedTableNames.length) {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
|
-
// @ts-expect-error lodash types
|
|
38
37
|
tablesToPersist.push(...notPersistedTableNames);
|
|
39
38
|
await strapi1.store.set({
|
|
40
39
|
type: 'core',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persist-tables.mjs","sources":["../../../../../../ee/server/src/services/persist-tables.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"persist-tables.mjs","sources":["../../../../../../ee/server/src/services/persist-tables.ts"],"sourcesContent":["import { isEqual, differenceWith } from 'lodash';\nimport type { Core } from '@strapi/types';\n\nexport interface PersistedTable {\n name: string;\n dependsOn?: Array<{ name: string }>;\n}\n\n/**\n * Transform table name to the object format\n */\nconst transformTableName = (table: string | PersistedTable) => {\n if (typeof table === 'string') {\n return { name: table };\n }\n return table;\n};\n\n/**\n * Finds all tables in the database matching the regular expression\n * @param {Object} ctx\n * @param {Strapi} ctx.strapi\n * @param {RegExp} regex\n * @returns {Promise<string[]>}\n */\nexport async function findTables({ strapi }: { strapi: Core.Strapi }, regex: any) {\n const tables = await strapi.db.dialect.schemaInspector.getTables();\n return tables.filter((tableName: string) => regex.test(tableName));\n}\n\n/**\n * Add tables name to the reserved tables in core store\n */\nasync function addPersistTables(\n { strapi }: { strapi: Core.Strapi },\n tableNames: Array<string | PersistedTable>\n) {\n const persistedTables = await getPersistedTables({ strapi });\n const tables = tableNames.map(transformTableName);\n\n // Get new tables to be persisted, remove tables if they already were persisted\n const notPersistedTableNames = differenceWith(tables, persistedTables, isEqual);\n // Remove tables that are going to be changed\n const tablesToPersist = differenceWith(\n persistedTables,\n notPersistedTableNames,\n (t1: any, t2: any) => t1.name === t2.name\n );\n\n if (!notPersistedTableNames.length) {\n return;\n }\n\n tablesToPersist.push(...notPersistedTableNames);\n await strapi.store.set({\n type: 'core',\n key: 'persisted_tables',\n value: tablesToPersist,\n });\n}\n\n/**\n * Get all reserved table names from the core store\n * @param {Object} ctx\n * @param {Strapi} ctx.strapi\n * @param {RegExp} regex\n * @returns {Promise<string[]>}\n */\n\nasync function getPersistedTables({ strapi }: { strapi: Core.Strapi }) {\n const persistedTables: any = await strapi.store.get({\n type: 'core',\n key: 'persisted_tables',\n });\n\n return (persistedTables || []).map(transformTableName);\n}\n\n/**\n * Set all reserved table names in the core store\n * @param {Object} ctx\n * @param {Strapi} ctx.strapi\n * @param {Array<string|{ table: string; dependsOn?: Array<{ table: string;}> }>} tableNames\n * @returns {Promise<void>}\n */\nasync function setPersistedTables(\n { strapi }: { strapi: Core.Strapi },\n tableNames: Array<string | PersistedTable>\n) {\n await strapi.store.set({\n type: 'core',\n key: 'persisted_tables',\n value: tableNames,\n });\n}\n/**\n * Add all table names that start with a prefix to the reserved tables in\n * core store\n * @param {string} tableNamePrefix\n * @return {Promise<void>}\n */\n\nexport const persistTablesWithPrefix = async (tableNamePrefix: string) => {\n const tableNameRegex = new RegExp(`^${tableNamePrefix}.*`);\n const tableNames = await findTables({ strapi }, tableNameRegex);\n\n await addPersistTables({ strapi }, tableNames);\n};\n\n/**\n * Remove all table names that end with a suffix from the reserved tables in core store\n * @param {string} tableNameSuffix\n * @return {Promise<void>}\n */\nexport const removePersistedTablesWithSuffix = async (tableNameSuffix: string) => {\n const tableNameRegex = new RegExp(`.*${tableNameSuffix}$`);\n const persistedTables = await getPersistedTables({ strapi });\n\n const filteredPersistedTables = persistedTables.filter((table: any) => {\n return !tableNameRegex.test(table.name);\n });\n\n if (filteredPersistedTables.length === persistedTables.length) {\n return;\n }\n\n await setPersistedTables({ strapi }, filteredPersistedTables);\n};\n\n/**\n * Add tables to the reserved tables in core store\n */\nexport const persistTables = async (tables: Array<string | PersistedTable>) => {\n await addPersistTables({ strapi }, tables);\n};\n\nexport default {\n persistTablesWithPrefix,\n removePersistedTablesWithSuffix,\n persistTables,\n findTables,\n};\n"],"names":["transformTableName","table","name","findTables","strapi","regex","tables","db","dialect","schemaInspector","getTables","filter","tableName","test","addPersistTables","tableNames","persistedTables","getPersistedTables","map","notPersistedTableNames","differenceWith","isEqual","tablesToPersist","t1","t2","length","push","store","set","type","key","value","get","setPersistedTables","persistTablesWithPrefix","tableNamePrefix","tableNameRegex","RegExp","removePersistedTablesWithSuffix","tableNameSuffix","filteredPersistedTables","persistTables"],"mappings":";;AAQA;;IAGA,MAAMA,qBAAqB,CAACC,KAAAA,GAAAA;IAC1B,IAAI,OAAOA,UAAU,QAAA,EAAU;QAC7B,OAAO;YAAEC,IAAAA,EAAMD;AAAM,SAAA;AACvB,IAAA;IACA,OAAOA,KAAAA;AACT,CAAA;AAEA;;;;;;IAOO,eAAeE,UAAAA,CAAW,EAAEC,QAAAA,OAAM,EAA2B,EAAEC,KAAU,EAAA;IAC9E,MAAMC,MAAAA,GAAS,MAAMF,OAAAA,CAAOG,EAAE,CAACC,OAAO,CAACC,eAAe,CAACC,SAAS,EAAA;AAChE,IAAA,OAAOJ,OAAOK,MAAM,CAAC,CAACC,SAAAA,GAAsBP,KAAAA,CAAMQ,IAAI,CAACD,SAAAA,CAAAA,CAAAA;AACzD;AAEA;;AAEC,IACD,eAAeE,gBAAAA,CACb,EAAEV,QAAAA,OAAM,EAA2B,EACnCW,UAA0C,EAAA;IAE1C,MAAMC,eAAAA,GAAkB,MAAMC,kBAAAA,CAAmB;QAAEb,MAAAA,EAAAA;AAAO,KAAA,CAAA;IAC1D,MAAME,MAAAA,GAASS,UAAAA,CAAWG,GAAG,CAAClB,kBAAAA,CAAAA;;IAG9B,MAAMmB,sBAAAA,GAAyBC,cAAAA,CAAed,MAAAA,EAAQU,eAAAA,EAAiBK,OAAAA,CAAAA;;IAEvE,MAAMC,eAAAA,GAAkBF,cAAAA,CACtBJ,eAAAA,EACAG,sBAAAA,EACA,CAACI,EAAAA,EAASC,EAAAA,GAAYD,EAAAA,CAAGrB,IAAI,KAAKsB,EAAAA,CAAGtB,IAAI,CAAA;IAG3C,IAAI,CAACiB,sBAAAA,CAAuBM,MAAM,EAAE;AAClC,QAAA;AACF,IAAA;AAEAH,IAAAA,eAAAA,CAAgBI,IAAI,CAAA,GAAIP,sBAAAA,CAAAA;AACxB,IAAA,MAAMf,OAAAA,CAAOuB,KAAK,CAACC,GAAG,CAAC;QACrBC,IAAAA,EAAM,MAAA;QACNC,GAAAA,EAAK,kBAAA;QACLC,KAAAA,EAAOT;AACT,KAAA,CAAA;AACF;AAEA;;;;;;AAMC,IAED,eAAeL,kBAAAA,CAAmB,EAAEb,MAAAA,EAAAA,OAAM,EAA2B,EAAA;AACnE,IAAA,MAAMY,kBAAuB,MAAMZ,OAAAA,CAAOuB,KAAK,CAACK,GAAG,CAAC;QAClDH,IAAAA,EAAM,MAAA;QACNC,GAAAA,EAAK;AACP,KAAA,CAAA;AAEA,IAAA,OAAO,CAACd,eAAAA,IAAmB,EAAE,EAAEE,GAAG,CAAClB,kBAAAA,CAAAA;AACrC;AAEA;;;;;;AAMC,IACD,eAAeiC,kBAAAA,CACb,EAAE7B,QAAAA,OAAM,EAA2B,EACnCW,UAA0C,EAAA;AAE1C,IAAA,MAAMX,OAAAA,CAAOuB,KAAK,CAACC,GAAG,CAAC;QACrBC,IAAAA,EAAM,MAAA;QACNC,GAAAA,EAAK,kBAAA;QACLC,KAAAA,EAAOhB;AACT,KAAA,CAAA;AACF;AACA;;;;;IAOO,MAAMmB,uBAAAA,GAA0B,OAAOC,eAAAA,GAAAA;IAC5C,MAAMC,cAAAA,GAAiB,IAAIC,MAAAA,CAAO,CAAC,CAAC,EAAEF,eAAAA,CAAgB,EAAE,CAAC,CAAA;IACzD,MAAMpB,UAAAA,GAAa,MAAMZ,UAAAA,CAAW;AAAEC,QAAAA;KAAO,EAAGgC,cAAAA,CAAAA;AAEhD,IAAA,MAAMtB,gBAAAA,CAAiB;AAAEV,QAAAA;KAAO,EAAGW,UAAAA,CAAAA;AACrC;AAEA;;;;IAKO,MAAMuB,+BAAAA,GAAkC,OAAOC,eAAAA,GAAAA;IACpD,MAAMH,cAAAA,GAAiB,IAAIC,MAAAA,CAAO,CAAC,EAAE,EAAEE,eAAAA,CAAgB,CAAC,CAAC,CAAA;IACzD,MAAMvB,eAAAA,GAAkB,MAAMC,kBAAAA,CAAmB;AAAEb,QAAAA;AAAO,KAAA,CAAA;AAE1D,IAAA,MAAMoC,uBAAAA,GAA0BxB,eAAAA,CAAgBL,MAAM,CAAC,CAACV,KAAAA,GAAAA;AACtD,QAAA,OAAO,CAACmC,cAAAA,CAAevB,IAAI,CAACZ,MAAMC,IAAI,CAAA;AACxC,IAAA,CAAA,CAAA;AAEA,IAAA,IAAIsC,uBAAAA,CAAwBf,MAAM,KAAKT,eAAAA,CAAgBS,MAAM,EAAE;AAC7D,QAAA;AACF,IAAA;AAEA,IAAA,MAAMQ,kBAAAA,CAAmB;AAAE7B,QAAAA;KAAO,EAAGoC,uBAAAA,CAAAA;AACvC;AAEA;;IAGO,MAAMC,aAAAA,GAAgB,OAAOnC,MAAAA,GAAAA;AAClC,IAAA,MAAMQ,gBAAAA,CAAiB;AAAEV,QAAAA;KAAO,EAAGE,MAAAA,CAAAA;AACrC;AAEA,2BAAe;AACb4B,IAAAA,uBAAAA;AACAI,IAAAA,+BAAAA;AACAG,IAAAA,aAAAA;AACAtC,IAAAA;AACF,CAAA;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _ = require('lodash');
|
|
4
4
|
var utils = require('@strapi/utils');
|
|
5
5
|
|
|
6
6
|
const { ApplicationError } = utils.errors;
|
|
@@ -13,7 +13,7 @@ const ssoCheckRolesIdForDeletion = async (ids)=>{
|
|
|
13
13
|
key: 'auth'
|
|
14
14
|
});
|
|
15
15
|
for (const roleId of ids){
|
|
16
|
-
if (defaultRole &&
|
|
16
|
+
if (defaultRole && _.toString(defaultRole) === _.toString(roleId)) {
|
|
17
17
|
throw new ApplicationError('This role is used as the default SSO role. Make sure to change this configuration before deleting the role');
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role.js","sources":["../../../../../../ee/server/src/services/role.ts"],"sourcesContent":["import { toString } from 'lodash
|
|
1
|
+
{"version":3,"file":"role.js","sources":["../../../../../../ee/server/src/services/role.ts"],"sourcesContent":["import { toString } from 'lodash';\nimport { errors } from '@strapi/utils';\n\nconst { ApplicationError } = errors;\n\nconst ssoCheckRolesIdForDeletion = async (ids: any) => {\n const adminStore = await strapi.store({ type: 'core', name: 'admin' });\n\n const {\n providers: { defaultRole },\n } = (await adminStore.get({ key: 'auth' })) as any;\n\n for (const roleId of ids) {\n if (defaultRole && toString(defaultRole) === toString(roleId)) {\n throw new ApplicationError(\n 'This role is used as the default SSO role. Make sure to change this configuration before deleting the role'\n );\n }\n }\n};\n\nexport default {\n ssoCheckRolesIdForDeletion,\n};\n"],"names":["ApplicationError","errors","ssoCheckRolesIdForDeletion","ids","adminStore","strapi","store","type","name","providers","defaultRole","get","key","roleId","toString"],"mappings":";;;;;AAGA,MAAM,EAAEA,gBAAgB,EAAE,GAAGC,YAAAA;AAE7B,MAAMC,6BAA6B,OAAOC,GAAAA,GAAAA;AACxC,IAAA,MAAMC,UAAAA,GAAa,MAAMC,MAAAA,CAAOC,KAAK,CAAC;QAAEC,IAAAA,EAAM,MAAA;QAAQC,IAAAA,EAAM;AAAQ,KAAA,CAAA;IAEpE,MAAM,EACJC,SAAAA,EAAW,EAAEC,WAAW,EAAE,EAC3B,GAAI,MAAMN,UAAAA,CAAWO,GAAG,CAAC;QAAEC,GAAAA,EAAK;AAAO,KAAA,CAAA;IAExC,KAAK,MAAMC,UAAUV,GAAAA,CAAK;AACxB,QAAA,IAAIO,WAAAA,IAAeI,UAAAA,CAASJ,WAAAA,CAAAA,KAAiBI,UAAAA,CAASD,MAAAA,CAAAA,EAAS;AAC7D,YAAA,MAAM,IAAIb,gBAAAA,CACR,4GAAA,CAAA;AAEJ,QAAA;AACF,IAAA;AACF,CAAA;AAEA,WAAe;AACbE,IAAAA;AACF,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role.mjs","sources":["../../../../../../ee/server/src/services/role.ts"],"sourcesContent":["import { toString } from 'lodash
|
|
1
|
+
{"version":3,"file":"role.mjs","sources":["../../../../../../ee/server/src/services/role.ts"],"sourcesContent":["import { toString } from 'lodash';\nimport { errors } from '@strapi/utils';\n\nconst { ApplicationError } = errors;\n\nconst ssoCheckRolesIdForDeletion = async (ids: any) => {\n const adminStore = await strapi.store({ type: 'core', name: 'admin' });\n\n const {\n providers: { defaultRole },\n } = (await adminStore.get({ key: 'auth' })) as any;\n\n for (const roleId of ids) {\n if (defaultRole && toString(defaultRole) === toString(roleId)) {\n throw new ApplicationError(\n 'This role is used as the default SSO role. Make sure to change this configuration before deleting the role'\n );\n }\n }\n};\n\nexport default {\n ssoCheckRolesIdForDeletion,\n};\n"],"names":["ApplicationError","errors","ssoCheckRolesIdForDeletion","ids","adminStore","strapi","store","type","name","providers","defaultRole","get","key","roleId","toString"],"mappings":";;;AAGA,MAAM,EAAEA,gBAAgB,EAAE,GAAGC,MAAAA;AAE7B,MAAMC,6BAA6B,OAAOC,GAAAA,GAAAA;AACxC,IAAA,MAAMC,UAAAA,GAAa,MAAMC,MAAAA,CAAOC,KAAK,CAAC;QAAEC,IAAAA,EAAM,MAAA;QAAQC,IAAAA,EAAM;AAAQ,KAAA,CAAA;IAEpE,MAAM,EACJC,SAAAA,EAAW,EAAEC,WAAW,EAAE,EAC3B,GAAI,MAAMN,UAAAA,CAAWO,GAAG,CAAC;QAAEC,GAAAA,EAAK;AAAO,KAAA,CAAA;IAExC,KAAK,MAAMC,UAAUV,GAAAA,CAAK;AACxB,QAAA,IAAIO,WAAAA,IAAeI,QAAAA,CAASJ,WAAAA,CAAAA,KAAiBI,QAAAA,CAASD,MAAAA,CAAAA,EAAS;AAC7D,YAAA,MAAM,IAAIb,gBAAAA,CACR,4GAAA,CAAA;AAEJ,QAAA;AACF,IAAA;AACF,CAAA;AAEA,WAAe;AACbE,IAAAA;AACF,CAAA;;;;"}
|