@strapi/admin 5.50.2 → 5.51.1

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 (169) hide show
  1. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js +14 -6
  2. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
  3. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs +14 -6
  4. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
  5. package/dist/admin/admin/src/utils/cookies.js +77 -2
  6. package/dist/admin/admin/src/utils/cookies.js.map +1 -1
  7. package/dist/admin/admin/src/utils/cookies.mjs +76 -3
  8. package/dist/admin/admin/src/utils/cookies.mjs.map +1 -1
  9. package/dist/admin/admin/tests/server.js +23 -1
  10. package/dist/admin/admin/tests/server.js.map +1 -1
  11. package/dist/admin/admin/tests/server.mjs +23 -1
  12. package/dist/admin/admin/tests/server.mjs.map +1 -1
  13. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js +38 -7
  14. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js.map +1 -1
  15. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs +18 -7
  16. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs.map +1 -1
  17. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.js +4 -1
  18. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.js.map +1 -1
  19. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.mjs +4 -1
  20. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.mjs.map +1 -1
  21. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.js +17 -6
  22. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.js.map +1 -1
  23. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.mjs +18 -7
  24. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.mjs.map +1 -1
  25. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.js +23 -26
  26. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.js.map +1 -1
  27. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.mjs +23 -26
  28. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.mjs.map +1 -1
  29. package/dist/admin/ee/admin/src/services/auditLogs.js +10 -1
  30. package/dist/admin/ee/admin/src/services/auditLogs.js.map +1 -1
  31. package/dist/admin/ee/admin/src/services/auditLogs.mjs +10 -2
  32. package/dist/admin/ee/admin/src/services/auditLogs.mjs.map +1 -1
  33. package/dist/admin/shared/utils/auth-cookie-domain.js +42 -0
  34. package/dist/admin/shared/utils/auth-cookie-domain.js.map +1 -0
  35. package/dist/admin/shared/utils/auth-cookie-domain.mjs +39 -0
  36. package/dist/admin/shared/utils/auth-cookie-domain.mjs.map +1 -0
  37. package/dist/admin/shared/utils/auth-cookie-name.js +2 -2
  38. package/dist/admin/shared/utils/auth-cookie-name.js.map +1 -1
  39. package/dist/admin/shared/utils/auth-cookie-name.mjs +2 -2
  40. package/dist/admin/shared/utils/auth-cookie-name.mjs.map +1 -1
  41. package/dist/admin/shared/utils/auth-cookie-path.js +40 -0
  42. package/dist/admin/shared/utils/auth-cookie-path.js.map +1 -0
  43. package/dist/admin/shared/utils/auth-cookie-path.mjs +37 -0
  44. package/dist/admin/shared/utils/auth-cookie-path.mjs.map +1 -0
  45. package/dist/admin/src/utils/cookies.d.ts +21 -0
  46. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.d.ts +6 -1
  47. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.d.ts +5 -3
  48. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.d.ts +8 -4
  49. package/dist/ee/admin/src/services/auditLogs.d.ts +5 -2
  50. package/dist/ee/server/src/audit-logs/controllers/audit-logs.d.ts +1 -0
  51. package/dist/ee/server/src/audit-logs/controllers/audit-logs.d.ts.map +1 -1
  52. package/dist/ee/server/src/audit-logs/routes/audit-logs.d.ts.map +1 -1
  53. package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts +16 -0
  54. package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts.map +1 -1
  55. package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts +2 -0
  56. package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts.map +1 -1
  57. package/dist/ee/server/src/controllers/admin.d.ts.map +1 -1
  58. package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts.map +1 -1
  59. package/dist/ee/server/src/index.d.ts +1 -0
  60. package/dist/ee/server/src/index.d.ts.map +1 -1
  61. package/dist/ee/server/src/services/auth.d.ts.map +1 -1
  62. package/dist/ee/server/src/services/user.d.ts.map +1 -1
  63. package/dist/server/ee/server/src/audit-logs/controllers/audit-logs.js +10 -0
  64. package/dist/server/ee/server/src/audit-logs/controllers/audit-logs.js.map +1 -1
  65. package/dist/server/ee/server/src/audit-logs/controllers/audit-logs.mjs +11 -1
  66. package/dist/server/ee/server/src/audit-logs/controllers/audit-logs.mjs.map +1 -1
  67. package/dist/server/ee/server/src/audit-logs/routes/audit-logs.js +24 -32
  68. package/dist/server/ee/server/src/audit-logs/routes/audit-logs.js.map +1 -1
  69. package/dist/server/ee/server/src/audit-logs/routes/audit-logs.mjs +24 -32
  70. package/dist/server/ee/server/src/audit-logs/routes/audit-logs.mjs.map +1 -1
  71. package/dist/server/ee/server/src/audit-logs/services/audit-logs.js +33 -1
  72. package/dist/server/ee/server/src/audit-logs/services/audit-logs.js.map +1 -1
  73. package/dist/server/ee/server/src/audit-logs/services/audit-logs.mjs +33 -1
  74. package/dist/server/ee/server/src/audit-logs/services/audit-logs.mjs.map +1 -1
  75. package/dist/server/ee/server/src/audit-logs/validation/audit-logs.js +8 -0
  76. package/dist/server/ee/server/src/audit-logs/validation/audit-logs.js.map +1 -1
  77. package/dist/server/ee/server/src/audit-logs/validation/audit-logs.mjs +8 -1
  78. package/dist/server/ee/server/src/audit-logs/validation/audit-logs.mjs.map +1 -1
  79. package/dist/server/ee/server/src/controllers/admin.js.map +1 -1
  80. package/dist/server/ee/server/src/controllers/admin.mjs.map +1 -1
  81. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js +9 -3
  82. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js.map +1 -1
  83. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs +10 -4
  84. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs.map +1 -1
  85. package/dist/server/ee/server/src/services/auth.js +5 -5
  86. package/dist/server/ee/server/src/services/auth.js.map +1 -1
  87. package/dist/server/ee/server/src/services/auth.mjs +5 -5
  88. package/dist/server/ee/server/src/services/auth.mjs.map +1 -1
  89. package/dist/server/ee/server/src/services/user.js +1 -0
  90. package/dist/server/ee/server/src/services/user.js.map +1 -1
  91. package/dist/server/ee/server/src/services/user.mjs +1 -0
  92. package/dist/server/ee/server/src/services/user.mjs.map +1 -1
  93. package/dist/server/server/src/content-types/User.js +6 -0
  94. package/dist/server/server/src/content-types/User.js.map +1 -1
  95. package/dist/server/server/src/content-types/User.mjs +6 -0
  96. package/dist/server/server/src/content-types/User.mjs.map +1 -1
  97. package/dist/server/server/src/controllers/authentication.js +12 -10
  98. package/dist/server/server/src/controllers/authentication.js.map +1 -1
  99. package/dist/server/server/src/controllers/authentication.mjs +10 -8
  100. package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
  101. package/dist/server/server/src/routes/serve-admin-panel.js +17 -4
  102. package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
  103. package/dist/server/server/src/routes/serve-admin-panel.mjs +17 -4
  104. package/dist/server/server/src/routes/serve-admin-panel.mjs.map +1 -1
  105. package/dist/server/server/src/services/auth.js +51 -6
  106. package/dist/server/server/src/services/auth.js.map +1 -1
  107. package/dist/server/server/src/services/auth.mjs +46 -6
  108. package/dist/server/server/src/services/auth.mjs.map +1 -1
  109. package/dist/server/server/src/services/index.js +1 -1
  110. package/dist/server/server/src/services/index.js.map +1 -1
  111. package/dist/server/server/src/services/user.js +1 -0
  112. package/dist/server/server/src/services/user.js.map +1 -1
  113. package/dist/server/server/src/services/user.mjs +1 -0
  114. package/dist/server/server/src/services/user.mjs.map +1 -1
  115. package/dist/server/shared/utils/auth-cookie-domain.js +42 -0
  116. package/dist/server/shared/utils/auth-cookie-domain.js.map +1 -0
  117. package/dist/server/shared/utils/auth-cookie-domain.mjs +39 -0
  118. package/dist/server/shared/utils/auth-cookie-domain.mjs.map +1 -0
  119. package/dist/server/shared/utils/auth-cookie-name.js +2 -2
  120. package/dist/server/shared/utils/auth-cookie-name.js.map +1 -1
  121. package/dist/server/shared/utils/auth-cookie-name.mjs +2 -2
  122. package/dist/server/shared/utils/auth-cookie-name.mjs.map +1 -1
  123. package/dist/server/shared/utils/auth-cookie-path.js +40 -0
  124. package/dist/server/shared/utils/auth-cookie-path.js.map +1 -0
  125. package/dist/server/shared/utils/auth-cookie-path.mjs +37 -0
  126. package/dist/server/shared/utils/auth-cookie-path.mjs.map +1 -0
  127. package/dist/server/shared/utils/session-auth.js +54 -3
  128. package/dist/server/shared/utils/session-auth.js.map +1 -1
  129. package/dist/server/shared/utils/session-auth.mjs +51 -4
  130. package/dist/server/shared/utils/session-auth.mjs.map +1 -1
  131. package/dist/server/src/content-types/User.d.ts +6 -0
  132. package/dist/server/src/content-types/User.d.ts.map +1 -1
  133. package/dist/server/src/content-types/index.d.ts +6 -0
  134. package/dist/server/src/content-types/index.d.ts.map +1 -1
  135. package/dist/server/src/controllers/authentication.d.ts.map +1 -1
  136. package/dist/server/src/domain/user.d.ts +1 -0
  137. package/dist/server/src/domain/user.d.ts.map +1 -1
  138. package/dist/server/src/index.d.ts +6 -0
  139. package/dist/server/src/index.d.ts.map +1 -1
  140. package/dist/server/src/routes/serve-admin-panel.d.ts.map +1 -1
  141. package/dist/server/src/services/auth.d.ts +18 -0
  142. package/dist/server/src/services/auth.d.ts.map +1 -1
  143. package/dist/server/src/services/index.d.ts.map +1 -1
  144. package/dist/server/src/services/user.d.ts.map +1 -1
  145. package/dist/shared/contracts/api-token.d.ts +2 -2
  146. package/dist/shared/contracts/api-token.d.ts.map +1 -1
  147. package/dist/shared/contracts/audit-logs.d.ts +19 -1
  148. package/dist/shared/contracts/audit-logs.d.ts.map +1 -1
  149. package/dist/shared/contracts/authentication.d.ts +1 -1
  150. package/dist/shared/contracts/authentication.d.ts.map +1 -1
  151. package/dist/shared/contracts/homepage.d.ts +2 -2
  152. package/dist/shared/contracts/homepage.d.ts.map +1 -1
  153. package/dist/shared/contracts/shared.d.ts +2 -1
  154. package/dist/shared/contracts/shared.d.ts.map +1 -1
  155. package/dist/shared/contracts/user.d.ts +1 -1
  156. package/dist/shared/contracts/user.d.ts.map +1 -1
  157. package/dist/shared/utils/__tests__/auth-cookie-domain.test.d.ts +1 -0
  158. package/dist/shared/utils/__tests__/auth-cookie-domain.test.d.ts.map +1 -0
  159. package/dist/shared/utils/__tests__/auth-cookie-path.test.d.ts +1 -0
  160. package/dist/shared/utils/__tests__/auth-cookie-path.test.d.ts.map +1 -0
  161. package/dist/shared/utils/auth-cookie-domain.d.ts +21 -0
  162. package/dist/shared/utils/auth-cookie-domain.d.ts.map +1 -0
  163. package/dist/shared/utils/auth-cookie-name.d.ts +1 -1
  164. package/dist/shared/utils/auth-cookie-name.d.ts.map +1 -1
  165. package/dist/shared/utils/auth-cookie-path.d.ts +17 -0
  166. package/dist/shared/utils/auth-cookie-path.d.ts.map +1 -0
  167. package/dist/shared/utils/session-auth.d.ts +15 -0
  168. package/dist/shared/utils/session-auth.d.ts.map +1 -1
  169. package/package.json +10 -10
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Path attribute of the admin auth (access) token cookie, configurable
5
+ * through `admin.auth.cookie.path` so multiple Strapi instances on the same
6
+ * parent domain can keep separate cookies (e.g. `/strapi-de/admin`).
7
+ *
8
+ * Browser-safe single source for both sides of the handoff: the admin panel
9
+ * cannot read server config, so the build transports the config value into
10
+ * the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_PATH` variable
11
+ * (see create-build-context.ts in @strapi/strapi); the server resolves the
12
+ * same config at runtime. Changing the path requires an admin rebuild, like
13
+ * any other admin config change.
14
+ *
15
+ * Defaults to `/admin` to match the refresh-cookie path used by
16
+ * `getRefreshCookieOptions`.
17
+ */ const DEFAULT_AUTH_COOKIE_PATH = '/admin';
18
+ const isValidCookiePath = (path)=>{
19
+ if (!path.startsWith('/')) {
20
+ return false;
21
+ }
22
+ // RFC 6265 path-av: any CHAR except CTLs or ";".
23
+ // eslint-disable-next-line no-control-regex -- CTL chars are exactly what RFC 6265 forbids
24
+ return !/[\x00-\x1F\x7F;]/.test(path);
25
+ };
26
+ const resolveAuthCookiePath = (configuredPath, warn = console.warn)=>{
27
+ const cookiePath = (configuredPath || '').trim();
28
+ if (!cookiePath) {
29
+ return DEFAULT_AUTH_COOKIE_PATH;
30
+ }
31
+ if (!isValidCookiePath(cookiePath)) {
32
+ warn(`Ignoring invalid admin auth cookie path "${cookiePath}" (must be an absolute path without ";"); using "${DEFAULT_AUTH_COOKIE_PATH}" instead.`);
33
+ return DEFAULT_AUTH_COOKIE_PATH;
34
+ }
35
+ return cookiePath;
36
+ };
37
+
38
+ exports.DEFAULT_AUTH_COOKIE_PATH = DEFAULT_AUTH_COOKIE_PATH;
39
+ exports.resolveAuthCookiePath = resolveAuthCookiePath;
40
+ //# sourceMappingURL=auth-cookie-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-cookie-path.js","sources":["../../../../shared/utils/auth-cookie-path.ts"],"sourcesContent":["/**\n * Path attribute of the admin auth (access) token cookie, configurable\n * through `admin.auth.cookie.path` so multiple Strapi instances on the same\n * parent domain can keep separate cookies (e.g. `/strapi-de/admin`).\n *\n * Browser-safe single source for both sides of the handoff: the admin panel\n * cannot read server config, so the build transports the config value into\n * the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_PATH` variable\n * (see create-build-context.ts in @strapi/strapi); the server resolves the\n * same config at runtime. Changing the path requires an admin rebuild, like\n * any other admin config change.\n *\n * Defaults to `/admin` to match the refresh-cookie path used by\n * `getRefreshCookieOptions`.\n */\nexport const DEFAULT_AUTH_COOKIE_PATH = '/admin';\n\nconst isValidCookiePath = (path: string): boolean => {\n if (!path.startsWith('/')) {\n return false;\n }\n\n // RFC 6265 path-av: any CHAR except CTLs or \";\".\n // eslint-disable-next-line no-control-regex -- CTL chars are exactly what RFC 6265 forbids\n return !/[\\x00-\\x1F\\x7F;]/.test(path);\n};\n\nexport const resolveAuthCookiePath = (\n configuredPath?: string,\n warn: (message: string) => void = console.warn\n): string => {\n const cookiePath = (configuredPath || '').trim();\n\n if (!cookiePath) {\n return DEFAULT_AUTH_COOKIE_PATH;\n }\n\n if (!isValidCookiePath(cookiePath)) {\n warn(\n `Ignoring invalid admin auth cookie path \"${cookiePath}\" (must be an absolute path without \";\"); using \"${DEFAULT_AUTH_COOKIE_PATH}\" instead.`\n );\n return DEFAULT_AUTH_COOKIE_PATH;\n }\n\n return cookiePath;\n};\n"],"names":["DEFAULT_AUTH_COOKIE_PATH","isValidCookiePath","path","startsWith","test","resolveAuthCookiePath","configuredPath","warn","console","cookiePath","trim"],"mappings":";;AAAA;;;;;;;;;;;;;;IAeO,MAAMA,wBAAAA,GAA2B;AAExC,MAAMC,oBAAoB,CAACC,IAAAA,GAAAA;AACzB,IAAA,IAAI,CAACA,IAAAA,CAAKC,UAAU,CAAC,GAAA,CAAA,EAAM;QACzB,OAAO,KAAA;AACT,IAAA;;;IAIA,OAAO,CAAC,kBAAA,CAAmBC,IAAI,CAACF,IAAAA,CAAAA;AAClC,CAAA;MAEaG,qBAAAA,GAAwB,CACnCC,cAAAA,EACAC,IAAAA,GAAkCC,QAAQD,IAAI,GAAA;AAE9C,IAAA,MAAME,aAAa,CAACH,cAAAA,IAAkB,EAAC,EAAGI,IAAI,EAAA;AAE9C,IAAA,IAAI,CAACD,UAAAA,EAAY;QACf,OAAOT,wBAAAA;AACT,IAAA;IAEA,IAAI,CAACC,kBAAkBQ,UAAAA,CAAAA,EAAa;QAClCF,IAAAA,CACE,CAAC,yCAAyC,EAAEE,UAAAA,CAAW,iDAAiD,EAAET,wBAAAA,CAAyB,UAAU,CAAC,CAAA;QAEhJ,OAAOA,wBAAAA;AACT,IAAA;IAEA,OAAOS,UAAAA;AACT;;;;;"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Path attribute of the admin auth (access) token cookie, configurable
3
+ * through `admin.auth.cookie.path` so multiple Strapi instances on the same
4
+ * parent domain can keep separate cookies (e.g. `/strapi-de/admin`).
5
+ *
6
+ * Browser-safe single source for both sides of the handoff: the admin panel
7
+ * cannot read server config, so the build transports the config value into
8
+ * the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_PATH` variable
9
+ * (see create-build-context.ts in @strapi/strapi); the server resolves the
10
+ * same config at runtime. Changing the path requires an admin rebuild, like
11
+ * any other admin config change.
12
+ *
13
+ * Defaults to `/admin` to match the refresh-cookie path used by
14
+ * `getRefreshCookieOptions`.
15
+ */ const DEFAULT_AUTH_COOKIE_PATH = '/admin';
16
+ const isValidCookiePath = (path)=>{
17
+ if (!path.startsWith('/')) {
18
+ return false;
19
+ }
20
+ // RFC 6265 path-av: any CHAR except CTLs or ";".
21
+ // eslint-disable-next-line no-control-regex -- CTL chars are exactly what RFC 6265 forbids
22
+ return !/[\x00-\x1F\x7F;]/.test(path);
23
+ };
24
+ const resolveAuthCookiePath = (configuredPath, warn = console.warn)=>{
25
+ const cookiePath = (configuredPath || '').trim();
26
+ if (!cookiePath) {
27
+ return DEFAULT_AUTH_COOKIE_PATH;
28
+ }
29
+ if (!isValidCookiePath(cookiePath)) {
30
+ warn(`Ignoring invalid admin auth cookie path "${cookiePath}" (must be an absolute path without ";"); using "${DEFAULT_AUTH_COOKIE_PATH}" instead.`);
31
+ return DEFAULT_AUTH_COOKIE_PATH;
32
+ }
33
+ return cookiePath;
34
+ };
35
+
36
+ export { DEFAULT_AUTH_COOKIE_PATH, resolveAuthCookiePath };
37
+ //# sourceMappingURL=auth-cookie-path.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-cookie-path.mjs","sources":["../../../../shared/utils/auth-cookie-path.ts"],"sourcesContent":["/**\n * Path attribute of the admin auth (access) token cookie, configurable\n * through `admin.auth.cookie.path` so multiple Strapi instances on the same\n * parent domain can keep separate cookies (e.g. `/strapi-de/admin`).\n *\n * Browser-safe single source for both sides of the handoff: the admin panel\n * cannot read server config, so the build transports the config value into\n * the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_PATH` variable\n * (see create-build-context.ts in @strapi/strapi); the server resolves the\n * same config at runtime. Changing the path requires an admin rebuild, like\n * any other admin config change.\n *\n * Defaults to `/admin` to match the refresh-cookie path used by\n * `getRefreshCookieOptions`.\n */\nexport const DEFAULT_AUTH_COOKIE_PATH = '/admin';\n\nconst isValidCookiePath = (path: string): boolean => {\n if (!path.startsWith('/')) {\n return false;\n }\n\n // RFC 6265 path-av: any CHAR except CTLs or \";\".\n // eslint-disable-next-line no-control-regex -- CTL chars are exactly what RFC 6265 forbids\n return !/[\\x00-\\x1F\\x7F;]/.test(path);\n};\n\nexport const resolveAuthCookiePath = (\n configuredPath?: string,\n warn: (message: string) => void = console.warn\n): string => {\n const cookiePath = (configuredPath || '').trim();\n\n if (!cookiePath) {\n return DEFAULT_AUTH_COOKIE_PATH;\n }\n\n if (!isValidCookiePath(cookiePath)) {\n warn(\n `Ignoring invalid admin auth cookie path \"${cookiePath}\" (must be an absolute path without \";\"); using \"${DEFAULT_AUTH_COOKIE_PATH}\" instead.`\n );\n return DEFAULT_AUTH_COOKIE_PATH;\n }\n\n return cookiePath;\n};\n"],"names":["DEFAULT_AUTH_COOKIE_PATH","isValidCookiePath","path","startsWith","test","resolveAuthCookiePath","configuredPath","warn","console","cookiePath","trim"],"mappings":"AAAA;;;;;;;;;;;;;;IAeO,MAAMA,wBAAAA,GAA2B;AAExC,MAAMC,oBAAoB,CAACC,IAAAA,GAAAA;AACzB,IAAA,IAAI,CAACA,IAAAA,CAAKC,UAAU,CAAC,GAAA,CAAA,EAAM;QACzB,OAAO,KAAA;AACT,IAAA;;;IAIA,OAAO,CAAC,kBAAA,CAAmBC,IAAI,CAACF,IAAAA,CAAAA;AAClC,CAAA;MAEaG,qBAAAA,GAAwB,CACnCC,cAAAA,EACAC,IAAAA,GAAkCC,QAAQD,IAAI,GAAA;AAE9C,IAAA,MAAME,aAAa,CAACH,cAAAA,IAAkB,EAAC,EAAGI,IAAI,EAAA;AAE9C,IAAA,IAAI,CAACD,UAAAA,EAAY;QACf,OAAOT,wBAAAA;AACT,IAAA;IAEA,IAAI,CAACC,kBAAkBQ,UAAAA,CAAAA,EAAa;QAClCF,IAAAA,CACE,CAAC,yCAAyC,EAAEE,UAAAA,CAAW,iDAAiD,EAAET,wBAAAA,CAAyB,UAAU,CAAC,CAAA;QAEhJ,OAAOA,wBAAAA;AACT,IAAA;IAEA,OAAOS,UAAAA;AACT;;;;"}
@@ -3,6 +3,17 @@
3
3
  * into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_NAME`.
4
4
  */
5
5
  export declare const AUTH_COOKIE_NAME: string;
6
+ /**
7
+ * Resolved once at module load: the build inlines `admin.auth.cookie.path`
8
+ * into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_PATH`.
9
+ */
10
+ export declare const AUTH_COOKIE_PATH: string;
11
+ /**
12
+ * Resolved once at module load: the build inlines `admin.auth.cookie.domain`
13
+ * into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_DOMAIN`. `undefined` means the
14
+ * cookie is host-only.
15
+ */
16
+ export declare const AUTH_COOKIE_DOMAIN: string | undefined;
6
17
  /**
7
18
  * Retrieves the value of a specified cookie.
8
19
  *
@@ -12,6 +23,10 @@ export declare const AUTH_COOKIE_NAME: string;
12
23
  export declare const getCookieValue: (name: string) => string | null;
13
24
  /**
14
25
  * Sets a cookie with the given name, value, and optional expiration time.
26
+ * Uses `admin.auth.cookie.path` and `admin.auth.cookie.domain` (both inlined
27
+ * at build time) so the access cookie stays scoped to the same path and domain
28
+ * as the httpOnly refresh cookie and the EE SSO access cookie. The cookie is
29
+ * marked `Secure` whenever the page is served over TLS.
15
30
  *
16
31
  * @param name - The name of the cookie.
17
32
  * @param value - The value of the cookie.
@@ -21,6 +36,12 @@ export declare const setCookie: (name: string, value: string, days?: number) =>
21
36
  /**
22
37
  * Deletes a cookie by setting its expiration date to a past date.
23
38
  *
39
+ * Expires every combination of {configured path, legacy Path=/} and
40
+ * {configured domain, host-only}. A `Domain`-scoped cookie is a distinct entry
41
+ * from a host-only one in the browser cookie store, so both must be cleared or
42
+ * remote logout leaves the EE SSO cookie (written with `Domain` by the server)
43
+ * behind, rehydrating a dead session into an infinite login redirect.
44
+ *
24
45
  * @param name - The name of the cookie to delete.
25
46
  */
26
47
  export declare const deleteCookie: (name: string) => void;
@@ -1,2 +1,7 @@
1
1
  import { Filters } from '../../../../../../../../admin/src/components/Filters';
2
- export declare const ComboboxFilter: (props: Filters.ValueInputProps) => import("react/jsx-runtime").JSX.Element;
2
+ export interface ComboboxFilterProps extends Filters.ValueInputProps {
3
+ loading?: boolean;
4
+ hasMoreItems?: boolean;
5
+ onLoadMore?: () => void;
6
+ }
7
+ export declare const ComboboxFilter: ({ loading, hasMoreItems, onLoadMore, ...props }: ComboboxFilterProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,11 @@
1
- export declare const useAuditLogsData: ({ canReadAuditLogs, canReadUsers, }: {
1
+ export declare const useAuditLogsData: ({ canReadAuditLogs, usersPageSize, }: {
2
2
  canReadAuditLogs: boolean;
3
- canReadUsers: boolean;
3
+ usersPageSize: number;
4
4
  }) => {
5
5
  auditLogs: import("../../../../../../../../shared/contracts/audit-logs").GetAll.Response | undefined;
6
- users: import("../../../../../../../../admin/src").SanitizedAdminUser[];
6
+ users: Pick<import("../../../../../../../../shared/contracts/audit-logs").SanitizedAdminUserForAuditLogs, "displayName" | "id" | "email">[];
7
+ usersPagination: import("../../../../../../../../shared/contracts/shared").Pagination | undefined;
8
+ isLoadingUsers: boolean;
7
9
  isLoading: boolean;
8
10
  hasError: boolean;
9
11
  };
@@ -1,8 +1,12 @@
1
1
  import { IntlShape } from 'react-intl';
2
2
  import { Filters } from '../../../../../../../../admin/src/components/Filters';
3
- import { SanitizedAdminUser } from '../../../../../../../../shared/contracts/shared';
4
- export declare const getDisplayedFilters: ({ formatMessage, users, canReadUsers, }: {
3
+ import { GetUsers } from '../../../../../../../../shared/contracts/audit-logs';
4
+ import { ComboboxFilterProps } from '../components/ComboboxFilter';
5
+ type UsersFilterProps = Pick<ComboboxFilterProps, 'loading' | 'hasMoreItems' | 'onLoadMore'>;
6
+ type AuditLogUser = NonNullable<GetUsers.Response['results']>[number];
7
+ export declare const getDisplayedFilters: ({ formatMessage, users, usersFilter, }: {
5
8
  formatMessage: IntlShape["formatMessage"];
6
- users: SanitizedAdminUser[];
7
- canReadUsers: boolean;
9
+ users: AuditLogUser[];
10
+ usersFilter?: UsersFilterProps;
8
11
  }) => Filters.Filter[];
12
+ export {};
@@ -1,3 +1,6 @@
1
1
  import * as AuditLogs from '../../../../shared/contracts/audit-logs';
2
- declare const useGetAuditLogsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<{}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../admin/src").QueryArguments, unknown, import("../../../../admin/src").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig", AuditLogs.GetAll.Response, "adminApi">>, useGetAuditLogQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<import("@strapi/types/dist/data/constants.js").ID, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../admin/src").QueryArguments, unknown, import("../../../../admin/src").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig", AuditLogs.Get.Response, "adminApi">>;
3
- export { useGetAuditLogsQuery, useGetAuditLogQuery };
2
+ declare const useGetAuditLogsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<{}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../admin/src").QueryArguments, unknown, import("../../../../admin/src").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig", AuditLogs.GetAll.Response, "adminApi">>, useGetAuditLogQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<import("@strapi/types/dist/data/constants.js").ID, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../admin/src").QueryArguments, unknown, import("../../../../admin/src").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig", AuditLogs.Get.Response, "adminApi">>, useGetAuditLogUsersQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<{
3
+ page?: number;
4
+ pageSize?: number;
5
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../admin/src").QueryArguments, unknown, import("../../../../admin/src").BaseQueryError | import("@reduxjs/toolkit").SerializedError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig", AuditLogs.GetUsers.Response, "adminApi">>;
6
+ export { useGetAuditLogsQuery, useGetAuditLogQuery, useGetAuditLogUsersQuery };
@@ -1,6 +1,7 @@
1
1
  import type { Context } from 'koa';
2
2
  declare const _default: {
3
3
  findMany(ctx: Context): Promise<void>;
4
+ findManyUsers(ctx: Context): Promise<void>;
4
5
  findOne(ctx: Context): Promise<void>;
5
6
  };
6
7
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logs.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/controllers/audit-logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;;kBAKb,OAAO;iBAUR,OAAO;;AAX5B,wBAqBE"}
1
+ {"version":3,"file":"audit-logs.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/controllers/audit-logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;;kBAKb,OAAO;uBAUF,OAAO;iBAUb,OAAO;;AArB5B,wBA+BE"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logs.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/routes/audit-logs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,wBAsCE"}
1
+ {"version":3,"file":"audit-logs.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/routes/audit-logs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAeA,wBAsBE"}
@@ -20,6 +20,22 @@ declare const createAuditLogsService: (strapi: Core.Strapi) => {
20
20
  total: number;
21
21
  };
22
22
  }>;
23
+ findManyUsers(query: {
24
+ page?: number | string;
25
+ pageSize?: number | string;
26
+ }): Promise<{
27
+ results: {
28
+ id: any;
29
+ email: any;
30
+ displayName: any;
31
+ }[];
32
+ pagination: {
33
+ page: number;
34
+ pageSize: number;
35
+ pageCount: number;
36
+ total: number;
37
+ };
38
+ }>;
23
39
  findOne(id: unknown): Promise<any>;
24
40
  deleteExpiredEvents(expirationDate: Date): Promise<import("@strapi/database/dist/types").CountResult>;
25
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logs.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/services/audit-logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,UAAU,KAAK;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAsBD;;;GAGG;AACH,QAAA,MAAM,sBAAsB,GAAI,QAAQ,IAAI,CAAC,MAAM;qBAExB,KAAK;oBAWN,OAAO;;;;;;;;;gBAqBX,OAAO;wCAkBW,IAAI;CAU3C,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"audit-logs.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/services/audit-logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,UAAU,KAAK;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAsBD;;;GAGG;AACH,QAAA,MAAM,sBAAsB,GAAI,QAAQ,IAAI,CAAC,MAAM;qBAExB,KAAK;oBAWN,OAAO;;;;;;;;;yBAqBF;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;;;;;;;;;;;;;gBAmC/D,OAAO;wCAkBW,IAAI;CAU3C,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export declare const validateFindMany: (body: unknown, errorMessage?: string) => Promise<any>;
2
+ export declare const validateFindManyUsers: (body: unknown, errorMessage?: string) => Promise<any>;
2
3
  declare const _default: {
3
4
  validateFindMany: (body: unknown, errorMessage?: string) => Promise<any>;
5
+ validateFindManyUsers: (body: unknown, errorMessage?: string) => Promise<any>;
4
6
  };
5
7
  export default _default;
6
8
  //# sourceMappingURL=audit-logs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logs.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/validation/audit-logs.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gBAAgB,wDAA+D,CAAC;;;;AAE7F,wBAEE"}
1
+ {"version":3,"file":"audit-logs.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/validation/audit-logs.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,gBAAgB,wDAA+D,CAAC;AAC7F,eAAO,MAAM,qBAAqB,wDAEhC,CAAC;;;;;AAEH,wBAGE"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../../ee/server/src/controllers/admin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,wBAoEE"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../../ee/server/src/controllers/admin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBAoEE"}
@@ -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;AAc1C,eAAO,MAAM,YAAY,EAAE,IAAI,CAAC,iBA0B/B,CAAC;AA4DF,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,iBA0DnC,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;AAiB1C,eAAO,MAAM,YAAY,EAAE,IAAI,CAAC,iBA0B/B,CAAC;AA4DF,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,iBAiEnC,CAAC;;;;;AAEF,wBAGE"}
@@ -3,6 +3,7 @@ declare const getAdminEE: () => {
3
3
  controllers: {
4
4
  'audit-logs'?: {
5
5
  findMany(ctx: import("koa").Context): Promise<void>;
6
+ findManyUsers(ctx: import("koa").Context): Promise<void>;
6
7
  findOne(ctx: import("koa").Context): Promise<void>;
7
8
  } | undefined;
8
9
  authentication: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../ee/server/src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA4Be;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE;wBAcxB;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOpD,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../ee/server/src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA4Be;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE;wBAcxB;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOpD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../ee/server/src/services/auth.ts"],"names":[],"mappings":";iCAayC,GAAG;uDAyCmB,GAAG;;AAelE,wBAGE"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../ee/server/src/services/auth.ts"],"names":[],"mappings":";iCAiByC,GAAG;uDAwCmB,GAAG;;AAkBlE,wBAGE"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../ee/server/src/services/user.ts"],"names":[],"mappings":";oCAmB6C,MAAM,SAAS,GAAG;yCAwBb,OAAO;;uBA8HzB,GAAG;qBAzCL,OAAO;qBAzDP,GAAG,cAAc,GAAG;;AA4KlD,wBAOE"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../ee/server/src/services/user.ts"],"names":[],"mappings":";oCAmB6C,MAAM,SAAS,GAAG;yCAwBb,OAAO;;uBA8HzB,GAAG;qBAzCL,OAAO;qBAzDP,GAAG,cAAc,GAAG;;AAkLlD,wBAOE"}
@@ -10,6 +10,16 @@ var auditLogsController = {
10
10
  const body = await auditLogs$1.findMany(query);
11
11
  ctx.body = body;
12
12
  },
13
+ async findManyUsers (ctx) {
14
+ const { query } = ctx.request;
15
+ const { page, pageSize } = await auditLogs.validateFindManyUsers(query);
16
+ const auditLogs$1 = strapi.get('audit-logs');
17
+ const body = await auditLogs$1.findManyUsers({
18
+ page,
19
+ pageSize
20
+ });
21
+ ctx.body = body;
22
+ },
13
23
  async findOne (ctx) {
14
24
  const { id } = ctx.params;
15
25
  const auditLogs = strapi.get('audit-logs');
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logs.js","sources":["../../../../../../../ee/server/src/audit-logs/controllers/audit-logs.ts"],"sourcesContent":["import type { Context } from 'koa';\n\nimport { validateFindMany } from '../validation/audit-logs';\n\nexport default {\n async findMany(ctx: Context) {\n const { query } = ctx.request;\n await validateFindMany(query);\n\n const auditLogs = strapi.get('audit-logs');\n const body = await auditLogs.findMany(query);\n\n ctx.body = body;\n },\n\n async findOne(ctx: Context) {\n const { id } = ctx.params;\n\n const auditLogs = strapi.get('audit-logs');\n const body = await auditLogs.findOne(id);\n\n ctx.body = body;\n\n strapi.telemetry.send('didWatchAnAuditLog');\n },\n};\n"],"names":["findMany","ctx","query","request","validateFindMany","auditLogs","strapi","get","body","findOne","id","params","telemetry","send"],"mappings":";;;;AAIA,0BAAe;AACb,IAAA,MAAMA,UAASC,GAAY,EAAA;AACzB,QAAA,MAAM,EAAEC,KAAK,EAAE,GAAGD,IAAIE,OAAO;AAC7B,QAAA,MAAMC,0BAAAA,CAAiBF,KAAAA,CAAAA;QAEvB,MAAMG,WAAAA,GAAYC,MAAAA,CAAOC,GAAG,CAAC,YAAA,CAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAO,MAAMH,WAAAA,CAAUL,QAAQ,CAACE,KAAAA,CAAAA;AAEtCD,QAAAA,GAAAA,CAAIO,IAAI,GAAGA,IAAAA;AACb,IAAA,CAAA;AAEA,IAAA,MAAMC,SAAQR,GAAY,EAAA;AACxB,QAAA,MAAM,EAAES,EAAE,EAAE,GAAGT,IAAIU,MAAM;QAEzB,MAAMN,SAAAA,GAAYC,MAAAA,CAAOC,GAAG,CAAC,YAAA,CAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAO,MAAMH,SAAAA,CAAUI,OAAO,CAACC,EAAAA,CAAAA;AAErCT,QAAAA,GAAAA,CAAIO,IAAI,GAAGA,IAAAA;QAEXF,MAAAA,CAAOM,SAAS,CAACC,IAAI,CAAC,oBAAA,CAAA;AACxB,IAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"audit-logs.js","sources":["../../../../../../../ee/server/src/audit-logs/controllers/audit-logs.ts"],"sourcesContent":["import type { Context } from 'koa';\n\nimport { validateFindMany, validateFindManyUsers } from '../validation/audit-logs';\n\nexport default {\n async findMany(ctx: Context) {\n const { query } = ctx.request;\n await validateFindMany(query);\n\n const auditLogs = strapi.get('audit-logs');\n const body = await auditLogs.findMany(query);\n\n ctx.body = body;\n },\n\n async findManyUsers(ctx: Context) {\n const { query } = ctx.request;\n const { page, pageSize } = await validateFindManyUsers(query);\n\n const auditLogs = strapi.get('audit-logs');\n const body = await auditLogs.findManyUsers({ page, pageSize });\n\n ctx.body = body;\n },\n\n async findOne(ctx: Context) {\n const { id } = ctx.params;\n\n const auditLogs = strapi.get('audit-logs');\n const body = await auditLogs.findOne(id);\n\n ctx.body = body;\n\n strapi.telemetry.send('didWatchAnAuditLog');\n },\n};\n"],"names":["findMany","ctx","query","request","validateFindMany","auditLogs","strapi","get","body","findManyUsers","page","pageSize","validateFindManyUsers","findOne","id","params","telemetry","send"],"mappings":";;;;AAIA,0BAAe;AACb,IAAA,MAAMA,UAASC,GAAY,EAAA;AACzB,QAAA,MAAM,EAAEC,KAAK,EAAE,GAAGD,IAAIE,OAAO;AAC7B,QAAA,MAAMC,0BAAAA,CAAiBF,KAAAA,CAAAA;QAEvB,MAAMG,WAAAA,GAAYC,MAAAA,CAAOC,GAAG,CAAC,YAAA,CAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAO,MAAMH,WAAAA,CAAUL,QAAQ,CAACE,KAAAA,CAAAA;AAEtCD,QAAAA,GAAAA,CAAIO,IAAI,GAAGA,IAAAA;AACb,IAAA,CAAA;AAEA,IAAA,MAAMC,eAAcR,GAAY,EAAA;AAC9B,QAAA,MAAM,EAAEC,KAAK,EAAE,GAAGD,IAAIE,OAAO;AAC7B,QAAA,MAAM,EAAEO,IAAI,EAAEC,QAAQ,EAAE,GAAG,MAAMC,+BAAAA,CAAsBV,KAAAA,CAAAA;QAEvD,MAAMG,WAAAA,GAAYC,MAAAA,CAAOC,GAAG,CAAC,YAAA,CAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAO,MAAMH,WAAAA,CAAUI,aAAa,CAAC;AAAEC,YAAAA,IAAAA;AAAMC,YAAAA;AAAS,SAAA,CAAA;AAE5DV,QAAAA,GAAAA,CAAIO,IAAI,GAAGA,IAAAA;AACb,IAAA,CAAA;AAEA,IAAA,MAAMK,SAAQZ,GAAY,EAAA;AACxB,QAAA,MAAM,EAAEa,EAAE,EAAE,GAAGb,IAAIc,MAAM;QAEzB,MAAMV,SAAAA,GAAYC,MAAAA,CAAOC,GAAG,CAAC,YAAA,CAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAO,MAAMH,SAAAA,CAAUQ,OAAO,CAACC,EAAAA,CAAAA;AAErCb,QAAAA,GAAAA,CAAIO,IAAI,GAAGA,IAAAA;QAEXF,MAAAA,CAAOU,SAAS,CAACC,IAAI,CAAC,oBAAA,CAAA;AACxB,IAAA;AACF,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { validateFindMany } from '../validation/audit-logs.mjs';
1
+ import { validateFindManyUsers, validateFindMany } from '../validation/audit-logs.mjs';
2
2
 
3
3
  var auditLogsController = {
4
4
  async findMany (ctx) {
@@ -8,6 +8,16 @@ var auditLogsController = {
8
8
  const body = await auditLogs.findMany(query);
9
9
  ctx.body = body;
10
10
  },
11
+ async findManyUsers (ctx) {
12
+ const { query } = ctx.request;
13
+ const { page, pageSize } = await validateFindManyUsers(query);
14
+ const auditLogs = strapi.get('audit-logs');
15
+ const body = await auditLogs.findManyUsers({
16
+ page,
17
+ pageSize
18
+ });
19
+ ctx.body = body;
20
+ },
11
21
  async findOne (ctx) {
12
22
  const { id } = ctx.params;
13
23
  const auditLogs = strapi.get('audit-logs');
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logs.mjs","sources":["../../../../../../../ee/server/src/audit-logs/controllers/audit-logs.ts"],"sourcesContent":["import type { Context } from 'koa';\n\nimport { validateFindMany } from '../validation/audit-logs';\n\nexport default {\n async findMany(ctx: Context) {\n const { query } = ctx.request;\n await validateFindMany(query);\n\n const auditLogs = strapi.get('audit-logs');\n const body = await auditLogs.findMany(query);\n\n ctx.body = body;\n },\n\n async findOne(ctx: Context) {\n const { id } = ctx.params;\n\n const auditLogs = strapi.get('audit-logs');\n const body = await auditLogs.findOne(id);\n\n ctx.body = body;\n\n strapi.telemetry.send('didWatchAnAuditLog');\n },\n};\n"],"names":["findMany","ctx","query","request","validateFindMany","auditLogs","strapi","get","body","findOne","id","params","telemetry","send"],"mappings":";;AAIA,0BAAe;AACb,IAAA,MAAMA,UAASC,GAAY,EAAA;AACzB,QAAA,MAAM,EAAEC,KAAK,EAAE,GAAGD,IAAIE,OAAO;AAC7B,QAAA,MAAMC,gBAAAA,CAAiBF,KAAAA,CAAAA;QAEvB,MAAMG,SAAAA,GAAYC,MAAAA,CAAOC,GAAG,CAAC,YAAA,CAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAO,MAAMH,SAAAA,CAAUL,QAAQ,CAACE,KAAAA,CAAAA;AAEtCD,QAAAA,GAAAA,CAAIO,IAAI,GAAGA,IAAAA;AACb,IAAA,CAAA;AAEA,IAAA,MAAMC,SAAQR,GAAY,EAAA;AACxB,QAAA,MAAM,EAAES,EAAE,EAAE,GAAGT,IAAIU,MAAM;QAEzB,MAAMN,SAAAA,GAAYC,MAAAA,CAAOC,GAAG,CAAC,YAAA,CAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAO,MAAMH,SAAAA,CAAUI,OAAO,CAACC,EAAAA,CAAAA;AAErCT,QAAAA,GAAAA,CAAIO,IAAI,GAAGA,IAAAA;QAEXF,MAAAA,CAAOM,SAAS,CAACC,IAAI,CAAC,oBAAA,CAAA;AACxB,IAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"audit-logs.mjs","sources":["../../../../../../../ee/server/src/audit-logs/controllers/audit-logs.ts"],"sourcesContent":["import type { Context } from 'koa';\n\nimport { validateFindMany, validateFindManyUsers } from '../validation/audit-logs';\n\nexport default {\n async findMany(ctx: Context) {\n const { query } = ctx.request;\n await validateFindMany(query);\n\n const auditLogs = strapi.get('audit-logs');\n const body = await auditLogs.findMany(query);\n\n ctx.body = body;\n },\n\n async findManyUsers(ctx: Context) {\n const { query } = ctx.request;\n const { page, pageSize } = await validateFindManyUsers(query);\n\n const auditLogs = strapi.get('audit-logs');\n const body = await auditLogs.findManyUsers({ page, pageSize });\n\n ctx.body = body;\n },\n\n async findOne(ctx: Context) {\n const { id } = ctx.params;\n\n const auditLogs = strapi.get('audit-logs');\n const body = await auditLogs.findOne(id);\n\n ctx.body = body;\n\n strapi.telemetry.send('didWatchAnAuditLog');\n },\n};\n"],"names":["findMany","ctx","query","request","validateFindMany","auditLogs","strapi","get","body","findManyUsers","page","pageSize","validateFindManyUsers","findOne","id","params","telemetry","send"],"mappings":";;AAIA,0BAAe;AACb,IAAA,MAAMA,UAASC,GAAY,EAAA;AACzB,QAAA,MAAM,EAAEC,KAAK,EAAE,GAAGD,IAAIE,OAAO;AAC7B,QAAA,MAAMC,gBAAAA,CAAiBF,KAAAA,CAAAA;QAEvB,MAAMG,SAAAA,GAAYC,MAAAA,CAAOC,GAAG,CAAC,YAAA,CAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAO,MAAMH,SAAAA,CAAUL,QAAQ,CAACE,KAAAA,CAAAA;AAEtCD,QAAAA,GAAAA,CAAIO,IAAI,GAAGA,IAAAA;AACb,IAAA,CAAA;AAEA,IAAA,MAAMC,eAAcR,GAAY,EAAA;AAC9B,QAAA,MAAM,EAAEC,KAAK,EAAE,GAAGD,IAAIE,OAAO;AAC7B,QAAA,MAAM,EAAEO,IAAI,EAAEC,QAAQ,EAAE,GAAG,MAAMC,qBAAAA,CAAsBV,KAAAA,CAAAA;QAEvD,MAAMG,SAAAA,GAAYC,MAAAA,CAAOC,GAAG,CAAC,YAAA,CAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAO,MAAMH,SAAAA,CAAUI,aAAa,CAAC;AAAEC,YAAAA,IAAAA;AAAMC,YAAAA;AAAS,SAAA,CAAA;AAE5DV,QAAAA,GAAAA,CAAIO,IAAI,GAAGA,IAAAA;AACb,IAAA,CAAA;AAEA,IAAA,MAAMK,SAAQZ,GAAY,EAAA;AACxB,QAAA,MAAM,EAAEa,EAAE,EAAE,GAAGb,IAAIc,MAAM;QAEzB,MAAMV,SAAAA,GAAYC,MAAAA,CAAOC,GAAG,CAAC,YAAA,CAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAO,MAAMH,SAAAA,CAAUQ,OAAO,CAACC,EAAAA,CAAAA;AAErCb,QAAAA,GAAAA,CAAIO,IAAI,GAAGA,IAAAA;QAEXF,MAAAA,CAAOU,SAAS,CAACC,IAAI,CAAC,oBAAA,CAAA;AACxB,IAAA;AACF,CAAA;;;;"}
@@ -2,6 +2,22 @@
2
2
 
3
3
  var utils = require('../../routes/utils.js');
4
4
 
5
+ const getRouteConfig = ()=>({
6
+ middlewares: [
7
+ utils.enableFeatureMiddleware('audit-logs')
8
+ ],
9
+ policies: [
10
+ 'admin::isAuthenticatedAdmin',
11
+ {
12
+ name: 'admin::hasPermissions',
13
+ config: {
14
+ actions: [
15
+ 'admin::audit-logs.read'
16
+ ]
17
+ }
18
+ }
19
+ ]
20
+ });
5
21
  var auditLogsRoutes = {
6
22
  type: 'admin',
7
23
  routes: [
@@ -9,43 +25,19 @@ var auditLogsRoutes = {
9
25
  method: 'GET',
10
26
  path: '/audit-logs',
11
27
  handler: 'audit-logs.findMany',
12
- config: {
13
- middlewares: [
14
- utils.enableFeatureMiddleware('audit-logs')
15
- ],
16
- policies: [
17
- 'admin::isAuthenticatedAdmin',
18
- {
19
- name: 'admin::hasPermissions',
20
- config: {
21
- actions: [
22
- 'admin::audit-logs.read'
23
- ]
24
- }
25
- }
26
- ]
27
- }
28
+ config: getRouteConfig()
29
+ },
30
+ {
31
+ method: 'GET',
32
+ path: '/audit-logs/users',
33
+ handler: 'audit-logs.findManyUsers',
34
+ config: getRouteConfig()
28
35
  },
29
36
  {
30
37
  method: 'GET',
31
38
  path: '/audit-logs/:id',
32
39
  handler: 'audit-logs.findOne',
33
- config: {
34
- middlewares: [
35
- utils.enableFeatureMiddleware('audit-logs')
36
- ],
37
- policies: [
38
- 'admin::isAuthenticatedAdmin',
39
- {
40
- name: 'admin::hasPermissions',
41
- config: {
42
- actions: [
43
- 'admin::audit-logs.read'
44
- ]
45
- }
46
- }
47
- ]
48
- }
40
+ config: getRouteConfig()
49
41
  }
50
42
  ]
51
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logs.js","sources":["../../../../../../../ee/server/src/audit-logs/routes/audit-logs.ts"],"sourcesContent":["import { enableFeatureMiddleware } from '../../routes/utils';\n\nexport default {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n path: '/audit-logs',\n handler: 'audit-logs.findMany',\n config: {\n middlewares: [enableFeatureMiddleware('audit-logs')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::audit-logs.read'],\n },\n },\n ],\n },\n },\n {\n method: 'GET',\n path: '/audit-logs/:id',\n handler: 'audit-logs.findOne',\n config: {\n middlewares: [enableFeatureMiddleware('audit-logs')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::audit-logs.read'],\n },\n },\n ],\n },\n },\n ],\n};\n"],"names":["type","routes","method","path","handler","config","middlewares","enableFeatureMiddleware","policies","name","actions"],"mappings":";;;;AAEA,sBAAe;IACbA,IAAAA,EAAM,OAAA;IACNC,MAAAA,EAAQ;AACN,QAAA;YACEC,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,aAAA;YACNC,OAAAA,EAAS,qBAAA;YACTC,MAAAA,EAAQ;gBACNC,WAAAA,EAAa;oBAACC,6BAAAA,CAAwB,YAAA;AAAc,iBAAA;gBACpDC,QAAAA,EAAU;AACR,oBAAA,6BAAA;AACA,oBAAA;wBACEC,IAAAA,EAAM,uBAAA;wBACNJ,MAAAA,EAAQ;4BACNK,OAAAA,EAAS;AAAC,gCAAA;AAAyB;AACrC;AACF;AACD;AACH;AACF,SAAA;AACA,QAAA;YACER,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,iBAAA;YACNC,OAAAA,EAAS,oBAAA;YACTC,MAAAA,EAAQ;gBACNC,WAAAA,EAAa;oBAACC,6BAAAA,CAAwB,YAAA;AAAc,iBAAA;gBACpDC,QAAAA,EAAU;AACR,oBAAA,6BAAA;AACA,oBAAA;wBACEC,IAAAA,EAAM,uBAAA;wBACNJ,MAAAA,EAAQ;4BACNK,OAAAA,EAAS;AAAC,gCAAA;AAAyB;AACrC;AACF;AACD;AACH;AACF;AACD;AACH,CAAA;;;;"}
1
+ {"version":3,"file":"audit-logs.js","sources":["../../../../../../../ee/server/src/audit-logs/routes/audit-logs.ts"],"sourcesContent":["import { enableFeatureMiddleware } from '../../routes/utils';\n\nconst getRouteConfig = () => ({\n middlewares: [enableFeatureMiddleware('audit-logs')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::audit-logs.read'],\n },\n },\n ],\n});\n\nexport default {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n path: '/audit-logs',\n handler: 'audit-logs.findMany',\n config: getRouteConfig(),\n },\n {\n method: 'GET',\n path: '/audit-logs/users',\n handler: 'audit-logs.findManyUsers',\n config: getRouteConfig(),\n },\n {\n method: 'GET',\n path: '/audit-logs/:id',\n handler: 'audit-logs.findOne',\n config: getRouteConfig(),\n },\n ],\n};\n"],"names":["getRouteConfig","middlewares","enableFeatureMiddleware","policies","name","config","actions","type","routes","method","path","handler"],"mappings":";;;;AAEA,MAAMA,cAAAA,GAAiB,KAAO;QAC5BC,WAAAA,EAAa;YAACC,6BAAAA,CAAwB,YAAA;AAAc,SAAA;QACpDC,QAAAA,EAAU;AACR,YAAA,6BAAA;AACA,YAAA;gBACEC,IAAAA,EAAM,uBAAA;gBACNC,MAAAA,EAAQ;oBACNC,OAAAA,EAAS;AAAC,wBAAA;AAAyB;AACrC;AACF;AACD;KACH,CAAA;AAEA,sBAAe;IACbC,IAAAA,EAAM,OAAA;IACNC,MAAAA,EAAQ;AACN,QAAA;YACEC,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,aAAA;YACNC,OAAAA,EAAS,qBAAA;YACTN,MAAAA,EAAQL,cAAAA;AACV,SAAA;AACA,QAAA;YACES,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,mBAAA;YACNC,OAAAA,EAAS,0BAAA;YACTN,MAAAA,EAAQL,cAAAA;AACV,SAAA;AACA,QAAA;YACES,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,iBAAA;YACNC,OAAAA,EAAS,oBAAA;YACTN,MAAAA,EAAQL,cAAAA;AACV;AACD;AACH,CAAA;;;;"}
@@ -1,5 +1,21 @@
1
1
  import { enableFeatureMiddleware } from '../../routes/utils.mjs';
2
2
 
3
+ const getRouteConfig = ()=>({
4
+ middlewares: [
5
+ enableFeatureMiddleware('audit-logs')
6
+ ],
7
+ policies: [
8
+ 'admin::isAuthenticatedAdmin',
9
+ {
10
+ name: 'admin::hasPermissions',
11
+ config: {
12
+ actions: [
13
+ 'admin::audit-logs.read'
14
+ ]
15
+ }
16
+ }
17
+ ]
18
+ });
3
19
  var auditLogsRoutes = {
4
20
  type: 'admin',
5
21
  routes: [
@@ -7,43 +23,19 @@ var auditLogsRoutes = {
7
23
  method: 'GET',
8
24
  path: '/audit-logs',
9
25
  handler: 'audit-logs.findMany',
10
- config: {
11
- middlewares: [
12
- enableFeatureMiddleware('audit-logs')
13
- ],
14
- policies: [
15
- 'admin::isAuthenticatedAdmin',
16
- {
17
- name: 'admin::hasPermissions',
18
- config: {
19
- actions: [
20
- 'admin::audit-logs.read'
21
- ]
22
- }
23
- }
24
- ]
25
- }
26
+ config: getRouteConfig()
27
+ },
28
+ {
29
+ method: 'GET',
30
+ path: '/audit-logs/users',
31
+ handler: 'audit-logs.findManyUsers',
32
+ config: getRouteConfig()
26
33
  },
27
34
  {
28
35
  method: 'GET',
29
36
  path: '/audit-logs/:id',
30
37
  handler: 'audit-logs.findOne',
31
- config: {
32
- middlewares: [
33
- enableFeatureMiddleware('audit-logs')
34
- ],
35
- policies: [
36
- 'admin::isAuthenticatedAdmin',
37
- {
38
- name: 'admin::hasPermissions',
39
- config: {
40
- actions: [
41
- 'admin::audit-logs.read'
42
- ]
43
- }
44
- }
45
- ]
46
- }
38
+ config: getRouteConfig()
47
39
  }
48
40
  ]
49
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logs.mjs","sources":["../../../../../../../ee/server/src/audit-logs/routes/audit-logs.ts"],"sourcesContent":["import { enableFeatureMiddleware } from '../../routes/utils';\n\nexport default {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n path: '/audit-logs',\n handler: 'audit-logs.findMany',\n config: {\n middlewares: [enableFeatureMiddleware('audit-logs')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::audit-logs.read'],\n },\n },\n ],\n },\n },\n {\n method: 'GET',\n path: '/audit-logs/:id',\n handler: 'audit-logs.findOne',\n config: {\n middlewares: [enableFeatureMiddleware('audit-logs')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::audit-logs.read'],\n },\n },\n ],\n },\n },\n ],\n};\n"],"names":["type","routes","method","path","handler","config","middlewares","enableFeatureMiddleware","policies","name","actions"],"mappings":";;AAEA,sBAAe;IACbA,IAAAA,EAAM,OAAA;IACNC,MAAAA,EAAQ;AACN,QAAA;YACEC,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,aAAA;YACNC,OAAAA,EAAS,qBAAA;YACTC,MAAAA,EAAQ;gBACNC,WAAAA,EAAa;oBAACC,uBAAAA,CAAwB,YAAA;AAAc,iBAAA;gBACpDC,QAAAA,EAAU;AACR,oBAAA,6BAAA;AACA,oBAAA;wBACEC,IAAAA,EAAM,uBAAA;wBACNJ,MAAAA,EAAQ;4BACNK,OAAAA,EAAS;AAAC,gCAAA;AAAyB;AACrC;AACF;AACD;AACH;AACF,SAAA;AACA,QAAA;YACER,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,iBAAA;YACNC,OAAAA,EAAS,oBAAA;YACTC,MAAAA,EAAQ;gBACNC,WAAAA,EAAa;oBAACC,uBAAAA,CAAwB,YAAA;AAAc,iBAAA;gBACpDC,QAAAA,EAAU;AACR,oBAAA,6BAAA;AACA,oBAAA;wBACEC,IAAAA,EAAM,uBAAA;wBACNJ,MAAAA,EAAQ;4BACNK,OAAAA,EAAS;AAAC,gCAAA;AAAyB;AACrC;AACF;AACD;AACH;AACF;AACD;AACH,CAAA;;;;"}
1
+ {"version":3,"file":"audit-logs.mjs","sources":["../../../../../../../ee/server/src/audit-logs/routes/audit-logs.ts"],"sourcesContent":["import { enableFeatureMiddleware } from '../../routes/utils';\n\nconst getRouteConfig = () => ({\n middlewares: [enableFeatureMiddleware('audit-logs')],\n policies: [\n 'admin::isAuthenticatedAdmin',\n {\n name: 'admin::hasPermissions',\n config: {\n actions: ['admin::audit-logs.read'],\n },\n },\n ],\n});\n\nexport default {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n path: '/audit-logs',\n handler: 'audit-logs.findMany',\n config: getRouteConfig(),\n },\n {\n method: 'GET',\n path: '/audit-logs/users',\n handler: 'audit-logs.findManyUsers',\n config: getRouteConfig(),\n },\n {\n method: 'GET',\n path: '/audit-logs/:id',\n handler: 'audit-logs.findOne',\n config: getRouteConfig(),\n },\n ],\n};\n"],"names":["getRouteConfig","middlewares","enableFeatureMiddleware","policies","name","config","actions","type","routes","method","path","handler"],"mappings":";;AAEA,MAAMA,cAAAA,GAAiB,KAAO;QAC5BC,WAAAA,EAAa;YAACC,uBAAAA,CAAwB,YAAA;AAAc,SAAA;QACpDC,QAAAA,EAAU;AACR,YAAA,6BAAA;AACA,YAAA;gBACEC,IAAAA,EAAM,uBAAA;gBACNC,MAAAA,EAAQ;oBACNC,OAAAA,EAAS;AAAC,wBAAA;AAAyB;AACrC;AACF;AACD;KACH,CAAA;AAEA,sBAAe;IACbC,IAAAA,EAAM,OAAA;IACNC,MAAAA,EAAQ;AACN,QAAA;YACEC,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,aAAA;YACNC,OAAAA,EAAS,qBAAA;YACTN,MAAAA,EAAQL,cAAAA;AACV,SAAA;AACA,QAAA;YACES,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,mBAAA;YACNC,OAAAA,EAAS,0BAAA;YACTN,MAAAA,EAAQL,cAAAA;AACV,SAAA;AACA,QAAA;YACES,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,iBAAA;YACNC,OAAAA,EAAS,oBAAA;YACTN,MAAAA,EAAQL,cAAAA;AACV;AACD;AACH,CAAA;;;;"}
@@ -31,7 +31,7 @@ const getSanitizedUser = (user)=>{
31
31
  return this;
32
32
  },
33
33
  async findMany (query) {
34
- const { results, pagination } = await strapi.db?.query('admin::audit-log').findPage({
34
+ const { results, pagination } = await strapi.db.query('admin::audit-log').findPage({
35
35
  populate: [
36
36
  'user'
37
37
  ],
@@ -54,6 +54,38 @@ const getSanitizedUser = (user)=>{
54
54
  pagination
55
55
  };
56
56
  },
57
+ async findManyUsers (query) {
58
+ const { page = 1, pageSize = 10 } = query;
59
+ const userAttribute = strapi.db.metadata.get('admin::audit-log').attributes.user;
60
+ if (userAttribute?.type !== 'relation' || !('joinTable' in userAttribute) || !userAttribute.joinTable || !('inverseJoinColumn' in userAttribute.joinTable)) {
61
+ throw new Error('The audit log user relation is expected to use a join table');
62
+ }
63
+ const { joinTable } = userAttribute;
64
+ const authorIds = await strapi.db.connection(joinTable.name).distinct(joinTable.inverseJoinColumn.name).pluck(joinTable.inverseJoinColumn.name);
65
+ const { results, pagination } = await strapi.db.query('admin::user').findPage({
66
+ select: [
67
+ 'id',
68
+ 'email',
69
+ 'username',
70
+ 'firstname',
71
+ 'lastname'
72
+ ],
73
+ where: {
74
+ id: {
75
+ $in: authorIds
76
+ }
77
+ },
78
+ orderBy: {
79
+ id: 'asc'
80
+ },
81
+ page: Number(page),
82
+ pageSize: Number(pageSize)
83
+ });
84
+ return {
85
+ results: results.map(getSanitizedUser),
86
+ pagination
87
+ };
88
+ },
57
89
  async findOne (id) {
58
90
  const result = await strapi.db?.query('admin::audit-log').findOne({
59
91
  where: {