@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
@@ -4,7 +4,6 @@ var React = require('react');
4
4
  var Notifications = require('../../../../../../../../admin/src/features/Notifications.js');
5
5
  var useAPIErrorHandler = require('../../../../../../../../admin/src/hooks/useAPIErrorHandler.js');
6
6
  var useQueryParams = require('../../../../../../../../admin/src/hooks/useQueryParams.js');
7
- var users = require('../../../../../../../../admin/src/services/users.js');
8
7
  var auditLogs = require('../../../../../services/auditLogs.js');
9
8
 
10
9
  function _interopNamespace(e) {
@@ -27,14 +26,24 @@ function _interopNamespace(e) {
27
26
 
28
27
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
29
28
 
30
- const useAuditLogsData = ({ canReadAuditLogs, canReadUsers })=>{
29
+ const useAuditLogsData = ({ canReadAuditLogs, usersPageSize })=>{
31
30
  const { toggleNotification } = Notifications.useNotification();
32
31
  const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler.useAPIErrorHandler();
33
32
  const [{ query }] = useQueryParams.useQueryParams();
34
- const { data, error, isError: isUsersError, isLoading: isLoadingUsers } = users.useAdminUsers({}, {
35
- skip: !canReadUsers,
33
+ const { data, error, isError: isUsersError, isLoading: isLoadingUsers } = auditLogs.useGetAuditLogUsersQuery({
34
+ pageSize: usersPageSize
35
+ }, {
36
+ skip: !canReadAuditLogs,
36
37
  refetchOnMountOrArgChange: true
37
38
  });
39
+ const [usersData, setUsersData] = React__namespace.useState();
40
+ React__namespace.useEffect(()=>{
41
+ if (data) {
42
+ setUsersData(data);
43
+ }
44
+ }, [
45
+ data
46
+ ]);
38
47
  React__namespace.useEffect(()=>{
39
48
  if (error) {
40
49
  toggleNotification({
@@ -65,8 +74,10 @@ const useAuditLogsData = ({ canReadAuditLogs, canReadUsers })=>{
65
74
  ]);
66
75
  return {
67
76
  auditLogs: auditLogs$1,
68
- users: data?.users ?? [],
69
- isLoading: isLoadingUsers || isLoadingAuditLogs,
77
+ users: usersData?.results ?? [],
78
+ usersPagination: usersData?.pagination ?? undefined,
79
+ isLoadingUsers,
80
+ isLoading: isLoadingUsers && !usersData || isLoadingAuditLogs,
70
81
  hasError: isAuditLogsError || isUsersError
71
82
  };
72
83
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useAuditLogsData.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useNotification } from '../../../../../../../../admin/src/features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { useQueryParams } from '../../../../../../../../admin/src/hooks/useQueryParams';\nimport { useAdminUsers } from '../../../../../../../../admin/src/services/users';\nimport { useGetAuditLogsQuery } from '../../../../../services/auditLogs';\n\nexport const useAuditLogsData = ({\n canReadAuditLogs,\n canReadUsers,\n}: {\n canReadAuditLogs: boolean;\n canReadUsers: boolean;\n}) => {\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [{ query }] = useQueryParams();\n\n const {\n data,\n error,\n isError: isUsersError,\n isLoading: isLoadingUsers,\n } = useAdminUsers(\n {},\n {\n skip: !canReadUsers,\n refetchOnMountOrArgChange: true,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({ type: 'danger', message: formatAPIError(error) });\n }\n }, [error, toggleNotification, formatAPIError]);\n\n const {\n data: auditLogs,\n isLoading: isLoadingAuditLogs,\n isError: isAuditLogsError,\n error: auditLogsError,\n } = useGetAuditLogsQuery(query, {\n refetchOnMountOrArgChange: true,\n skip: !canReadAuditLogs,\n });\n\n React.useEffect(() => {\n if (auditLogsError) {\n toggleNotification({ type: 'danger', message: formatAPIError(auditLogsError) });\n }\n }, [auditLogsError, toggleNotification, formatAPIError]);\n\n return {\n auditLogs,\n users: data?.users ?? [],\n isLoading: isLoadingUsers || isLoadingAuditLogs,\n hasError: isAuditLogsError || isUsersError,\n };\n};\n"],"names":["useAuditLogsData","canReadAuditLogs","canReadUsers","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","query","useQueryParams","data","error","isError","isUsersError","isLoading","isLoadingUsers","useAdminUsers","skip","refetchOnMountOrArgChange","React","useEffect","type","message","auditLogs","isLoadingAuditLogs","isAuditLogsError","auditLogsError","useGetAuditLogsQuery","users","hasError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQaA,gBAAAA,GAAmB,CAAC,EAC/BC,gBAAgB,EAChBC,YAAY,EAIb,GAAA;IACC,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,6BAAAA,EAAAA;AAC/B,IAAA,MAAM,EAAEC,uBAAAA,EAAyBC,cAAc,EAAE,GAAGC,qCAAAA,EAAAA;AACpD,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,6BAAAA,EAAAA;AAEpB,IAAA,MAAM,EACJC,IAAI,EACJC,KAAK,EACLC,OAAAA,EAASC,YAAY,EACrBC,SAAAA,EAAWC,cAAc,EAC1B,GAAGC,mBAAAA,CACF,EAAC,EACD;AACEC,QAAAA,IAAAA,EAAM,CAACf,YAAAA;QACPgB,yBAAAA,EAA2B;AAC7B,KAAA,CAAA;AAGFC,IAAAA,gBAAAA,CAAMC,SAAS,CAAC,IAAA;AACd,QAAA,IAAIT,KAAAA,EAAO;YACTR,kBAAAA,CAAmB;gBAAEkB,IAAAA,EAAM,QAAA;AAAUC,gBAAAA,OAAAA,EAAShB,cAAAA,CAAeK,KAAAA;AAAO,aAAA,CAAA;AACtE,QAAA;IACF,CAAA,EAAG;AAACA,QAAAA,KAAAA;AAAOR,QAAAA,kBAAAA;AAAoBG,QAAAA;AAAe,KAAA,CAAA;AAE9C,IAAA,MAAM,EACJI,IAAAA,EAAMa,WAAS,EACfT,WAAWU,kBAAkB,EAC7BZ,OAAAA,EAASa,gBAAgB,EACzBd,KAAAA,EAAOe,cAAc,EACtB,GAAGC,+BAAqBnB,KAAAA,EAAO;QAC9BU,yBAAAA,EAA2B,IAAA;AAC3BD,QAAAA,IAAAA,EAAM,CAAChB;AACT,KAAA,CAAA;AAEAkB,IAAAA,gBAAAA,CAAMC,SAAS,CAAC,IAAA;AACd,QAAA,IAAIM,cAAAA,EAAgB;YAClBvB,kBAAAA,CAAmB;gBAAEkB,IAAAA,EAAM,QAAA;AAAUC,gBAAAA,OAAAA,EAAShB,cAAAA,CAAeoB,cAAAA;AAAgB,aAAA,CAAA;AAC/E,QAAA;IACF,CAAA,EAAG;AAACA,QAAAA,cAAAA;AAAgBvB,QAAAA,kBAAAA;AAAoBG,QAAAA;AAAe,KAAA,CAAA;IAEvD,OAAO;AACLiB,mBAAAA,WAAAA;QACAK,KAAAA,EAAOlB,IAAAA,EAAMkB,SAAS,EAAE;AACxBd,QAAAA,SAAAA,EAAWC,cAAAA,IAAkBS,kBAAAA;AAC7BK,QAAAA,QAAAA,EAAUJ,gBAAAA,IAAoBZ;AAChC,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"useAuditLogsData.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useNotification } from '../../../../../../../../admin/src/features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { useQueryParams } from '../../../../../../../../admin/src/hooks/useQueryParams';\nimport { useGetAuditLogsQuery, useGetAuditLogUsersQuery } from '../../../../../services/auditLogs';\n\nexport const useAuditLogsData = ({\n canReadAuditLogs,\n usersPageSize,\n}: {\n canReadAuditLogs: boolean;\n usersPageSize: number;\n}) => {\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [{ query }] = useQueryParams();\n\n const {\n data,\n error,\n isError: isUsersError,\n isLoading: isLoadingUsers,\n } = useGetAuditLogUsersQuery(\n { pageSize: usersPageSize },\n {\n skip: !canReadAuditLogs,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [usersData, setUsersData] = React.useState<typeof data>();\n\n React.useEffect(() => {\n if (data) {\n setUsersData(data);\n }\n }, [data]);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({ type: 'danger', message: formatAPIError(error) });\n }\n }, [error, toggleNotification, formatAPIError]);\n\n const {\n data: auditLogs,\n isLoading: isLoadingAuditLogs,\n isError: isAuditLogsError,\n error: auditLogsError,\n } = useGetAuditLogsQuery(query, {\n refetchOnMountOrArgChange: true,\n skip: !canReadAuditLogs,\n });\n\n React.useEffect(() => {\n if (auditLogsError) {\n toggleNotification({ type: 'danger', message: formatAPIError(auditLogsError) });\n }\n }, [auditLogsError, toggleNotification, formatAPIError]);\n\n return {\n auditLogs,\n users: usersData?.results ?? [],\n usersPagination: usersData?.pagination ?? undefined,\n isLoadingUsers,\n isLoading: (isLoadingUsers && !usersData) || isLoadingAuditLogs,\n hasError: isAuditLogsError || isUsersError,\n };\n};\n"],"names":["useAuditLogsData","canReadAuditLogs","usersPageSize","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","query","useQueryParams","data","error","isError","isUsersError","isLoading","isLoadingUsers","useGetAuditLogUsersQuery","pageSize","skip","refetchOnMountOrArgChange","usersData","setUsersData","React","useState","useEffect","type","message","auditLogs","isLoadingAuditLogs","isAuditLogsError","auditLogsError","useGetAuditLogsQuery","users","results","usersPagination","pagination","undefined","hasError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOaA,gBAAAA,GAAmB,CAAC,EAC/BC,gBAAgB,EAChBC,aAAa,EAId,GAAA;IACC,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,6BAAAA,EAAAA;AAC/B,IAAA,MAAM,EAAEC,uBAAAA,EAAyBC,cAAc,EAAE,GAAGC,qCAAAA,EAAAA;AACpD,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,6BAAAA,EAAAA;AAEpB,IAAA,MAAM,EACJC,IAAI,EACJC,KAAK,EACLC,OAAAA,EAASC,YAAY,EACrBC,SAAAA,EAAWC,cAAc,EAC1B,GAAGC,kCAAAA,CACF;QAAEC,QAAAA,EAAUf;KAAc,EAC1B;AACEgB,QAAAA,IAAAA,EAAM,CAACjB,gBAAAA;QACPkB,yBAAAA,EAA2B;AAC7B,KAAA,CAAA;AAGF,IAAA,MAAM,CAACC,SAAAA,EAAWC,YAAAA,CAAa,GAAGC,iBAAMC,QAAQ,EAAA;AAEhDD,IAAAA,gBAAAA,CAAME,SAAS,CAAC,IAAA;AACd,QAAA,IAAId,IAAAA,EAAM;YACRW,YAAAA,CAAaX,IAAAA,CAAAA;AACf,QAAA;IACF,CAAA,EAAG;AAACA,QAAAA;AAAK,KAAA,CAAA;AAETY,IAAAA,gBAAAA,CAAME,SAAS,CAAC,IAAA;AACd,QAAA,IAAIb,KAAAA,EAAO;YACTR,kBAAAA,CAAmB;gBAAEsB,IAAAA,EAAM,QAAA;AAAUC,gBAAAA,OAAAA,EAASpB,cAAAA,CAAeK,KAAAA;AAAO,aAAA,CAAA;AACtE,QAAA;IACF,CAAA,EAAG;AAACA,QAAAA,KAAAA;AAAOR,QAAAA,kBAAAA;AAAoBG,QAAAA;AAAe,KAAA,CAAA;AAE9C,IAAA,MAAM,EACJI,IAAAA,EAAMiB,WAAS,EACfb,WAAWc,kBAAkB,EAC7BhB,OAAAA,EAASiB,gBAAgB,EACzBlB,KAAAA,EAAOmB,cAAc,EACtB,GAAGC,+BAAqBvB,KAAAA,EAAO;QAC9BW,yBAAAA,EAA2B,IAAA;AAC3BD,QAAAA,IAAAA,EAAM,CAACjB;AACT,KAAA,CAAA;AAEAqB,IAAAA,gBAAAA,CAAME,SAAS,CAAC,IAAA;AACd,QAAA,IAAIM,cAAAA,EAAgB;YAClB3B,kBAAAA,CAAmB;gBAAEsB,IAAAA,EAAM,QAAA;AAAUC,gBAAAA,OAAAA,EAASpB,cAAAA,CAAewB,cAAAA;AAAgB,aAAA,CAAA;AAC/E,QAAA;IACF,CAAA,EAAG;AAACA,QAAAA,cAAAA;AAAgB3B,QAAAA,kBAAAA;AAAoBG,QAAAA;AAAe,KAAA,CAAA;IAEvD,OAAO;AACLqB,mBAAAA,WAAAA;QACAK,KAAAA,EAAOZ,SAAAA,EAAWa,WAAW,EAAE;AAC/BC,QAAAA,eAAAA,EAAiBd,WAAWe,UAAAA,IAAcC,SAAAA;AAC1CrB,QAAAA,cAAAA;QACAD,SAAAA,EAAYC,cAAAA,IAAkB,CAACK,SAAAA,IAAcQ,kBAAAA;AAC7CS,QAAAA,QAAAA,EAAUR,gBAAAA,IAAoBhB;AAChC,KAAA;AACF;;;;"}
@@ -2,17 +2,26 @@ import * as React from 'react';
2
2
  import { useNotification } from '../../../../../../../../admin/src/features/Notifications.mjs';
3
3
  import { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler.mjs';
4
4
  import { useQueryParams } from '../../../../../../../../admin/src/hooks/useQueryParams.mjs';
5
- import { useAdminUsers } from '../../../../../../../../admin/src/services/users.mjs';
6
- import { useGetAuditLogsQuery } from '../../../../../services/auditLogs.mjs';
5
+ import { useGetAuditLogUsersQuery, useGetAuditLogsQuery } from '../../../../../services/auditLogs.mjs';
7
6
 
8
- const useAuditLogsData = ({ canReadAuditLogs, canReadUsers })=>{
7
+ const useAuditLogsData = ({ canReadAuditLogs, usersPageSize })=>{
9
8
  const { toggleNotification } = useNotification();
10
9
  const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
11
10
  const [{ query }] = useQueryParams();
12
- const { data, error, isError: isUsersError, isLoading: isLoadingUsers } = useAdminUsers({}, {
13
- skip: !canReadUsers,
11
+ const { data, error, isError: isUsersError, isLoading: isLoadingUsers } = useGetAuditLogUsersQuery({
12
+ pageSize: usersPageSize
13
+ }, {
14
+ skip: !canReadAuditLogs,
14
15
  refetchOnMountOrArgChange: true
15
16
  });
17
+ const [usersData, setUsersData] = React.useState();
18
+ React.useEffect(()=>{
19
+ if (data) {
20
+ setUsersData(data);
21
+ }
22
+ }, [
23
+ data
24
+ ]);
16
25
  React.useEffect(()=>{
17
26
  if (error) {
18
27
  toggleNotification({
@@ -43,8 +52,10 @@ const useAuditLogsData = ({ canReadAuditLogs, canReadUsers })=>{
43
52
  ]);
44
53
  return {
45
54
  auditLogs,
46
- users: data?.users ?? [],
47
- isLoading: isLoadingUsers || isLoadingAuditLogs,
55
+ users: usersData?.results ?? [],
56
+ usersPagination: usersData?.pagination ?? undefined,
57
+ isLoadingUsers,
58
+ isLoading: isLoadingUsers && !usersData || isLoadingAuditLogs,
48
59
  hasError: isAuditLogsError || isUsersError
49
60
  };
50
61
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useAuditLogsData.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useNotification } from '../../../../../../../../admin/src/features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { useQueryParams } from '../../../../../../../../admin/src/hooks/useQueryParams';\nimport { useAdminUsers } from '../../../../../../../../admin/src/services/users';\nimport { useGetAuditLogsQuery } from '../../../../../services/auditLogs';\n\nexport const useAuditLogsData = ({\n canReadAuditLogs,\n canReadUsers,\n}: {\n canReadAuditLogs: boolean;\n canReadUsers: boolean;\n}) => {\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [{ query }] = useQueryParams();\n\n const {\n data,\n error,\n isError: isUsersError,\n isLoading: isLoadingUsers,\n } = useAdminUsers(\n {},\n {\n skip: !canReadUsers,\n refetchOnMountOrArgChange: true,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({ type: 'danger', message: formatAPIError(error) });\n }\n }, [error, toggleNotification, formatAPIError]);\n\n const {\n data: auditLogs,\n isLoading: isLoadingAuditLogs,\n isError: isAuditLogsError,\n error: auditLogsError,\n } = useGetAuditLogsQuery(query, {\n refetchOnMountOrArgChange: true,\n skip: !canReadAuditLogs,\n });\n\n React.useEffect(() => {\n if (auditLogsError) {\n toggleNotification({ type: 'danger', message: formatAPIError(auditLogsError) });\n }\n }, [auditLogsError, toggleNotification, formatAPIError]);\n\n return {\n auditLogs,\n users: data?.users ?? [],\n isLoading: isLoadingUsers || isLoadingAuditLogs,\n hasError: isAuditLogsError || isUsersError,\n };\n};\n"],"names":["useAuditLogsData","canReadAuditLogs","canReadUsers","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","query","useQueryParams","data","error","isError","isUsersError","isLoading","isLoadingUsers","useAdminUsers","skip","refetchOnMountOrArgChange","React","useEffect","type","message","auditLogs","isLoadingAuditLogs","isAuditLogsError","auditLogsError","useGetAuditLogsQuery","users","hasError"],"mappings":";;;;;;;MAQaA,gBAAAA,GAAmB,CAAC,EAC/BC,gBAAgB,EAChBC,YAAY,EAIb,GAAA;IACC,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;AAC/B,IAAA,MAAM,EAAEC,uBAAAA,EAAyBC,cAAc,EAAE,GAAGC,kBAAAA,EAAAA;AACpD,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;AAEpB,IAAA,MAAM,EACJC,IAAI,EACJC,KAAK,EACLC,OAAAA,EAASC,YAAY,EACrBC,SAAAA,EAAWC,cAAc,EAC1B,GAAGC,aAAAA,CACF,EAAC,EACD;AACEC,QAAAA,IAAAA,EAAM,CAACf,YAAAA;QACPgB,yBAAAA,EAA2B;AAC7B,KAAA,CAAA;AAGFC,IAAAA,KAAAA,CAAMC,SAAS,CAAC,IAAA;AACd,QAAA,IAAIT,KAAAA,EAAO;YACTR,kBAAAA,CAAmB;gBAAEkB,IAAAA,EAAM,QAAA;AAAUC,gBAAAA,OAAAA,EAAShB,cAAAA,CAAeK,KAAAA;AAAO,aAAA,CAAA;AACtE,QAAA;IACF,CAAA,EAAG;AAACA,QAAAA,KAAAA;AAAOR,QAAAA,kBAAAA;AAAoBG,QAAAA;AAAe,KAAA,CAAA;AAE9C,IAAA,MAAM,EACJI,IAAAA,EAAMa,SAAS,EACfT,WAAWU,kBAAkB,EAC7BZ,OAAAA,EAASa,gBAAgB,EACzBd,KAAAA,EAAOe,cAAc,EACtB,GAAGC,qBAAqBnB,KAAAA,EAAO;QAC9BU,yBAAAA,EAA2B,IAAA;AAC3BD,QAAAA,IAAAA,EAAM,CAAChB;AACT,KAAA,CAAA;AAEAkB,IAAAA,KAAAA,CAAMC,SAAS,CAAC,IAAA;AACd,QAAA,IAAIM,cAAAA,EAAgB;YAClBvB,kBAAAA,CAAmB;gBAAEkB,IAAAA,EAAM,QAAA;AAAUC,gBAAAA,OAAAA,EAAShB,cAAAA,CAAeoB,cAAAA;AAAgB,aAAA,CAAA;AAC/E,QAAA;IACF,CAAA,EAAG;AAACA,QAAAA,cAAAA;AAAgBvB,QAAAA,kBAAAA;AAAoBG,QAAAA;AAAe,KAAA,CAAA;IAEvD,OAAO;AACLiB,QAAAA,SAAAA;QACAK,KAAAA,EAAOlB,IAAAA,EAAMkB,SAAS,EAAE;AACxBd,QAAAA,SAAAA,EAAWC,cAAAA,IAAkBS,kBAAAA;AAC7BK,QAAAA,QAAAA,EAAUJ,gBAAAA,IAAoBZ;AAChC,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"useAuditLogsData.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useNotification } from '../../../../../../../../admin/src/features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { useQueryParams } from '../../../../../../../../admin/src/hooks/useQueryParams';\nimport { useGetAuditLogsQuery, useGetAuditLogUsersQuery } from '../../../../../services/auditLogs';\n\nexport const useAuditLogsData = ({\n canReadAuditLogs,\n usersPageSize,\n}: {\n canReadAuditLogs: boolean;\n usersPageSize: number;\n}) => {\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [{ query }] = useQueryParams();\n\n const {\n data,\n error,\n isError: isUsersError,\n isLoading: isLoadingUsers,\n } = useGetAuditLogUsersQuery(\n { pageSize: usersPageSize },\n {\n skip: !canReadAuditLogs,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [usersData, setUsersData] = React.useState<typeof data>();\n\n React.useEffect(() => {\n if (data) {\n setUsersData(data);\n }\n }, [data]);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({ type: 'danger', message: formatAPIError(error) });\n }\n }, [error, toggleNotification, formatAPIError]);\n\n const {\n data: auditLogs,\n isLoading: isLoadingAuditLogs,\n isError: isAuditLogsError,\n error: auditLogsError,\n } = useGetAuditLogsQuery(query, {\n refetchOnMountOrArgChange: true,\n skip: !canReadAuditLogs,\n });\n\n React.useEffect(() => {\n if (auditLogsError) {\n toggleNotification({ type: 'danger', message: formatAPIError(auditLogsError) });\n }\n }, [auditLogsError, toggleNotification, formatAPIError]);\n\n return {\n auditLogs,\n users: usersData?.results ?? [],\n usersPagination: usersData?.pagination ?? undefined,\n isLoadingUsers,\n isLoading: (isLoadingUsers && !usersData) || isLoadingAuditLogs,\n hasError: isAuditLogsError || isUsersError,\n };\n};\n"],"names":["useAuditLogsData","canReadAuditLogs","usersPageSize","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","query","useQueryParams","data","error","isError","isUsersError","isLoading","isLoadingUsers","useGetAuditLogUsersQuery","pageSize","skip","refetchOnMountOrArgChange","usersData","setUsersData","React","useState","useEffect","type","message","auditLogs","isLoadingAuditLogs","isAuditLogsError","auditLogsError","useGetAuditLogsQuery","users","results","usersPagination","pagination","undefined","hasError"],"mappings":";;;;;;MAOaA,gBAAAA,GAAmB,CAAC,EAC/BC,gBAAgB,EAChBC,aAAa,EAId,GAAA;IACC,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;AAC/B,IAAA,MAAM,EAAEC,uBAAAA,EAAyBC,cAAc,EAAE,GAAGC,kBAAAA,EAAAA;AACpD,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;AAEpB,IAAA,MAAM,EACJC,IAAI,EACJC,KAAK,EACLC,OAAAA,EAASC,YAAY,EACrBC,SAAAA,EAAWC,cAAc,EAC1B,GAAGC,wBAAAA,CACF;QAAEC,QAAAA,EAAUf;KAAc,EAC1B;AACEgB,QAAAA,IAAAA,EAAM,CAACjB,gBAAAA;QACPkB,yBAAAA,EAA2B;AAC7B,KAAA,CAAA;AAGF,IAAA,MAAM,CAACC,SAAAA,EAAWC,YAAAA,CAAa,GAAGC,MAAMC,QAAQ,EAAA;AAEhDD,IAAAA,KAAAA,CAAME,SAAS,CAAC,IAAA;AACd,QAAA,IAAId,IAAAA,EAAM;YACRW,YAAAA,CAAaX,IAAAA,CAAAA;AACf,QAAA;IACF,CAAA,EAAG;AAACA,QAAAA;AAAK,KAAA,CAAA;AAETY,IAAAA,KAAAA,CAAME,SAAS,CAAC,IAAA;AACd,QAAA,IAAIb,KAAAA,EAAO;YACTR,kBAAAA,CAAmB;gBAAEsB,IAAAA,EAAM,QAAA;AAAUC,gBAAAA,OAAAA,EAASpB,cAAAA,CAAeK,KAAAA;AAAO,aAAA,CAAA;AACtE,QAAA;IACF,CAAA,EAAG;AAACA,QAAAA,KAAAA;AAAOR,QAAAA,kBAAAA;AAAoBG,QAAAA;AAAe,KAAA,CAAA;AAE9C,IAAA,MAAM,EACJI,IAAAA,EAAMiB,SAAS,EACfb,WAAWc,kBAAkB,EAC7BhB,OAAAA,EAASiB,gBAAgB,EACzBlB,KAAAA,EAAOmB,cAAc,EACtB,GAAGC,qBAAqBvB,KAAAA,EAAO;QAC9BW,yBAAAA,EAA2B,IAAA;AAC3BD,QAAAA,IAAAA,EAAM,CAACjB;AACT,KAAA,CAAA;AAEAqB,IAAAA,KAAAA,CAAME,SAAS,CAAC,IAAA;AACd,QAAA,IAAIM,cAAAA,EAAgB;YAClB3B,kBAAAA,CAAmB;gBAAEsB,IAAAA,EAAM,QAAA;AAAUC,gBAAAA,OAAAA,EAASpB,cAAAA,CAAewB,cAAAA;AAAgB,aAAA,CAAA;AAC/E,QAAA;IACF,CAAA,EAAG;AAACA,QAAAA,cAAAA;AAAgB3B,QAAAA,kBAAAA;AAAoBG,QAAAA;AAAe,KAAA,CAAA;IAEvD,OAAO;AACLqB,QAAAA,SAAAA;QACAK,KAAAA,EAAOZ,SAAAA,EAAWa,WAAW,EAAE;AAC/BC,QAAAA,eAAAA,EAAiBd,WAAWe,UAAAA,IAAcC,SAAAA;AAC1CrB,QAAAA,cAAAA;QACAD,SAAAA,EAAYC,cAAAA,IAAkB,CAACK,SAAAA,IAAcQ,kBAAAA;AAC7CS,QAAAA,QAAAA,EAAUR,gBAAAA,IAAoBhB;AAChC,KAAA;AACF;;;;"}
@@ -1,10 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var users = require('../../../../../../../../admin/src/utils/users.js');
4
3
  var ComboboxFilter = require('../components/ComboboxFilter.js');
5
4
  var getActionTypesDefaultMessages = require('./getActionTypesDefaultMessages.js');
6
5
 
7
- const getDisplayedFilters = ({ formatMessage, users: users$1, canReadUsers })=>{
6
+ const getDisplayedFilters = ({ formatMessage, users, usersFilter })=>{
8
7
  const operators = [
9
8
  {
10
9
  label: formatMessage({
@@ -50,30 +49,28 @@ const getDisplayedFilters = ({ formatMessage, users: users$1, canReadUsers })=>{
50
49
  type: 'datetime'
51
50
  }
52
51
  ];
53
- if (canReadUsers && users$1) {
54
- return [
55
- ...filters,
56
- {
57
- input: ComboboxFilter.ComboboxFilter,
58
- label: formatMessage({
59
- id: 'Settings.permissions.auditLogs.user',
60
- defaultMessage: 'User'
61
- }),
62
- mainField: {
63
- name: 'id',
64
- type: 'integer'
65
- },
66
- name: 'user',
67
- operators,
68
- options: users$1.map((user)=>({
69
- label: users.getDisplayName(user),
70
- value: user.id.toString()
71
- })),
72
- type: 'relation'
73
- }
74
- ];
75
- }
76
- return filters;
52
+ return [
53
+ ...filters,
54
+ {
55
+ input: ComboboxFilter.ComboboxFilter,
56
+ label: formatMessage({
57
+ id: 'Settings.permissions.auditLogs.user',
58
+ defaultMessage: 'User'
59
+ }),
60
+ mainField: {
61
+ name: 'id',
62
+ type: 'integer'
63
+ },
64
+ name: 'user',
65
+ operators,
66
+ options: users.map((user)=>({
67
+ label: user.displayName,
68
+ value: user.id.toString()
69
+ })),
70
+ type: 'relation',
71
+ ...usersFilter
72
+ }
73
+ ];
77
74
  };
78
75
 
79
76
  exports.getDisplayedFilters = getDisplayedFilters;
@@ -1 +1 @@
1
- {"version":3,"file":"getDisplayedFilters.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.ts"],"sourcesContent":["import { IntlShape } from 'react-intl';\n\nimport { Filters } from '../../../../../../../../admin/src/components/Filters';\nimport { getDisplayName } from '../../../../../../../../admin/src/utils/users';\nimport { SanitizedAdminUser } from '../../../../../../../../shared/contracts/shared';\nimport { ComboboxFilter } from '../components/ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\nexport const getDisplayedFilters = ({\n formatMessage,\n users,\n canReadUsers,\n}: {\n formatMessage: IntlShape['formatMessage'];\n users: SanitizedAdminUser[];\n canReadUsers: boolean;\n}): Filters.Filter[] => {\n const operators = [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n }),\n value: '$eq',\n },\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n }),\n value: '$ne',\n },\n ] as NonNullable<Filters.Filter['operators']>;\n\n const filters = [\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n name: 'action',\n operators,\n options: (Object.keys(actionTypes) as (keyof typeof actionTypes)[]).map((action) => ({\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n value: action,\n })),\n type: 'enumeration',\n },\n {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n name: 'date',\n type: 'datetime',\n },\n ] satisfies Filters.Filter[];\n\n if (canReadUsers && users) {\n return [\n ...filters,\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n mainField: { name: 'id', type: 'integer' },\n name: 'user',\n operators,\n options: users.map((user) => ({\n label: getDisplayName(user),\n value: user.id.toString(),\n })),\n type: 'relation',\n } satisfies Filters.Filter,\n ];\n }\n\n return filters;\n};\n"],"names":["getDisplayedFilters","formatMessage","users","canReadUsers","operators","label","id","defaultMessage","value","filters","input","ComboboxFilter","name","options","Object","keys","actionTypes","map","action","getDefaultMessage","model","undefined","type","mainField","user","getDisplayName","toString"],"mappings":";;;;;;AASO,MAAMA,sBAAsB,CAAC,EAClCC,aAAa,SACbC,OAAK,EACLC,YAAY,EAKb,GAAA;AACC,IAAA,MAAMC,SAAAA,GAAY;AAChB,QAAA;AACEC,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,2CAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAC,KAAAA,EAAO;AACT,SAAA;AACA,QAAA;AACEH,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,2CAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAC,KAAAA,EAAO;AACT;AACD,KAAA;AAED,IAAA,MAAMC,OAAAA,GAAU;AACd,QAAA;YACEC,KAAAA,EAAOC,6BAAAA;AACPN,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,uCAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAK,IAAAA,EAAM,QAAA;AACNR,YAAAA,SAAAA;YACAS,OAAAA,EAAUC,OAAOC,IAAI,CAACC,2CAA8CC,GAAG,CAAC,CAACC,MAAAA,IAAY;AACnFb,oBAAAA,KAAAA,EAAOJ,aAAAA,CACL;wBACEK,EAAAA,EAAI,CAAC,+BAA+B,EAAEY,MAAAA,CAAAA,CAAQ;AAC9CX,wBAAAA,cAAAA,EAAgBY,+CAAAA,CAAkBD,MAAAA;qBACpC,EACA;wBAAEE,KAAAA,EAAOC;AAAU,qBAAA,CAAA;oBAErBb,KAAAA,EAAOU;iBACT,CAAA,CAAA;YACAI,IAAAA,EAAM;AACR,SAAA;AACA,QAAA;AACEjB,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,qCAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAK,IAAAA,EAAM,MAAA;YACNU,IAAAA,EAAM;AACR;AACD,KAAA;AAED,IAAA,IAAInB,gBAAgBD,OAAAA,EAAO;QACzB,OAAO;AACFO,YAAAA,GAAAA,OAAAA;AACH,YAAA;gBACEC,KAAAA,EAAOC,6BAAAA;AACPN,gBAAAA,KAAAA,EAAOJ,aAAAA,CAAc;oBACnBK,EAAAA,EAAI,qCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;gBACAgB,SAAAA,EAAW;oBAAEX,IAAAA,EAAM,IAAA;oBAAMU,IAAAA,EAAM;AAAU,iBAAA;gBACzCV,IAAAA,EAAM,MAAA;AACNR,gBAAAA,SAAAA;AACAS,gBAAAA,OAAAA,EAASX,OAAAA,CAAMe,GAAG,CAAC,CAACO,QAAU;AAC5BnB,wBAAAA,KAAAA,EAAOoB,oBAAAA,CAAeD,IAAAA,CAAAA;wBACtBhB,KAAAA,EAAOgB,IAAAA,CAAKlB,EAAE,CAACoB,QAAQ;qBACzB,CAAA,CAAA;gBACAJ,IAAAA,EAAM;AACR;AACD,SAAA;AACH,IAAA;IAEA,OAAOb,OAAAA;AACT;;;;"}
1
+ {"version":3,"file":"getDisplayedFilters.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.ts"],"sourcesContent":["import { IntlShape } from 'react-intl';\n\nimport { Filters } from '../../../../../../../../admin/src/components/Filters';\nimport { GetUsers } from '../../../../../../../../shared/contracts/audit-logs';\nimport { ComboboxFilter, ComboboxFilterProps } from '../components/ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\ntype UsersFilterProps = Pick<ComboboxFilterProps, 'loading' | 'hasMoreItems' | 'onLoadMore'>;\n\ntype AuditLogUser = NonNullable<GetUsers.Response['results']>[number];\n\nexport const getDisplayedFilters = ({\n formatMessage,\n users,\n usersFilter,\n}: {\n formatMessage: IntlShape['formatMessage'];\n users: AuditLogUser[];\n usersFilter?: UsersFilterProps;\n}): Filters.Filter[] => {\n const operators = [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n }),\n value: '$eq',\n },\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n }),\n value: '$ne',\n },\n ] as NonNullable<Filters.Filter['operators']>;\n\n const filters = [\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n name: 'action',\n operators,\n options: (Object.keys(actionTypes) as (keyof typeof actionTypes)[]).map((action) => ({\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n value: action,\n })),\n type: 'enumeration',\n },\n {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n name: 'date',\n type: 'datetime',\n },\n ] satisfies Filters.Filter[];\n\n return [\n ...filters,\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n mainField: { name: 'id', type: 'integer' },\n name: 'user',\n operators,\n options: users.map((user) => ({\n label: user.displayName,\n value: user.id.toString(),\n })),\n type: 'relation',\n ...usersFilter,\n } satisfies Filters.Filter & UsersFilterProps,\n ];\n};\n"],"names":["getDisplayedFilters","formatMessage","users","usersFilter","operators","label","id","defaultMessage","value","filters","input","ComboboxFilter","name","options","Object","keys","actionTypes","map","action","getDefaultMessage","model","undefined","type","mainField","user","displayName","toString"],"mappings":";;;;;AAYO,MAAMA,sBAAsB,CAAC,EAClCC,aAAa,EACbC,KAAK,EACLC,WAAW,EAKZ,GAAA;AACC,IAAA,MAAMC,SAAAA,GAAY;AAChB,QAAA;AACEC,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,2CAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAC,KAAAA,EAAO;AACT,SAAA;AACA,QAAA;AACEH,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,2CAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAC,KAAAA,EAAO;AACT;AACD,KAAA;AAED,IAAA,MAAMC,OAAAA,GAAU;AACd,QAAA;YACEC,KAAAA,EAAOC,6BAAAA;AACPN,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,uCAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAK,IAAAA,EAAM,QAAA;AACNR,YAAAA,SAAAA;YACAS,OAAAA,EAAUC,OAAOC,IAAI,CAACC,2CAA8CC,GAAG,CAAC,CAACC,MAAAA,IAAY;AACnFb,oBAAAA,KAAAA,EAAOJ,aAAAA,CACL;wBACEK,EAAAA,EAAI,CAAC,+BAA+B,EAAEY,MAAAA,CAAAA,CAAQ;AAC9CX,wBAAAA,cAAAA,EAAgBY,+CAAAA,CAAkBD,MAAAA;qBACpC,EACA;wBAAEE,KAAAA,EAAOC;AAAU,qBAAA,CAAA;oBAErBb,KAAAA,EAAOU;iBACT,CAAA,CAAA;YACAI,IAAAA,EAAM;AACR,SAAA;AACA,QAAA;AACEjB,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,qCAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAK,IAAAA,EAAM,MAAA;YACNU,IAAAA,EAAM;AACR;AACD,KAAA;IAED,OAAO;AACFb,QAAAA,GAAAA,OAAAA;AACH,QAAA;YACEC,KAAAA,EAAOC,6BAAAA;AACPN,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,qCAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAgB,SAAAA,EAAW;gBAAEX,IAAAA,EAAM,IAAA;gBAAMU,IAAAA,EAAM;AAAU,aAAA;YACzCV,IAAAA,EAAM,MAAA;AACNR,YAAAA,SAAAA;AACAS,YAAAA,OAAAA,EAASX,KAAAA,CAAMe,GAAG,CAAC,CAACO,QAAU;AAC5BnB,oBAAAA,KAAAA,EAAOmB,KAAKC,WAAW;oBACvBjB,KAAAA,EAAOgB,IAAAA,CAAKlB,EAAE,CAACoB,QAAQ;iBACzB,CAAA,CAAA;YACAJ,IAAAA,EAAM,UAAA;AACN,YAAA,GAAGnB;AACL;AACD,KAAA;AACH;;;;"}
@@ -1,8 +1,7 @@
1
- import { getDisplayName } from '../../../../../../../../admin/src/utils/users.mjs';
2
1
  import { ComboboxFilter } from '../components/ComboboxFilter.mjs';
3
2
  import { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages.mjs';
4
3
 
5
- const getDisplayedFilters = ({ formatMessage, users, canReadUsers })=>{
4
+ const getDisplayedFilters = ({ formatMessage, users, usersFilter })=>{
6
5
  const operators = [
7
6
  {
8
7
  label: formatMessage({
@@ -48,30 +47,28 @@ const getDisplayedFilters = ({ formatMessage, users, canReadUsers })=>{
48
47
  type: 'datetime'
49
48
  }
50
49
  ];
51
- if (canReadUsers && users) {
52
- return [
53
- ...filters,
54
- {
55
- input: ComboboxFilter,
56
- label: formatMessage({
57
- id: 'Settings.permissions.auditLogs.user',
58
- defaultMessage: 'User'
59
- }),
60
- mainField: {
61
- name: 'id',
62
- type: 'integer'
63
- },
64
- name: 'user',
65
- operators,
66
- options: users.map((user)=>({
67
- label: getDisplayName(user),
68
- value: user.id.toString()
69
- })),
70
- type: 'relation'
71
- }
72
- ];
73
- }
74
- return filters;
50
+ return [
51
+ ...filters,
52
+ {
53
+ input: ComboboxFilter,
54
+ label: formatMessage({
55
+ id: 'Settings.permissions.auditLogs.user',
56
+ defaultMessage: 'User'
57
+ }),
58
+ mainField: {
59
+ name: 'id',
60
+ type: 'integer'
61
+ },
62
+ name: 'user',
63
+ operators,
64
+ options: users.map((user)=>({
65
+ label: user.displayName,
66
+ value: user.id.toString()
67
+ })),
68
+ type: 'relation',
69
+ ...usersFilter
70
+ }
71
+ ];
75
72
  };
76
73
 
77
74
  export { getDisplayedFilters };
@@ -1 +1 @@
1
- {"version":3,"file":"getDisplayedFilters.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.ts"],"sourcesContent":["import { IntlShape } from 'react-intl';\n\nimport { Filters } from '../../../../../../../../admin/src/components/Filters';\nimport { getDisplayName } from '../../../../../../../../admin/src/utils/users';\nimport { SanitizedAdminUser } from '../../../../../../../../shared/contracts/shared';\nimport { ComboboxFilter } from '../components/ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\nexport const getDisplayedFilters = ({\n formatMessage,\n users,\n canReadUsers,\n}: {\n formatMessage: IntlShape['formatMessage'];\n users: SanitizedAdminUser[];\n canReadUsers: boolean;\n}): Filters.Filter[] => {\n const operators = [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n }),\n value: '$eq',\n },\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n }),\n value: '$ne',\n },\n ] as NonNullable<Filters.Filter['operators']>;\n\n const filters = [\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n name: 'action',\n operators,\n options: (Object.keys(actionTypes) as (keyof typeof actionTypes)[]).map((action) => ({\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n value: action,\n })),\n type: 'enumeration',\n },\n {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n name: 'date',\n type: 'datetime',\n },\n ] satisfies Filters.Filter[];\n\n if (canReadUsers && users) {\n return [\n ...filters,\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n mainField: { name: 'id', type: 'integer' },\n name: 'user',\n operators,\n options: users.map((user) => ({\n label: getDisplayName(user),\n value: user.id.toString(),\n })),\n type: 'relation',\n } satisfies Filters.Filter,\n ];\n }\n\n return filters;\n};\n"],"names":["getDisplayedFilters","formatMessage","users","canReadUsers","operators","label","id","defaultMessage","value","filters","input","ComboboxFilter","name","options","Object","keys","actionTypes","map","action","getDefaultMessage","model","undefined","type","mainField","user","getDisplayName","toString"],"mappings":";;;;AASO,MAAMA,sBAAsB,CAAC,EAClCC,aAAa,EACbC,KAAK,EACLC,YAAY,EAKb,GAAA;AACC,IAAA,MAAMC,SAAAA,GAAY;AAChB,QAAA;AACEC,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,2CAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAC,KAAAA,EAAO;AACT,SAAA;AACA,QAAA;AACEH,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,2CAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAC,KAAAA,EAAO;AACT;AACD,KAAA;AAED,IAAA,MAAMC,OAAAA,GAAU;AACd,QAAA;YACEC,KAAAA,EAAOC,cAAAA;AACPN,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,uCAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAK,IAAAA,EAAM,QAAA;AACNR,YAAAA,SAAAA;YACAS,OAAAA,EAAUC,OAAOC,IAAI,CAACC,aAA8CC,GAAG,CAAC,CAACC,MAAAA,IAAY;AACnFb,oBAAAA,KAAAA,EAAOJ,aAAAA,CACL;wBACEK,EAAAA,EAAI,CAAC,+BAA+B,EAAEY,MAAAA,CAAAA,CAAQ;AAC9CX,wBAAAA,cAAAA,EAAgBY,iBAAAA,CAAkBD,MAAAA;qBACpC,EACA;wBAAEE,KAAAA,EAAOC;AAAU,qBAAA,CAAA;oBAErBb,KAAAA,EAAOU;iBACT,CAAA,CAAA;YACAI,IAAAA,EAAM;AACR,SAAA;AACA,QAAA;AACEjB,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,qCAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAK,IAAAA,EAAM,MAAA;YACNU,IAAAA,EAAM;AACR;AACD,KAAA;AAED,IAAA,IAAInB,gBAAgBD,KAAAA,EAAO;QACzB,OAAO;AACFO,YAAAA,GAAAA,OAAAA;AACH,YAAA;gBACEC,KAAAA,EAAOC,cAAAA;AACPN,gBAAAA,KAAAA,EAAOJ,aAAAA,CAAc;oBACnBK,EAAAA,EAAI,qCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;gBACAgB,SAAAA,EAAW;oBAAEX,IAAAA,EAAM,IAAA;oBAAMU,IAAAA,EAAM;AAAU,iBAAA;gBACzCV,IAAAA,EAAM,MAAA;AACNR,gBAAAA,SAAAA;AACAS,gBAAAA,OAAAA,EAASX,KAAAA,CAAMe,GAAG,CAAC,CAACO,QAAU;AAC5BnB,wBAAAA,KAAAA,EAAOoB,cAAAA,CAAeD,IAAAA,CAAAA;wBACtBhB,KAAAA,EAAOgB,IAAAA,CAAKlB,EAAE,CAACoB,QAAQ;qBACzB,CAAA,CAAA;gBACAJ,IAAAA,EAAM;AACR;AACD,SAAA;AACH,IAAA;IAEA,OAAOb,OAAAA;AACT;;;;"}
1
+ {"version":3,"file":"getDisplayedFilters.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.ts"],"sourcesContent":["import { IntlShape } from 'react-intl';\n\nimport { Filters } from '../../../../../../../../admin/src/components/Filters';\nimport { GetUsers } from '../../../../../../../../shared/contracts/audit-logs';\nimport { ComboboxFilter, ComboboxFilterProps } from '../components/ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\ntype UsersFilterProps = Pick<ComboboxFilterProps, 'loading' | 'hasMoreItems' | 'onLoadMore'>;\n\ntype AuditLogUser = NonNullable<GetUsers.Response['results']>[number];\n\nexport const getDisplayedFilters = ({\n formatMessage,\n users,\n usersFilter,\n}: {\n formatMessage: IntlShape['formatMessage'];\n users: AuditLogUser[];\n usersFilter?: UsersFilterProps;\n}): Filters.Filter[] => {\n const operators = [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n }),\n value: '$eq',\n },\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n }),\n value: '$ne',\n },\n ] as NonNullable<Filters.Filter['operators']>;\n\n const filters = [\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n name: 'action',\n operators,\n options: (Object.keys(actionTypes) as (keyof typeof actionTypes)[]).map((action) => ({\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n value: action,\n })),\n type: 'enumeration',\n },\n {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n name: 'date',\n type: 'datetime',\n },\n ] satisfies Filters.Filter[];\n\n return [\n ...filters,\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n mainField: { name: 'id', type: 'integer' },\n name: 'user',\n operators,\n options: users.map((user) => ({\n label: user.displayName,\n value: user.id.toString(),\n })),\n type: 'relation',\n ...usersFilter,\n } satisfies Filters.Filter & UsersFilterProps,\n ];\n};\n"],"names":["getDisplayedFilters","formatMessage","users","usersFilter","operators","label","id","defaultMessage","value","filters","input","ComboboxFilter","name","options","Object","keys","actionTypes","map","action","getDefaultMessage","model","undefined","type","mainField","user","displayName","toString"],"mappings":";;;AAYO,MAAMA,sBAAsB,CAAC,EAClCC,aAAa,EACbC,KAAK,EACLC,WAAW,EAKZ,GAAA;AACC,IAAA,MAAMC,SAAAA,GAAY;AAChB,QAAA;AACEC,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,2CAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAC,KAAAA,EAAO;AACT,SAAA;AACA,QAAA;AACEH,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,2CAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAC,KAAAA,EAAO;AACT;AACD,KAAA;AAED,IAAA,MAAMC,OAAAA,GAAU;AACd,QAAA;YACEC,KAAAA,EAAOC,cAAAA;AACPN,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,uCAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAK,IAAAA,EAAM,QAAA;AACNR,YAAAA,SAAAA;YACAS,OAAAA,EAAUC,OAAOC,IAAI,CAACC,aAA8CC,GAAG,CAAC,CAACC,MAAAA,IAAY;AACnFb,oBAAAA,KAAAA,EAAOJ,aAAAA,CACL;wBACEK,EAAAA,EAAI,CAAC,+BAA+B,EAAEY,MAAAA,CAAAA,CAAQ;AAC9CX,wBAAAA,cAAAA,EAAgBY,iBAAAA,CAAkBD,MAAAA;qBACpC,EACA;wBAAEE,KAAAA,EAAOC;AAAU,qBAAA,CAAA;oBAErBb,KAAAA,EAAOU;iBACT,CAAA,CAAA;YACAI,IAAAA,EAAM;AACR,SAAA;AACA,QAAA;AACEjB,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,qCAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAK,IAAAA,EAAM,MAAA;YACNU,IAAAA,EAAM;AACR;AACD,KAAA;IAED,OAAO;AACFb,QAAAA,GAAAA,OAAAA;AACH,QAAA;YACEC,KAAAA,EAAOC,cAAAA;AACPN,YAAAA,KAAAA,EAAOJ,aAAAA,CAAc;gBACnBK,EAAAA,EAAI,qCAAA;gBACJC,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAgB,SAAAA,EAAW;gBAAEX,IAAAA,EAAM,IAAA;gBAAMU,IAAAA,EAAM;AAAU,aAAA;YACzCV,IAAAA,EAAM,MAAA;AACNR,YAAAA,SAAAA;AACAS,YAAAA,OAAAA,EAASX,KAAAA,CAAMe,GAAG,CAAC,CAACO,QAAU;AAC5BnB,oBAAAA,KAAAA,EAAOmB,KAAKC,WAAW;oBACvBjB,KAAAA,EAAOgB,IAAAA,CAAKlB,EAAE,CAACoB,QAAQ;iBACzB,CAAA,CAAA;YACAJ,IAAAA,EAAM,UAAA;AACN,YAAA,GAAGnB;AACL;AACD,KAAA;AACH;;;;"}
@@ -14,12 +14,21 @@ const auditLogsService = api.adminApi.injectEndpoints({
14
14
  }),
15
15
  getAuditLog: builder.query({
16
16
  query: (id)=>`/admin/audit-logs/${id}`
17
+ }),
18
+ getAuditLogUsers: builder.query({
19
+ query: (params)=>({
20
+ url: `/admin/audit-logs/users`,
21
+ config: {
22
+ params
23
+ }
24
+ })
17
25
  })
18
26
  }),
19
27
  overrideExisting: false
20
28
  });
21
- const { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;
29
+ const { useGetAuditLogsQuery, useGetAuditLogQuery, useGetAuditLogUsersQuery } = auditLogsService;
22
30
 
23
31
  exports.useGetAuditLogQuery = useGetAuditLogQuery;
32
+ exports.useGetAuditLogUsersQuery = useGetAuditLogUsersQuery;
24
33
  exports.useGetAuditLogsQuery = useGetAuditLogsQuery;
25
34
  //# sourceMappingURL=auditLogs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auditLogs.js","sources":["../../../../../../ee/admin/src/services/auditLogs.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport * as AuditLogs from '../../../../shared/contracts/audit-logs';\n\nconst auditLogsService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAuditLogs: builder.query<AuditLogs.GetAll.Response, AuditLogs.GetAll.Request['query']>({\n query: (params) => ({\n url: `/admin/audit-logs`,\n config: {\n params,\n },\n }),\n }),\n getAuditLog: builder.query<AuditLogs.Get.Response, AuditLogs.Get.Params['id']>({\n query: (id) => `/admin/audit-logs/${id}`,\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;\n\nexport { useGetAuditLogsQuery, useGetAuditLogQuery };\n"],"names":["auditLogsService","adminApi","injectEndpoints","endpoints","builder","getAuditLogs","query","params","url","config","getAuditLog","id","overrideExisting","useGetAuditLogsQuery","useGetAuditLogQuery"],"mappings":";;;;AAGA,MAAMA,gBAAAA,GAAmBC,YAAAA,CAASC,eAAe,CAAC;IAChDC,SAAAA,EAAW,CAACC,WAAa;YACvBC,YAAAA,EAAcD,OAAAA,CAAQE,KAAK,CAA+D;gBACxFA,KAAAA,EAAO,CAACC,UAAY;wBAClBC,GAAAA,EAAK,CAAC,iBAAiB,CAAC;wBACxBC,MAAAA,EAAQ;AACNF,4BAAAA;AACF;qBACF;AACF,aAAA,CAAA;YACAG,WAAAA,EAAaN,OAAAA,CAAQE,KAAK,CAAqD;AAC7EA,gBAAAA,KAAAA,EAAO,CAACK,EAAAA,GAAO,CAAC,kBAAkB,EAAEA,EAAAA,CAAAA;AACtC,aAAA;SACF,CAAA;IACAC,gBAAAA,EAAkB;AACpB,CAAA,CAAA;AAEA,MAAM,EAAEC,oBAAoB,EAAEC,mBAAmB,EAAE,GAAGd;;;;;"}
1
+ {"version":3,"file":"auditLogs.js","sources":["../../../../../../ee/admin/src/services/auditLogs.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport * as AuditLogs from '../../../../shared/contracts/audit-logs';\n\nconst auditLogsService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAuditLogs: builder.query<AuditLogs.GetAll.Response, AuditLogs.GetAll.Request['query']>({\n query: (params) => ({\n url: `/admin/audit-logs`,\n config: {\n params,\n },\n }),\n }),\n getAuditLog: builder.query<AuditLogs.Get.Response, AuditLogs.Get.Params['id']>({\n query: (id) => `/admin/audit-logs/${id}`,\n }),\n getAuditLogUsers: builder.query<\n AuditLogs.GetUsers.Response,\n AuditLogs.GetUsers.Request['query']\n >({\n query: (params) => ({\n url: `/admin/audit-logs/users`,\n config: {\n params,\n },\n }),\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetAuditLogsQuery, useGetAuditLogQuery, useGetAuditLogUsersQuery } = auditLogsService;\n\nexport { useGetAuditLogsQuery, useGetAuditLogQuery, useGetAuditLogUsersQuery };\n"],"names":["auditLogsService","adminApi","injectEndpoints","endpoints","builder","getAuditLogs","query","params","url","config","getAuditLog","id","getAuditLogUsers","overrideExisting","useGetAuditLogsQuery","useGetAuditLogQuery","useGetAuditLogUsersQuery"],"mappings":";;;;AAGA,MAAMA,gBAAAA,GAAmBC,YAAAA,CAASC,eAAe,CAAC;IAChDC,SAAAA,EAAW,CAACC,WAAa;YACvBC,YAAAA,EAAcD,OAAAA,CAAQE,KAAK,CAA+D;gBACxFA,KAAAA,EAAO,CAACC,UAAY;wBAClBC,GAAAA,EAAK,CAAC,iBAAiB,CAAC;wBACxBC,MAAAA,EAAQ;AACNF,4BAAAA;AACF;qBACF;AACF,aAAA,CAAA;YACAG,WAAAA,EAAaN,OAAAA,CAAQE,KAAK,CAAqD;AAC7EA,gBAAAA,KAAAA,EAAO,CAACK,EAAAA,GAAO,CAAC,kBAAkB,EAAEA,EAAAA,CAAAA;AACtC,aAAA,CAAA;YACAC,gBAAAA,EAAkBR,OAAAA,CAAQE,KAAK,CAG7B;gBACAA,KAAAA,EAAO,CAACC,UAAY;wBAClBC,GAAAA,EAAK,CAAC,uBAAuB,CAAC;wBAC9BC,MAAAA,EAAQ;AACNF,4BAAAA;AACF;qBACF;AACF,aAAA;SACF,CAAA;IACAM,gBAAAA,EAAkB;AACpB,CAAA,CAAA;AAEA,MAAM,EAAEC,oBAAoB,EAAEC,mBAAmB,EAAEC,wBAAwB,EAAE,GAAGhB;;;;;;"}
@@ -12,11 +12,19 @@ const auditLogsService = adminApi.injectEndpoints({
12
12
  }),
13
13
  getAuditLog: builder.query({
14
14
  query: (id)=>`/admin/audit-logs/${id}`
15
+ }),
16
+ getAuditLogUsers: builder.query({
17
+ query: (params)=>({
18
+ url: `/admin/audit-logs/users`,
19
+ config: {
20
+ params
21
+ }
22
+ })
15
23
  })
16
24
  }),
17
25
  overrideExisting: false
18
26
  });
19
- const { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;
27
+ const { useGetAuditLogsQuery, useGetAuditLogQuery, useGetAuditLogUsersQuery } = auditLogsService;
20
28
 
21
- export { useGetAuditLogQuery, useGetAuditLogsQuery };
29
+ export { useGetAuditLogQuery, useGetAuditLogUsersQuery, useGetAuditLogsQuery };
22
30
  //# sourceMappingURL=auditLogs.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"auditLogs.mjs","sources":["../../../../../../ee/admin/src/services/auditLogs.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport * as AuditLogs from '../../../../shared/contracts/audit-logs';\n\nconst auditLogsService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAuditLogs: builder.query<AuditLogs.GetAll.Response, AuditLogs.GetAll.Request['query']>({\n query: (params) => ({\n url: `/admin/audit-logs`,\n config: {\n params,\n },\n }),\n }),\n getAuditLog: builder.query<AuditLogs.Get.Response, AuditLogs.Get.Params['id']>({\n query: (id) => `/admin/audit-logs/${id}`,\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;\n\nexport { useGetAuditLogsQuery, useGetAuditLogQuery };\n"],"names":["auditLogsService","adminApi","injectEndpoints","endpoints","builder","getAuditLogs","query","params","url","config","getAuditLog","id","overrideExisting","useGetAuditLogsQuery","useGetAuditLogQuery"],"mappings":";;AAGA,MAAMA,gBAAAA,GAAmBC,QAAAA,CAASC,eAAe,CAAC;IAChDC,SAAAA,EAAW,CAACC,WAAa;YACvBC,YAAAA,EAAcD,OAAAA,CAAQE,KAAK,CAA+D;gBACxFA,KAAAA,EAAO,CAACC,UAAY;wBAClBC,GAAAA,EAAK,CAAC,iBAAiB,CAAC;wBACxBC,MAAAA,EAAQ;AACNF,4BAAAA;AACF;qBACF;AACF,aAAA,CAAA;YACAG,WAAAA,EAAaN,OAAAA,CAAQE,KAAK,CAAqD;AAC7EA,gBAAAA,KAAAA,EAAO,CAACK,EAAAA,GAAO,CAAC,kBAAkB,EAAEA,EAAAA,CAAAA;AACtC,aAAA;SACF,CAAA;IACAC,gBAAAA,EAAkB;AACpB,CAAA,CAAA;AAEA,MAAM,EAAEC,oBAAoB,EAAEC,mBAAmB,EAAE,GAAGd;;;;"}
1
+ {"version":3,"file":"auditLogs.mjs","sources":["../../../../../../ee/admin/src/services/auditLogs.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport * as AuditLogs from '../../../../shared/contracts/audit-logs';\n\nconst auditLogsService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAuditLogs: builder.query<AuditLogs.GetAll.Response, AuditLogs.GetAll.Request['query']>({\n query: (params) => ({\n url: `/admin/audit-logs`,\n config: {\n params,\n },\n }),\n }),\n getAuditLog: builder.query<AuditLogs.Get.Response, AuditLogs.Get.Params['id']>({\n query: (id) => `/admin/audit-logs/${id}`,\n }),\n getAuditLogUsers: builder.query<\n AuditLogs.GetUsers.Response,\n AuditLogs.GetUsers.Request['query']\n >({\n query: (params) => ({\n url: `/admin/audit-logs/users`,\n config: {\n params,\n },\n }),\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetAuditLogsQuery, useGetAuditLogQuery, useGetAuditLogUsersQuery } = auditLogsService;\n\nexport { useGetAuditLogsQuery, useGetAuditLogQuery, useGetAuditLogUsersQuery };\n"],"names":["auditLogsService","adminApi","injectEndpoints","endpoints","builder","getAuditLogs","query","params","url","config","getAuditLog","id","getAuditLogUsers","overrideExisting","useGetAuditLogsQuery","useGetAuditLogQuery","useGetAuditLogUsersQuery"],"mappings":";;AAGA,MAAMA,gBAAAA,GAAmBC,QAAAA,CAASC,eAAe,CAAC;IAChDC,SAAAA,EAAW,CAACC,WAAa;YACvBC,YAAAA,EAAcD,OAAAA,CAAQE,KAAK,CAA+D;gBACxFA,KAAAA,EAAO,CAACC,UAAY;wBAClBC,GAAAA,EAAK,CAAC,iBAAiB,CAAC;wBACxBC,MAAAA,EAAQ;AACNF,4BAAAA;AACF;qBACF;AACF,aAAA,CAAA;YACAG,WAAAA,EAAaN,OAAAA,CAAQE,KAAK,CAAqD;AAC7EA,gBAAAA,KAAAA,EAAO,CAACK,EAAAA,GAAO,CAAC,kBAAkB,EAAEA,EAAAA,CAAAA;AACtC,aAAA,CAAA;YACAC,gBAAAA,EAAkBR,OAAAA,CAAQE,KAAK,CAG7B;gBACAA,KAAAA,EAAO,CAACC,UAAY;wBAClBC,GAAAA,EAAK,CAAC,uBAAuB,CAAC;wBAC9BC,MAAAA,EAAQ;AACNF,4BAAAA;AACF;qBACF;AACF,aAAA;SACF,CAAA;IACAM,gBAAAA,EAAkB;AACpB,CAAA,CAAA;AAEA,MAAM,EAAEC,oBAAoB,EAAEC,mBAAmB,EAAEC,wBAAwB,EAAE,GAAGhB;;;;"}
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Domain attribute of the admin auth (access) token cookie, configurable
5
+ * through `admin.auth.cookie.domain` (falling back to `admin.auth.domain`) so
6
+ * multiple Strapi instances under the same parent domain share, or stay
7
+ * isolated to, the intended host.
8
+ *
9
+ * Browser-safe single source for both sides of the handoff: the admin panel
10
+ * cannot read server config, so the build transports the config value into
11
+ * the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_DOMAIN` variable
12
+ * (see create-build-context.ts in @strapi/strapi); the server resolves the
13
+ * same config at runtime. Changing the domain requires an admin rebuild, like
14
+ * any other admin config change.
15
+ *
16
+ * Defaults to `undefined` (host-only cookie) to match the browser default and
17
+ * the refresh-cookie behaviour in `getRefreshCookieOptions` when no domain is
18
+ * configured. A host-only cookie and a `Domain`-scoped cookie are distinct
19
+ * entries in the browser cookie store, so set and delete must agree on the
20
+ * domain or logout leaves a colliding copy behind.
21
+ */ const DEFAULT_AUTH_COOKIE_DOMAIN = undefined;
22
+ const isValidCookieDomain = (domain)=>{
23
+ // RFC 6265 domain-av: a host name. No leading dot required, no scheme, no
24
+ // path, no port, and none of the control/attribute-separator characters.
25
+ // eslint-disable-next-line no-control-regex -- CTL chars are exactly what RFC 6265 forbids
26
+ return !/[\x00-\x1F\x7F;,\s/:]/.test(domain);
27
+ };
28
+ const resolveAuthCookieDomain = (configuredDomain, warn = console.warn)=>{
29
+ const cookieDomain = (configuredDomain || '').trim();
30
+ if (!cookieDomain) {
31
+ return DEFAULT_AUTH_COOKIE_DOMAIN;
32
+ }
33
+ if (!isValidCookieDomain(cookieDomain)) {
34
+ warn(`Ignoring invalid admin auth cookie domain "${cookieDomain}" (must be a bare host name); using a host-only cookie instead.`);
35
+ return DEFAULT_AUTH_COOKIE_DOMAIN;
36
+ }
37
+ return cookieDomain;
38
+ };
39
+
40
+ exports.DEFAULT_AUTH_COOKIE_DOMAIN = DEFAULT_AUTH_COOKIE_DOMAIN;
41
+ exports.resolveAuthCookieDomain = resolveAuthCookieDomain;
42
+ //# sourceMappingURL=auth-cookie-domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-cookie-domain.js","sources":["../../../../shared/utils/auth-cookie-domain.ts"],"sourcesContent":["/**\n * Domain attribute of the admin auth (access) token cookie, configurable\n * through `admin.auth.cookie.domain` (falling back to `admin.auth.domain`) so\n * multiple Strapi instances under the same parent domain share, or stay\n * isolated to, the intended host.\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_DOMAIN` variable\n * (see create-build-context.ts in @strapi/strapi); the server resolves the\n * same config at runtime. Changing the domain requires an admin rebuild, like\n * any other admin config change.\n *\n * Defaults to `undefined` (host-only cookie) to match the browser default and\n * the refresh-cookie behaviour in `getRefreshCookieOptions` when no domain is\n * configured. A host-only cookie and a `Domain`-scoped cookie are distinct\n * entries in the browser cookie store, so set and delete must agree on the\n * domain or logout leaves a colliding copy behind.\n */\nexport const DEFAULT_AUTH_COOKIE_DOMAIN = undefined;\n\nconst isValidCookieDomain = (domain: string): boolean => {\n // RFC 6265 domain-av: a host name. No leading dot required, no scheme, no\n // path, no port, and none of the control/attribute-separator characters.\n // eslint-disable-next-line no-control-regex -- CTL chars are exactly what RFC 6265 forbids\n return !/[\\x00-\\x1F\\x7F;,\\s/:]/.test(domain);\n};\n\nexport const resolveAuthCookieDomain = (\n configuredDomain?: string,\n warn: (message: string) => void = console.warn\n): string | undefined => {\n const cookieDomain = (configuredDomain || '').trim();\n\n if (!cookieDomain) {\n return DEFAULT_AUTH_COOKIE_DOMAIN;\n }\n\n if (!isValidCookieDomain(cookieDomain)) {\n warn(\n `Ignoring invalid admin auth cookie domain \"${cookieDomain}\" (must be a bare host name); using a host-only cookie instead.`\n );\n return DEFAULT_AUTH_COOKIE_DOMAIN;\n }\n\n return cookieDomain;\n};\n"],"names":["DEFAULT_AUTH_COOKIE_DOMAIN","undefined","isValidCookieDomain","domain","test","resolveAuthCookieDomain","configuredDomain","warn","console","cookieDomain","trim"],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;IAmBO,MAAMA,0BAAAA,GAA6BC;AAE1C,MAAMC,sBAAsB,CAACC,MAAAA,GAAAA;;;;IAI3B,OAAO,CAAC,uBAAA,CAAwBC,IAAI,CAACD,MAAAA,CAAAA;AACvC,CAAA;MAEaE,uBAAAA,GAA0B,CACrCC,gBAAAA,EACAC,IAAAA,GAAkCC,QAAQD,IAAI,GAAA;AAE9C,IAAA,MAAME,eAAe,CAACH,gBAAAA,IAAoB,EAAC,EAAGI,IAAI,EAAA;AAElD,IAAA,IAAI,CAACD,YAAAA,EAAc;QACjB,OAAOT,0BAAAA;AACT,IAAA;IAEA,IAAI,CAACE,oBAAoBO,YAAAA,CAAAA,EAAe;AACtCF,QAAAA,IAAAA,CACE,CAAC,2CAA2C,EAAEE,YAAAA,CAAa,+DAA+D,CAAC,CAAA;QAE7H,OAAOT,0BAAAA;AACT,IAAA;IAEA,OAAOS,YAAAA;AACT;;;;;"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Domain attribute of the admin auth (access) token cookie, configurable
3
+ * through `admin.auth.cookie.domain` (falling back to `admin.auth.domain`) so
4
+ * multiple Strapi instances under the same parent domain share, or stay
5
+ * isolated to, the intended host.
6
+ *
7
+ * Browser-safe single source for both sides of the handoff: the admin panel
8
+ * cannot read server config, so the build transports the config value into
9
+ * the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_DOMAIN` variable
10
+ * (see create-build-context.ts in @strapi/strapi); the server resolves the
11
+ * same config at runtime. Changing the domain requires an admin rebuild, like
12
+ * any other admin config change.
13
+ *
14
+ * Defaults to `undefined` (host-only cookie) to match the browser default and
15
+ * the refresh-cookie behaviour in `getRefreshCookieOptions` when no domain is
16
+ * configured. A host-only cookie and a `Domain`-scoped cookie are distinct
17
+ * entries in the browser cookie store, so set and delete must agree on the
18
+ * domain or logout leaves a colliding copy behind.
19
+ */ const DEFAULT_AUTH_COOKIE_DOMAIN = undefined;
20
+ const isValidCookieDomain = (domain)=>{
21
+ // RFC 6265 domain-av: a host name. No leading dot required, no scheme, no
22
+ // path, no port, and none of the control/attribute-separator characters.
23
+ // eslint-disable-next-line no-control-regex -- CTL chars are exactly what RFC 6265 forbids
24
+ return !/[\x00-\x1F\x7F;,\s/:]/.test(domain);
25
+ };
26
+ const resolveAuthCookieDomain = (configuredDomain, warn = console.warn)=>{
27
+ const cookieDomain = (configuredDomain || '').trim();
28
+ if (!cookieDomain) {
29
+ return DEFAULT_AUTH_COOKIE_DOMAIN;
30
+ }
31
+ if (!isValidCookieDomain(cookieDomain)) {
32
+ warn(`Ignoring invalid admin auth cookie domain "${cookieDomain}" (must be a bare host name); using a host-only cookie instead.`);
33
+ return DEFAULT_AUTH_COOKIE_DOMAIN;
34
+ }
35
+ return cookieDomain;
36
+ };
37
+
38
+ export { DEFAULT_AUTH_COOKIE_DOMAIN, resolveAuthCookieDomain };
39
+ //# sourceMappingURL=auth-cookie-domain.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-cookie-domain.mjs","sources":["../../../../shared/utils/auth-cookie-domain.ts"],"sourcesContent":["/**\n * Domain attribute of the admin auth (access) token cookie, configurable\n * through `admin.auth.cookie.domain` (falling back to `admin.auth.domain`) so\n * multiple Strapi instances under the same parent domain share, or stay\n * isolated to, the intended host.\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_DOMAIN` variable\n * (see create-build-context.ts in @strapi/strapi); the server resolves the\n * same config at runtime. Changing the domain requires an admin rebuild, like\n * any other admin config change.\n *\n * Defaults to `undefined` (host-only cookie) to match the browser default and\n * the refresh-cookie behaviour in `getRefreshCookieOptions` when no domain is\n * configured. A host-only cookie and a `Domain`-scoped cookie are distinct\n * entries in the browser cookie store, so set and delete must agree on the\n * domain or logout leaves a colliding copy behind.\n */\nexport const DEFAULT_AUTH_COOKIE_DOMAIN = undefined;\n\nconst isValidCookieDomain = (domain: string): boolean => {\n // RFC 6265 domain-av: a host name. No leading dot required, no scheme, no\n // path, no port, and none of the control/attribute-separator characters.\n // eslint-disable-next-line no-control-regex -- CTL chars are exactly what RFC 6265 forbids\n return !/[\\x00-\\x1F\\x7F;,\\s/:]/.test(domain);\n};\n\nexport const resolveAuthCookieDomain = (\n configuredDomain?: string,\n warn: (message: string) => void = console.warn\n): string | undefined => {\n const cookieDomain = (configuredDomain || '').trim();\n\n if (!cookieDomain) {\n return DEFAULT_AUTH_COOKIE_DOMAIN;\n }\n\n if (!isValidCookieDomain(cookieDomain)) {\n warn(\n `Ignoring invalid admin auth cookie domain \"${cookieDomain}\" (must be a bare host name); using a host-only cookie instead.`\n );\n return DEFAULT_AUTH_COOKIE_DOMAIN;\n }\n\n return cookieDomain;\n};\n"],"names":["DEFAULT_AUTH_COOKIE_DOMAIN","undefined","isValidCookieDomain","domain","test","resolveAuthCookieDomain","configuredDomain","warn","console","cookieDomain","trim"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;IAmBO,MAAMA,0BAAAA,GAA6BC;AAE1C,MAAMC,sBAAsB,CAACC,MAAAA,GAAAA;;;;IAI3B,OAAO,CAAC,uBAAA,CAAwBC,IAAI,CAACD,MAAAA,CAAAA;AACvC,CAAA;MAEaE,uBAAAA,GAA0B,CACrCC,gBAAAA,EACAC,IAAAA,GAAkCC,QAAQD,IAAI,GAAA;AAE9C,IAAA,MAAME,eAAe,CAACH,gBAAAA,IAAoB,EAAC,EAAGI,IAAI,EAAA;AAElD,IAAA,IAAI,CAACD,YAAAA,EAAc;QACjB,OAAOT,0BAAAA;AACT,IAAA;IAEA,IAAI,CAACE,oBAAoBO,YAAAA,CAAAA,EAAe;AACtCF,QAAAA,IAAAA,CACE,CAAC,2CAA2C,EAAEE,YAAAA,CAAa,+DAA+D,CAAC,CAAA;QAE7H,OAAOT,0BAAAA;AACT,IAAA;IAEA,OAAOS,YAAAA;AACT;;;;"}
@@ -14,13 +14,13 @@
14
14
  */ const DEFAULT_AUTH_COOKIE_NAME = 'jwtToken';
15
15
  // RFC 6265 cookie-name token characters.
16
16
  const VALID_COOKIE_NAME = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
17
- const resolveAuthCookieName = (configuredName)=>{
17
+ const resolveAuthCookieName = (configuredName, warn = console.warn)=>{
18
18
  const cookieName = (configuredName || '').trim();
19
19
  if (!cookieName) {
20
20
  return DEFAULT_AUTH_COOKIE_NAME;
21
21
  }
22
22
  if (!VALID_COOKIE_NAME.test(cookieName)) {
23
- console.warn(`Ignoring invalid admin auth cookie name "${cookieName}" (must only contain RFC 6265 cookie-name characters); using "${DEFAULT_AUTH_COOKIE_NAME}" instead.`);
23
+ warn(`Ignoring invalid admin auth cookie name "${cookieName}" (must only contain RFC 6265 cookie-name characters); using "${DEFAULT_AUTH_COOKIE_NAME}" instead.`);
24
24
  return DEFAULT_AUTH_COOKIE_NAME;
25
25
  }
26
26
  return cookieName;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-cookie-name.js","sources":["../../../../shared/utils/auth-cookie-name.ts"],"sourcesContent":["/**\n * Name of the cookie holding the admin auth (access) token, configurable\n * through `admin.auth.cookie.name` so it cannot collide with a same-named\n * cookie set by another application on a shared parent domain.\n *\n * Browser-safe single source for both sides of the SSO handoff: the admin\n * panel cannot read server config, so the build transports the config value\n * into the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_NAME`\n * variable (see create-build-context.ts in @strapi/strapi); the server\n * resolves the same config at runtime. Renaming the cookie requires an admin\n * rebuild, like any other admin config change.\n */\nexport const DEFAULT_AUTH_COOKIE_NAME = 'jwtToken';\n\n// RFC 6265 cookie-name token characters.\nconst VALID_COOKIE_NAME = /^[!#$%&'*+\\-.^_`|~0-9A-Za-z]+$/;\n\nexport const resolveAuthCookieName = (configuredName?: string): string => {\n const cookieName = (configuredName || '').trim();\n\n if (!cookieName) {\n return DEFAULT_AUTH_COOKIE_NAME;\n }\n\n if (!VALID_COOKIE_NAME.test(cookieName)) {\n console.warn(\n `Ignoring invalid admin auth cookie name \"${cookieName}\" (must only contain RFC 6265 cookie-name characters); using \"${DEFAULT_AUTH_COOKIE_NAME}\" instead.`\n );\n return DEFAULT_AUTH_COOKIE_NAME;\n }\n\n return cookieName;\n};\n"],"names":["DEFAULT_AUTH_COOKIE_NAME","VALID_COOKIE_NAME","resolveAuthCookieName","configuredName","cookieName","trim","test","console","warn"],"mappings":";;AAAA;;;;;;;;;;;IAYO,MAAMA,wBAAAA,GAA2B;AAExC;AACA,MAAMC,iBAAAA,GAAoB,gCAAA;AAEnB,MAAMC,wBAAwB,CAACC,cAAAA,GAAAA;AACpC,IAAA,MAAMC,aAAa,CAACD,cAAAA,IAAkB,EAAC,EAAGE,IAAI,EAAA;AAE9C,IAAA,IAAI,CAACD,UAAAA,EAAY;QACf,OAAOJ,wBAAAA;AACT,IAAA;AAEA,IAAA,IAAI,CAACC,iBAAAA,CAAkBK,IAAI,CAACF,UAAAA,CAAAA,EAAa;QACvCG,OAAAA,CAAQC,IAAI,CACV,CAAC,yCAAyC,EAAEJ,WAAW,8DAA8D,EAAEJ,wBAAAA,CAAyB,UAAU,CAAC,CAAA;QAE7J,OAAOA,wBAAAA;AACT,IAAA;IAEA,OAAOI,UAAAA;AACT;;;;;"}
1
+ {"version":3,"file":"auth-cookie-name.js","sources":["../../../../shared/utils/auth-cookie-name.ts"],"sourcesContent":["/**\n * Name of the cookie holding the admin auth (access) token, configurable\n * through `admin.auth.cookie.name` so it cannot collide with a same-named\n * cookie set by another application on a shared parent domain.\n *\n * Browser-safe single source for both sides of the SSO handoff: the admin\n * panel cannot read server config, so the build transports the config value\n * into the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_NAME`\n * variable (see create-build-context.ts in @strapi/strapi); the server\n * resolves the same config at runtime. Renaming the cookie requires an admin\n * rebuild, like any other admin config change.\n */\nexport const DEFAULT_AUTH_COOKIE_NAME = 'jwtToken';\n\n// RFC 6265 cookie-name token characters.\nconst VALID_COOKIE_NAME = /^[!#$%&'*+\\-.^_`|~0-9A-Za-z]+$/;\n\nexport const resolveAuthCookieName = (\n configuredName?: string,\n warn: (message: string) => void = console.warn\n): string => {\n const cookieName = (configuredName || '').trim();\n\n if (!cookieName) {\n return DEFAULT_AUTH_COOKIE_NAME;\n }\n\n if (!VALID_COOKIE_NAME.test(cookieName)) {\n warn(\n `Ignoring invalid admin auth cookie name \"${cookieName}\" (must only contain RFC 6265 cookie-name characters); using \"${DEFAULT_AUTH_COOKIE_NAME}\" instead.`\n );\n return DEFAULT_AUTH_COOKIE_NAME;\n }\n\n return cookieName;\n};\n"],"names":["DEFAULT_AUTH_COOKIE_NAME","VALID_COOKIE_NAME","resolveAuthCookieName","configuredName","warn","console","cookieName","trim","test"],"mappings":";;AAAA;;;;;;;;;;;IAYO,MAAMA,wBAAAA,GAA2B;AAExC;AACA,MAAMC,iBAAAA,GAAoB,gCAAA;MAEbC,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,OAAON,wBAAAA;AACT,IAAA;AAEA,IAAA,IAAI,CAACC,iBAAAA,CAAkBO,IAAI,CAACF,UAAAA,CAAAA,EAAa;QACvCF,IAAAA,CACE,CAAC,yCAAyC,EAAEE,UAAAA,CAAW,8DAA8D,EAAEN,wBAAAA,CAAyB,UAAU,CAAC,CAAA;QAE7J,OAAOA,wBAAAA;AACT,IAAA;IAEA,OAAOM,UAAAA;AACT;;;;;"}
@@ -12,13 +12,13 @@
12
12
  */ const DEFAULT_AUTH_COOKIE_NAME = 'jwtToken';
13
13
  // RFC 6265 cookie-name token characters.
14
14
  const VALID_COOKIE_NAME = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
15
- const resolveAuthCookieName = (configuredName)=>{
15
+ const resolveAuthCookieName = (configuredName, warn = console.warn)=>{
16
16
  const cookieName = (configuredName || '').trim();
17
17
  if (!cookieName) {
18
18
  return DEFAULT_AUTH_COOKIE_NAME;
19
19
  }
20
20
  if (!VALID_COOKIE_NAME.test(cookieName)) {
21
- console.warn(`Ignoring invalid admin auth cookie name "${cookieName}" (must only contain RFC 6265 cookie-name characters); using "${DEFAULT_AUTH_COOKIE_NAME}" instead.`);
21
+ warn(`Ignoring invalid admin auth cookie name "${cookieName}" (must only contain RFC 6265 cookie-name characters); using "${DEFAULT_AUTH_COOKIE_NAME}" instead.`);
22
22
  return DEFAULT_AUTH_COOKIE_NAME;
23
23
  }
24
24
  return cookieName;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-cookie-name.mjs","sources":["../../../../shared/utils/auth-cookie-name.ts"],"sourcesContent":["/**\n * Name of the cookie holding the admin auth (access) token, configurable\n * through `admin.auth.cookie.name` so it cannot collide with a same-named\n * cookie set by another application on a shared parent domain.\n *\n * Browser-safe single source for both sides of the SSO handoff: the admin\n * panel cannot read server config, so the build transports the config value\n * into the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_NAME`\n * variable (see create-build-context.ts in @strapi/strapi); the server\n * resolves the same config at runtime. Renaming the cookie requires an admin\n * rebuild, like any other admin config change.\n */\nexport const DEFAULT_AUTH_COOKIE_NAME = 'jwtToken';\n\n// RFC 6265 cookie-name token characters.\nconst VALID_COOKIE_NAME = /^[!#$%&'*+\\-.^_`|~0-9A-Za-z]+$/;\n\nexport const resolveAuthCookieName = (configuredName?: string): string => {\n const cookieName = (configuredName || '').trim();\n\n if (!cookieName) {\n return DEFAULT_AUTH_COOKIE_NAME;\n }\n\n if (!VALID_COOKIE_NAME.test(cookieName)) {\n console.warn(\n `Ignoring invalid admin auth cookie name \"${cookieName}\" (must only contain RFC 6265 cookie-name characters); using \"${DEFAULT_AUTH_COOKIE_NAME}\" instead.`\n );\n return DEFAULT_AUTH_COOKIE_NAME;\n }\n\n return cookieName;\n};\n"],"names":["DEFAULT_AUTH_COOKIE_NAME","VALID_COOKIE_NAME","resolveAuthCookieName","configuredName","cookieName","trim","test","console","warn"],"mappings":"AAAA;;;;;;;;;;;IAYO,MAAMA,wBAAAA,GAA2B;AAExC;AACA,MAAMC,iBAAAA,GAAoB,gCAAA;AAEnB,MAAMC,wBAAwB,CAACC,cAAAA,GAAAA;AACpC,IAAA,MAAMC,aAAa,CAACD,cAAAA,IAAkB,EAAC,EAAGE,IAAI,EAAA;AAE9C,IAAA,IAAI,CAACD,UAAAA,EAAY;QACf,OAAOJ,wBAAAA;AACT,IAAA;AAEA,IAAA,IAAI,CAACC,iBAAAA,CAAkBK,IAAI,CAACF,UAAAA,CAAAA,EAAa;QACvCG,OAAAA,CAAQC,IAAI,CACV,CAAC,yCAAyC,EAAEJ,WAAW,8DAA8D,EAAEJ,wBAAAA,CAAyB,UAAU,CAAC,CAAA;QAE7J,OAAOA,wBAAAA;AACT,IAAA;IAEA,OAAOI,UAAAA;AACT;;;;"}
1
+ {"version":3,"file":"auth-cookie-name.mjs","sources":["../../../../shared/utils/auth-cookie-name.ts"],"sourcesContent":["/**\n * Name of the cookie holding the admin auth (access) token, configurable\n * through `admin.auth.cookie.name` so it cannot collide with a same-named\n * cookie set by another application on a shared parent domain.\n *\n * Browser-safe single source for both sides of the SSO handoff: the admin\n * panel cannot read server config, so the build transports the config value\n * into the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_NAME`\n * variable (see create-build-context.ts in @strapi/strapi); the server\n * resolves the same config at runtime. Renaming the cookie requires an admin\n * rebuild, like any other admin config change.\n */\nexport const DEFAULT_AUTH_COOKIE_NAME = 'jwtToken';\n\n// RFC 6265 cookie-name token characters.\nconst VALID_COOKIE_NAME = /^[!#$%&'*+\\-.^_`|~0-9A-Za-z]+$/;\n\nexport const resolveAuthCookieName = (\n configuredName?: string,\n warn: (message: string) => void = console.warn\n): string => {\n const cookieName = (configuredName || '').trim();\n\n if (!cookieName) {\n return DEFAULT_AUTH_COOKIE_NAME;\n }\n\n if (!VALID_COOKIE_NAME.test(cookieName)) {\n warn(\n `Ignoring invalid admin auth cookie name \"${cookieName}\" (must only contain RFC 6265 cookie-name characters); using \"${DEFAULT_AUTH_COOKIE_NAME}\" instead.`\n );\n return DEFAULT_AUTH_COOKIE_NAME;\n }\n\n return cookieName;\n};\n"],"names":["DEFAULT_AUTH_COOKIE_NAME","VALID_COOKIE_NAME","resolveAuthCookieName","configuredName","warn","console","cookieName","trim","test"],"mappings":"AAAA;;;;;;;;;;;IAYO,MAAMA,wBAAAA,GAA2B;AAExC;AACA,MAAMC,iBAAAA,GAAoB,gCAAA;MAEbC,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,OAAON,wBAAAA;AACT,IAAA;AAEA,IAAA,IAAI,CAACC,iBAAAA,CAAkBO,IAAI,CAACF,UAAAA,CAAAA,EAAa;QACvCF,IAAAA,CACE,CAAC,yCAAyC,EAAEE,UAAAA,CAAW,8DAA8D,EAAEN,wBAAAA,CAAyB,UAAU,CAAC,CAAA;QAE7J,OAAOA,wBAAAA;AACT,IAAA;IAEA,OAAOM,UAAAA;AACT;;;;"}