@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.
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js +14 -6
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs +14 -6
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
- package/dist/admin/admin/src/utils/cookies.js +77 -2
- package/dist/admin/admin/src/utils/cookies.js.map +1 -1
- package/dist/admin/admin/src/utils/cookies.mjs +76 -3
- package/dist/admin/admin/src/utils/cookies.mjs.map +1 -1
- package/dist/admin/admin/tests/server.js +23 -1
- package/dist/admin/admin/tests/server.js.map +1 -1
- package/dist/admin/admin/tests/server.mjs +23 -1
- package/dist/admin/admin/tests/server.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js +38 -7
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs +18 -7
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.js +4 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.mjs +4 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.js +17 -6
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.mjs +18 -7
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.js +23 -26
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.mjs +23 -26
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.mjs.map +1 -1
- package/dist/admin/ee/admin/src/services/auditLogs.js +10 -1
- package/dist/admin/ee/admin/src/services/auditLogs.js.map +1 -1
- package/dist/admin/ee/admin/src/services/auditLogs.mjs +10 -2
- package/dist/admin/ee/admin/src/services/auditLogs.mjs.map +1 -1
- package/dist/admin/shared/utils/auth-cookie-domain.js +42 -0
- package/dist/admin/shared/utils/auth-cookie-domain.js.map +1 -0
- package/dist/admin/shared/utils/auth-cookie-domain.mjs +39 -0
- package/dist/admin/shared/utils/auth-cookie-domain.mjs.map +1 -0
- package/dist/admin/shared/utils/auth-cookie-name.js +2 -2
- package/dist/admin/shared/utils/auth-cookie-name.js.map +1 -1
- package/dist/admin/shared/utils/auth-cookie-name.mjs +2 -2
- package/dist/admin/shared/utils/auth-cookie-name.mjs.map +1 -1
- package/dist/admin/shared/utils/auth-cookie-path.js +40 -0
- package/dist/admin/shared/utils/auth-cookie-path.js.map +1 -0
- package/dist/admin/shared/utils/auth-cookie-path.mjs +37 -0
- package/dist/admin/shared/utils/auth-cookie-path.mjs.map +1 -0
- package/dist/admin/src/utils/cookies.d.ts +21 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.d.ts +6 -1
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.d.ts +5 -3
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.d.ts +8 -4
- package/dist/ee/admin/src/services/auditLogs.d.ts +5 -2
- package/dist/ee/server/src/audit-logs/controllers/audit-logs.d.ts +1 -0
- package/dist/ee/server/src/audit-logs/controllers/audit-logs.d.ts.map +1 -1
- package/dist/ee/server/src/audit-logs/routes/audit-logs.d.ts.map +1 -1
- package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts +16 -0
- package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts.map +1 -1
- package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts +2 -0
- package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts.map +1 -1
- package/dist/ee/server/src/index.d.ts +1 -0
- package/dist/ee/server/src/index.d.ts.map +1 -1
- package/dist/ee/server/src/services/auth.d.ts.map +1 -1
- package/dist/ee/server/src/services/user.d.ts.map +1 -1
- package/dist/server/ee/server/src/audit-logs/controllers/audit-logs.js +10 -0
- package/dist/server/ee/server/src/audit-logs/controllers/audit-logs.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/controllers/audit-logs.mjs +11 -1
- package/dist/server/ee/server/src/audit-logs/controllers/audit-logs.mjs.map +1 -1
- package/dist/server/ee/server/src/audit-logs/routes/audit-logs.js +24 -32
- package/dist/server/ee/server/src/audit-logs/routes/audit-logs.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/routes/audit-logs.mjs +24 -32
- package/dist/server/ee/server/src/audit-logs/routes/audit-logs.mjs.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/audit-logs.js +33 -1
- package/dist/server/ee/server/src/audit-logs/services/audit-logs.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/audit-logs.mjs +33 -1
- package/dist/server/ee/server/src/audit-logs/services/audit-logs.mjs.map +1 -1
- package/dist/server/ee/server/src/audit-logs/validation/audit-logs.js +8 -0
- package/dist/server/ee/server/src/audit-logs/validation/audit-logs.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/validation/audit-logs.mjs +8 -1
- package/dist/server/ee/server/src/audit-logs/validation/audit-logs.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/admin.js.map +1 -1
- package/dist/server/ee/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js +9 -3
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs +10 -4
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs.map +1 -1
- package/dist/server/ee/server/src/services/auth.js +5 -5
- package/dist/server/ee/server/src/services/auth.js.map +1 -1
- package/dist/server/ee/server/src/services/auth.mjs +5 -5
- package/dist/server/ee/server/src/services/auth.mjs.map +1 -1
- package/dist/server/ee/server/src/services/user.js +1 -0
- package/dist/server/ee/server/src/services/user.js.map +1 -1
- package/dist/server/ee/server/src/services/user.mjs +1 -0
- package/dist/server/ee/server/src/services/user.mjs.map +1 -1
- package/dist/server/server/src/content-types/User.js +6 -0
- package/dist/server/server/src/content-types/User.js.map +1 -1
- package/dist/server/server/src/content-types/User.mjs +6 -0
- package/dist/server/server/src/content-types/User.mjs.map +1 -1
- package/dist/server/server/src/controllers/authentication.js +12 -10
- package/dist/server/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/server/src/controllers/authentication.mjs +10 -8
- package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.js +17 -4
- package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.mjs +17 -4
- package/dist/server/server/src/routes/serve-admin-panel.mjs.map +1 -1
- package/dist/server/server/src/services/auth.js +51 -6
- package/dist/server/server/src/services/auth.js.map +1 -1
- package/dist/server/server/src/services/auth.mjs +46 -6
- package/dist/server/server/src/services/auth.mjs.map +1 -1
- package/dist/server/server/src/services/index.js +1 -1
- package/dist/server/server/src/services/index.js.map +1 -1
- package/dist/server/server/src/services/user.js +1 -0
- package/dist/server/server/src/services/user.js.map +1 -1
- package/dist/server/server/src/services/user.mjs +1 -0
- package/dist/server/server/src/services/user.mjs.map +1 -1
- package/dist/server/shared/utils/auth-cookie-domain.js +42 -0
- package/dist/server/shared/utils/auth-cookie-domain.js.map +1 -0
- package/dist/server/shared/utils/auth-cookie-domain.mjs +39 -0
- package/dist/server/shared/utils/auth-cookie-domain.mjs.map +1 -0
- package/dist/server/shared/utils/auth-cookie-name.js +2 -2
- package/dist/server/shared/utils/auth-cookie-name.js.map +1 -1
- package/dist/server/shared/utils/auth-cookie-name.mjs +2 -2
- package/dist/server/shared/utils/auth-cookie-name.mjs.map +1 -1
- package/dist/server/shared/utils/auth-cookie-path.js +40 -0
- package/dist/server/shared/utils/auth-cookie-path.js.map +1 -0
- package/dist/server/shared/utils/auth-cookie-path.mjs +37 -0
- package/dist/server/shared/utils/auth-cookie-path.mjs.map +1 -0
- package/dist/server/shared/utils/session-auth.js +54 -3
- package/dist/server/shared/utils/session-auth.js.map +1 -1
- package/dist/server/shared/utils/session-auth.mjs +51 -4
- package/dist/server/shared/utils/session-auth.mjs.map +1 -1
- package/dist/server/src/content-types/User.d.ts +6 -0
- package/dist/server/src/content-types/User.d.ts.map +1 -1
- package/dist/server/src/content-types/index.d.ts +6 -0
- package/dist/server/src/content-types/index.d.ts.map +1 -1
- package/dist/server/src/controllers/authentication.d.ts.map +1 -1
- package/dist/server/src/domain/user.d.ts +1 -0
- package/dist/server/src/domain/user.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +6 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/serve-admin-panel.d.ts.map +1 -1
- package/dist/server/src/services/auth.d.ts +18 -0
- package/dist/server/src/services/auth.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/user.d.ts.map +1 -1
- package/dist/shared/contracts/api-token.d.ts +2 -2
- package/dist/shared/contracts/api-token.d.ts.map +1 -1
- package/dist/shared/contracts/audit-logs.d.ts +19 -1
- package/dist/shared/contracts/audit-logs.d.ts.map +1 -1
- package/dist/shared/contracts/authentication.d.ts +1 -1
- package/dist/shared/contracts/authentication.d.ts.map +1 -1
- package/dist/shared/contracts/homepage.d.ts +2 -2
- package/dist/shared/contracts/homepage.d.ts.map +1 -1
- package/dist/shared/contracts/shared.d.ts +2 -1
- package/dist/shared/contracts/shared.d.ts.map +1 -1
- package/dist/shared/contracts/user.d.ts +1 -1
- package/dist/shared/contracts/user.d.ts.map +1 -1
- package/dist/shared/utils/__tests__/auth-cookie-domain.test.d.ts +1 -0
- package/dist/shared/utils/__tests__/auth-cookie-domain.test.d.ts.map +1 -0
- package/dist/shared/utils/__tests__/auth-cookie-path.test.d.ts +1 -0
- package/dist/shared/utils/__tests__/auth-cookie-path.test.d.ts.map +1 -0
- package/dist/shared/utils/auth-cookie-domain.d.ts +21 -0
- package/dist/shared/utils/auth-cookie-domain.d.ts.map +1 -0
- package/dist/shared/utils/auth-cookie-name.d.ts +1 -1
- package/dist/shared/utils/auth-cookie-name.d.ts.map +1 -1
- package/dist/shared/utils/auth-cookie-path.d.ts +17 -0
- package/dist/shared/utils/auth-cookie-path.d.ts.map +1 -0
- package/dist/shared/utils/session-auth.d.ts +15 -0
- package/dist/shared/utils/session-auth.d.ts.map +1 -1
- package/package.json +10 -10
|
@@ -1,11 +1,54 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var authCookieDomain = require('../../../shared/utils/auth-cookie-domain.js');
|
|
3
4
|
var authCookieName = require('../../../shared/utils/auth-cookie-name.js');
|
|
5
|
+
var authCookiePath = require('../../../shared/utils/auth-cookie-path.js');
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
8
|
* Resolved once at module load: the build inlines `admin.auth.cookie.name`
|
|
7
9
|
* into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_NAME`.
|
|
8
10
|
*/ const AUTH_COOKIE_NAME = authCookieName.resolveAuthCookieName(process.env.STRAPI_ADMIN_AUTH_COOKIE_NAME);
|
|
11
|
+
/**
|
|
12
|
+
* Resolved once at module load: the build inlines `admin.auth.cookie.path`
|
|
13
|
+
* into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_PATH`.
|
|
14
|
+
*/ const AUTH_COOKIE_PATH = authCookiePath.resolveAuthCookiePath(process.env.STRAPI_ADMIN_AUTH_COOKIE_PATH);
|
|
15
|
+
/**
|
|
16
|
+
* Resolved once at module load: the build inlines `admin.auth.cookie.domain`
|
|
17
|
+
* into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_DOMAIN`. `undefined` means the
|
|
18
|
+
* cookie is host-only.
|
|
19
|
+
*/ const AUTH_COOKIE_DOMAIN = authCookieDomain.resolveAuthCookieDomain(process.env.STRAPI_ADMIN_AUTH_COOKIE_DOMAIN);
|
|
20
|
+
/** Paths previously used by the client for the access cookie; cleared on set/delete. */ const LEGACY_AUTH_COOKIE_PATHS = [
|
|
21
|
+
'/'
|
|
22
|
+
];
|
|
23
|
+
const expireCookieAt = (name, path, domain)=>{
|
|
24
|
+
const domainAttr = domain ? `; Domain=${domain}` : '';
|
|
25
|
+
document.cookie = `${name}=; Path=${path}${domainAttr}; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Every `(path, domain)` key the access cookie may live under: the configured
|
|
29
|
+
* key plus the legacy-path and host-only variants written by older versions or
|
|
30
|
+
* previous configs. The browser cookie store keys entries by
|
|
31
|
+
* `(name, domain, path)`, so each combination is a distinct entry.
|
|
32
|
+
*/ const cookieKeyMatrix = ()=>{
|
|
33
|
+
const paths = new Set([
|
|
34
|
+
AUTH_COOKIE_PATH,
|
|
35
|
+
...LEGACY_AUTH_COOKIE_PATHS
|
|
36
|
+
]);
|
|
37
|
+
const domains = new Set([
|
|
38
|
+
undefined,
|
|
39
|
+
AUTH_COOKIE_DOMAIN
|
|
40
|
+
]);
|
|
41
|
+
const matrix = [];
|
|
42
|
+
for (const path of paths){
|
|
43
|
+
for (const domain of domains){
|
|
44
|
+
matrix.push({
|
|
45
|
+
path,
|
|
46
|
+
domain
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return matrix;
|
|
51
|
+
};
|
|
9
52
|
/**
|
|
10
53
|
* Retrieves the value of a specified cookie.
|
|
11
54
|
*
|
|
@@ -24,23 +67,55 @@ var authCookieName = require('../../../shared/utils/auth-cookie-name.js');
|
|
|
24
67
|
};
|
|
25
68
|
/**
|
|
26
69
|
* Sets a cookie with the given name, value, and optional expiration time.
|
|
70
|
+
* Uses `admin.auth.cookie.path` and `admin.auth.cookie.domain` (both inlined
|
|
71
|
+
* at build time) so the access cookie stays scoped to the same path and domain
|
|
72
|
+
* as the httpOnly refresh cookie and the EE SSO access cookie. The cookie is
|
|
73
|
+
* marked `Secure` whenever the page is served over TLS.
|
|
27
74
|
*
|
|
28
75
|
* @param name - The name of the cookie.
|
|
29
76
|
* @param value - The value of the cookie.
|
|
30
77
|
* @param days - (Optional) Number of days until the cookie expires. If omitted, the cookie is a session cookie.
|
|
31
78
|
*/ const setCookie = (name, value, days)=>{
|
|
32
79
|
let expires = '';
|
|
33
|
-
|
|
80
|
+
// Expire every other key the cookie may live under (legacy Path=/, host-only
|
|
81
|
+
// copies written before a domain was configured). A stale same-name entry at
|
|
82
|
+
// an equal-length path sorts first in document.cookie by creation time
|
|
83
|
+
// (RFC 6265 §5.4), so leaving one behind would shadow the token written below.
|
|
84
|
+
for (const { path, domain } of cookieKeyMatrix()){
|
|
85
|
+
if (path !== AUTH_COOKIE_PATH || domain !== AUTH_COOKIE_DOMAIN) {
|
|
86
|
+
expireCookieAt(name, path, domain);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const domainAttr = AUTH_COOKIE_DOMAIN ? `; Domain=${AUTH_COOKIE_DOMAIN}` : '';
|
|
90
|
+
// Mark the token Secure when the page itself is served over TLS — the
|
|
91
|
+
// browser's own criterion — so it is never attached to plain-http requests.
|
|
92
|
+
// Expiry writes stay flag-free on purpose: deletion targets the (name,
|
|
93
|
+
// domain, path) key regardless of Secure, and from an http origin a
|
|
94
|
+
// flag-free write can still clear non-Secure entries (no origin can carry
|
|
95
|
+
// the Secure flag over http, and Secure entries are untouchable from there
|
|
96
|
+
// either way).
|
|
97
|
+
const secureAttr = window.location.protocol === 'https:' ? '; Secure' : '';
|
|
98
|
+
document.cookie = `${name}=${encodeURIComponent(value)}; Path=${AUTH_COOKIE_PATH}${domainAttr}${expires}${secureAttr}`;
|
|
34
99
|
};
|
|
35
100
|
/**
|
|
36
101
|
* Deletes a cookie by setting its expiration date to a past date.
|
|
37
102
|
*
|
|
103
|
+
* Expires every combination of {configured path, legacy Path=/} and
|
|
104
|
+
* {configured domain, host-only}. A `Domain`-scoped cookie is a distinct entry
|
|
105
|
+
* from a host-only one in the browser cookie store, so both must be cleared or
|
|
106
|
+
* remote logout leaves the EE SSO cookie (written with `Domain` by the server)
|
|
107
|
+
* behind, rehydrating a dead session into an infinite login redirect.
|
|
108
|
+
*
|
|
38
109
|
* @param name - The name of the cookie to delete.
|
|
39
110
|
*/ const deleteCookie = (name)=>{
|
|
40
|
-
|
|
111
|
+
for (const { path, domain } of cookieKeyMatrix()){
|
|
112
|
+
expireCookieAt(name, path, domain);
|
|
113
|
+
}
|
|
41
114
|
};
|
|
42
115
|
|
|
116
|
+
exports.AUTH_COOKIE_DOMAIN = AUTH_COOKIE_DOMAIN;
|
|
43
117
|
exports.AUTH_COOKIE_NAME = AUTH_COOKIE_NAME;
|
|
118
|
+
exports.AUTH_COOKIE_PATH = AUTH_COOKIE_PATH;
|
|
44
119
|
exports.deleteCookie = deleteCookie;
|
|
45
120
|
exports.getCookieValue = getCookieValue;
|
|
46
121
|
exports.setCookie = setCookie;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.js","sources":["../../../../../admin/src/utils/cookies.ts"],"sourcesContent":["import { resolveAuthCookieName } from '../../../shared/utils/auth-cookie-name';\n\n/**\n * Resolved once at module load: the build inlines `admin.auth.cookie.name`\n * into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_NAME`.\n */\nexport const AUTH_COOKIE_NAME = resolveAuthCookieName(process.env.STRAPI_ADMIN_AUTH_COOKIE_NAME);\n\n/**\n * Retrieves the value of a specified cookie.\n *\n * @param name - The name of the cookie to retrieve.\n * @returns The decoded cookie value if found, otherwise null.\n */\nexport const getCookieValue = (name: string): string | null => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\n/**\n * Sets a cookie with the given name, value, and optional expiration time.\n *\n * @param name - The name of the cookie.\n * @param value - The value of the cookie.\n * @param days - (Optional) Number of days until the cookie expires. If omitted, the cookie is a session cookie.\n */\nexport const setCookie = (name: string, value: string, days?: number): void => {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = `; Expires=${date.toUTCString()}`;\n }\n document.cookie = `${name}=${encodeURIComponent(value)}; Path
|
|
1
|
+
{"version":3,"file":"cookies.js","sources":["../../../../../admin/src/utils/cookies.ts"],"sourcesContent":["import { resolveAuthCookieDomain } from '../../../shared/utils/auth-cookie-domain';\nimport { resolveAuthCookieName } from '../../../shared/utils/auth-cookie-name';\nimport { resolveAuthCookiePath } from '../../../shared/utils/auth-cookie-path';\n\n/**\n * Resolved once at module load: the build inlines `admin.auth.cookie.name`\n * into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_NAME`.\n */\nexport const AUTH_COOKIE_NAME = resolveAuthCookieName(process.env.STRAPI_ADMIN_AUTH_COOKIE_NAME);\n\n/**\n * Resolved once at module load: the build inlines `admin.auth.cookie.path`\n * into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_PATH`.\n */\nexport const AUTH_COOKIE_PATH = resolveAuthCookiePath(process.env.STRAPI_ADMIN_AUTH_COOKIE_PATH);\n\n/**\n * Resolved once at module load: the build inlines `admin.auth.cookie.domain`\n * into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_DOMAIN`. `undefined` means the\n * cookie is host-only.\n */\nexport const AUTH_COOKIE_DOMAIN = resolveAuthCookieDomain(\n process.env.STRAPI_ADMIN_AUTH_COOKIE_DOMAIN\n);\n\n/** Paths previously used by the client for the access cookie; cleared on set/delete. */\nconst LEGACY_AUTH_COOKIE_PATHS = ['/'] as const;\n\nconst expireCookieAt = (name: string, path: string, domain?: string): void => {\n const domainAttr = domain ? `; Domain=${domain}` : '';\n document.cookie = `${name}=; Path=${path}${domainAttr}; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n};\n\n/**\n * Every `(path, domain)` key the access cookie may live under: the configured\n * key plus the legacy-path and host-only variants written by older versions or\n * previous configs. The browser cookie store keys entries by\n * `(name, domain, path)`, so each combination is a distinct entry.\n */\nconst cookieKeyMatrix = (): Array<{ path: string; domain: string | undefined }> => {\n const paths = new Set<string>([AUTH_COOKIE_PATH, ...LEGACY_AUTH_COOKIE_PATHS]);\n const domains = new Set<string | undefined>([undefined, AUTH_COOKIE_DOMAIN]);\n\n const matrix: Array<{ path: string; domain: string | undefined }> = [];\n for (const path of paths) {\n for (const domain of domains) {\n matrix.push({ path, domain });\n }\n }\n return matrix;\n};\n\n/**\n * Retrieves the value of a specified cookie.\n *\n * @param name - The name of the cookie to retrieve.\n * @returns The decoded cookie value if found, otherwise null.\n */\nexport const getCookieValue = (name: string): string | null => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\n/**\n * Sets a cookie with the given name, value, and optional expiration time.\n * Uses `admin.auth.cookie.path` and `admin.auth.cookie.domain` (both inlined\n * at build time) so the access cookie stays scoped to the same path and domain\n * as the httpOnly refresh cookie and the EE SSO access cookie. The cookie is\n * marked `Secure` whenever the page is served over TLS.\n *\n * @param name - The name of the cookie.\n * @param value - The value of the cookie.\n * @param days - (Optional) Number of days until the cookie expires. If omitted, the cookie is a session cookie.\n */\nexport const setCookie = (name: string, value: string, days?: number): void => {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = `; Expires=${date.toUTCString()}`;\n }\n\n // Expire every other key the cookie may live under (legacy Path=/, host-only\n // copies written before a domain was configured). A stale same-name entry at\n // an equal-length path sorts first in document.cookie by creation time\n // (RFC 6265 §5.4), so leaving one behind would shadow the token written below.\n for (const { path, domain } of cookieKeyMatrix()) {\n if (path !== AUTH_COOKIE_PATH || domain !== AUTH_COOKIE_DOMAIN) {\n expireCookieAt(name, path, domain);\n }\n }\n\n const domainAttr = AUTH_COOKIE_DOMAIN ? `; Domain=${AUTH_COOKIE_DOMAIN}` : '';\n // Mark the token Secure when the page itself is served over TLS — the\n // browser's own criterion — so it is never attached to plain-http requests.\n // Expiry writes stay flag-free on purpose: deletion targets the (name,\n // domain, path) key regardless of Secure, and from an http origin a\n // flag-free write can still clear non-Secure entries (no origin can carry\n // the Secure flag over http, and Secure entries are untouchable from there\n // either way).\n const secureAttr = window.location.protocol === 'https:' ? '; Secure' : '';\n document.cookie = `${name}=${encodeURIComponent(value)}; Path=${AUTH_COOKIE_PATH}${domainAttr}${expires}${secureAttr}`;\n};\n\n/**\n * Deletes a cookie by setting its expiration date to a past date.\n *\n * Expires every combination of {configured path, legacy Path=/} and\n * {configured domain, host-only}. A `Domain`-scoped cookie is a distinct entry\n * from a host-only one in the browser cookie store, so both must be cleared or\n * remote logout leaves the EE SSO cookie (written with `Domain` by the server)\n * behind, rehydrating a dead session into an infinite login redirect.\n *\n * @param name - The name of the cookie to delete.\n */\nexport const deleteCookie = (name: string): void => {\n for (const { path, domain } of cookieKeyMatrix()) {\n expireCookieAt(name, path, domain);\n }\n};\n"],"names":["AUTH_COOKIE_NAME","resolveAuthCookieName","process","env","STRAPI_ADMIN_AUTH_COOKIE_NAME","AUTH_COOKIE_PATH","resolveAuthCookiePath","STRAPI_ADMIN_AUTH_COOKIE_PATH","AUTH_COOKIE_DOMAIN","resolveAuthCookieDomain","STRAPI_ADMIN_AUTH_COOKIE_DOMAIN","LEGACY_AUTH_COOKIE_PATHS","expireCookieAt","name","path","domain","domainAttr","document","cookie","cookieKeyMatrix","paths","Set","domains","undefined","matrix","push","getCookieValue","result","cookieArray","split","forEach","key","value","map","item","trim","decodeURIComponent","setCookie","days","expires","secureAttr","window","location","protocol","encodeURIComponent","deleteCookie"],"mappings":"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"}
|
|
@@ -1,9 +1,52 @@
|
|
|
1
|
+
import { resolveAuthCookieDomain } from '../../../shared/utils/auth-cookie-domain.mjs';
|
|
1
2
|
import { resolveAuthCookieName } from '../../../shared/utils/auth-cookie-name.mjs';
|
|
3
|
+
import { resolveAuthCookiePath } from '../../../shared/utils/auth-cookie-path.mjs';
|
|
2
4
|
|
|
3
5
|
/**
|
|
4
6
|
* Resolved once at module load: the build inlines `admin.auth.cookie.name`
|
|
5
7
|
* into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_NAME`.
|
|
6
8
|
*/ const AUTH_COOKIE_NAME = resolveAuthCookieName(process.env.STRAPI_ADMIN_AUTH_COOKIE_NAME);
|
|
9
|
+
/**
|
|
10
|
+
* Resolved once at module load: the build inlines `admin.auth.cookie.path`
|
|
11
|
+
* into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_PATH`.
|
|
12
|
+
*/ const AUTH_COOKIE_PATH = resolveAuthCookiePath(process.env.STRAPI_ADMIN_AUTH_COOKIE_PATH);
|
|
13
|
+
/**
|
|
14
|
+
* Resolved once at module load: the build inlines `admin.auth.cookie.domain`
|
|
15
|
+
* into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_DOMAIN`. `undefined` means the
|
|
16
|
+
* cookie is host-only.
|
|
17
|
+
*/ const AUTH_COOKIE_DOMAIN = resolveAuthCookieDomain(process.env.STRAPI_ADMIN_AUTH_COOKIE_DOMAIN);
|
|
18
|
+
/** Paths previously used by the client for the access cookie; cleared on set/delete. */ const LEGACY_AUTH_COOKIE_PATHS = [
|
|
19
|
+
'/'
|
|
20
|
+
];
|
|
21
|
+
const expireCookieAt = (name, path, domain)=>{
|
|
22
|
+
const domainAttr = domain ? `; Domain=${domain}` : '';
|
|
23
|
+
document.cookie = `${name}=; Path=${path}${domainAttr}; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Every `(path, domain)` key the access cookie may live under: the configured
|
|
27
|
+
* key plus the legacy-path and host-only variants written by older versions or
|
|
28
|
+
* previous configs. The browser cookie store keys entries by
|
|
29
|
+
* `(name, domain, path)`, so each combination is a distinct entry.
|
|
30
|
+
*/ const cookieKeyMatrix = ()=>{
|
|
31
|
+
const paths = new Set([
|
|
32
|
+
AUTH_COOKIE_PATH,
|
|
33
|
+
...LEGACY_AUTH_COOKIE_PATHS
|
|
34
|
+
]);
|
|
35
|
+
const domains = new Set([
|
|
36
|
+
undefined,
|
|
37
|
+
AUTH_COOKIE_DOMAIN
|
|
38
|
+
]);
|
|
39
|
+
const matrix = [];
|
|
40
|
+
for (const path of paths){
|
|
41
|
+
for (const domain of domains){
|
|
42
|
+
matrix.push({
|
|
43
|
+
path,
|
|
44
|
+
domain
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return matrix;
|
|
49
|
+
};
|
|
7
50
|
/**
|
|
8
51
|
* Retrieves the value of a specified cookie.
|
|
9
52
|
*
|
|
@@ -22,21 +65,51 @@ import { resolveAuthCookieName } from '../../../shared/utils/auth-cookie-name.mj
|
|
|
22
65
|
};
|
|
23
66
|
/**
|
|
24
67
|
* Sets a cookie with the given name, value, and optional expiration time.
|
|
68
|
+
* Uses `admin.auth.cookie.path` and `admin.auth.cookie.domain` (both inlined
|
|
69
|
+
* at build time) so the access cookie stays scoped to the same path and domain
|
|
70
|
+
* as the httpOnly refresh cookie and the EE SSO access cookie. The cookie is
|
|
71
|
+
* marked `Secure` whenever the page is served over TLS.
|
|
25
72
|
*
|
|
26
73
|
* @param name - The name of the cookie.
|
|
27
74
|
* @param value - The value of the cookie.
|
|
28
75
|
* @param days - (Optional) Number of days until the cookie expires. If omitted, the cookie is a session cookie.
|
|
29
76
|
*/ const setCookie = (name, value, days)=>{
|
|
30
77
|
let expires = '';
|
|
31
|
-
|
|
78
|
+
// Expire every other key the cookie may live under (legacy Path=/, host-only
|
|
79
|
+
// copies written before a domain was configured). A stale same-name entry at
|
|
80
|
+
// an equal-length path sorts first in document.cookie by creation time
|
|
81
|
+
// (RFC 6265 §5.4), so leaving one behind would shadow the token written below.
|
|
82
|
+
for (const { path, domain } of cookieKeyMatrix()){
|
|
83
|
+
if (path !== AUTH_COOKIE_PATH || domain !== AUTH_COOKIE_DOMAIN) {
|
|
84
|
+
expireCookieAt(name, path, domain);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const domainAttr = AUTH_COOKIE_DOMAIN ? `; Domain=${AUTH_COOKIE_DOMAIN}` : '';
|
|
88
|
+
// Mark the token Secure when the page itself is served over TLS — the
|
|
89
|
+
// browser's own criterion — so it is never attached to plain-http requests.
|
|
90
|
+
// Expiry writes stay flag-free on purpose: deletion targets the (name,
|
|
91
|
+
// domain, path) key regardless of Secure, and from an http origin a
|
|
92
|
+
// flag-free write can still clear non-Secure entries (no origin can carry
|
|
93
|
+
// the Secure flag over http, and Secure entries are untouchable from there
|
|
94
|
+
// either way).
|
|
95
|
+
const secureAttr = window.location.protocol === 'https:' ? '; Secure' : '';
|
|
96
|
+
document.cookie = `${name}=${encodeURIComponent(value)}; Path=${AUTH_COOKIE_PATH}${domainAttr}${expires}${secureAttr}`;
|
|
32
97
|
};
|
|
33
98
|
/**
|
|
34
99
|
* Deletes a cookie by setting its expiration date to a past date.
|
|
35
100
|
*
|
|
101
|
+
* Expires every combination of {configured path, legacy Path=/} and
|
|
102
|
+
* {configured domain, host-only}. A `Domain`-scoped cookie is a distinct entry
|
|
103
|
+
* from a host-only one in the browser cookie store, so both must be cleared or
|
|
104
|
+
* remote logout leaves the EE SSO cookie (written with `Domain` by the server)
|
|
105
|
+
* behind, rehydrating a dead session into an infinite login redirect.
|
|
106
|
+
*
|
|
36
107
|
* @param name - The name of the cookie to delete.
|
|
37
108
|
*/ const deleteCookie = (name)=>{
|
|
38
|
-
|
|
109
|
+
for (const { path, domain } of cookieKeyMatrix()){
|
|
110
|
+
expireCookieAt(name, path, domain);
|
|
111
|
+
}
|
|
39
112
|
};
|
|
40
113
|
|
|
41
|
-
export { AUTH_COOKIE_NAME, deleteCookie, getCookieValue, setCookie };
|
|
114
|
+
export { AUTH_COOKIE_DOMAIN, AUTH_COOKIE_NAME, AUTH_COOKIE_PATH, deleteCookie, getCookieValue, setCookie };
|
|
42
115
|
//# sourceMappingURL=cookies.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.mjs","sources":["../../../../../admin/src/utils/cookies.ts"],"sourcesContent":["import { resolveAuthCookieName } from '../../../shared/utils/auth-cookie-name';\n\n/**\n * Resolved once at module load: the build inlines `admin.auth.cookie.name`\n * into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_NAME`.\n */\nexport const AUTH_COOKIE_NAME = resolveAuthCookieName(process.env.STRAPI_ADMIN_AUTH_COOKIE_NAME);\n\n/**\n * Retrieves the value of a specified cookie.\n *\n * @param name - The name of the cookie to retrieve.\n * @returns The decoded cookie value if found, otherwise null.\n */\nexport const getCookieValue = (name: string): string | null => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\n/**\n * Sets a cookie with the given name, value, and optional expiration time.\n *\n * @param name - The name of the cookie.\n * @param value - The value of the cookie.\n * @param days - (Optional) Number of days until the cookie expires. If omitted, the cookie is a session cookie.\n */\nexport const setCookie = (name: string, value: string, days?: number): void => {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = `; Expires=${date.toUTCString()}`;\n }\n document.cookie = `${name}=${encodeURIComponent(value)}; Path
|
|
1
|
+
{"version":3,"file":"cookies.mjs","sources":["../../../../../admin/src/utils/cookies.ts"],"sourcesContent":["import { resolveAuthCookieDomain } from '../../../shared/utils/auth-cookie-domain';\nimport { resolveAuthCookieName } from '../../../shared/utils/auth-cookie-name';\nimport { resolveAuthCookiePath } from '../../../shared/utils/auth-cookie-path';\n\n/**\n * Resolved once at module load: the build inlines `admin.auth.cookie.name`\n * into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_NAME`.\n */\nexport const AUTH_COOKIE_NAME = resolveAuthCookieName(process.env.STRAPI_ADMIN_AUTH_COOKIE_NAME);\n\n/**\n * Resolved once at module load: the build inlines `admin.auth.cookie.path`\n * into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_PATH`.\n */\nexport const AUTH_COOKIE_PATH = resolveAuthCookiePath(process.env.STRAPI_ADMIN_AUTH_COOKIE_PATH);\n\n/**\n * Resolved once at module load: the build inlines `admin.auth.cookie.domain`\n * into the bundle as `STRAPI_ADMIN_AUTH_COOKIE_DOMAIN`. `undefined` means the\n * cookie is host-only.\n */\nexport const AUTH_COOKIE_DOMAIN = resolveAuthCookieDomain(\n process.env.STRAPI_ADMIN_AUTH_COOKIE_DOMAIN\n);\n\n/** Paths previously used by the client for the access cookie; cleared on set/delete. */\nconst LEGACY_AUTH_COOKIE_PATHS = ['/'] as const;\n\nconst expireCookieAt = (name: string, path: string, domain?: string): void => {\n const domainAttr = domain ? `; Domain=${domain}` : '';\n document.cookie = `${name}=; Path=${path}${domainAttr}; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n};\n\n/**\n * Every `(path, domain)` key the access cookie may live under: the configured\n * key plus the legacy-path and host-only variants written by older versions or\n * previous configs. The browser cookie store keys entries by\n * `(name, domain, path)`, so each combination is a distinct entry.\n */\nconst cookieKeyMatrix = (): Array<{ path: string; domain: string | undefined }> => {\n const paths = new Set<string>([AUTH_COOKIE_PATH, ...LEGACY_AUTH_COOKIE_PATHS]);\n const domains = new Set<string | undefined>([undefined, AUTH_COOKIE_DOMAIN]);\n\n const matrix: Array<{ path: string; domain: string | undefined }> = [];\n for (const path of paths) {\n for (const domain of domains) {\n matrix.push({ path, domain });\n }\n }\n return matrix;\n};\n\n/**\n * Retrieves the value of a specified cookie.\n *\n * @param name - The name of the cookie to retrieve.\n * @returns The decoded cookie value if found, otherwise null.\n */\nexport const getCookieValue = (name: string): string | null => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\n/**\n * Sets a cookie with the given name, value, and optional expiration time.\n * Uses `admin.auth.cookie.path` and `admin.auth.cookie.domain` (both inlined\n * at build time) so the access cookie stays scoped to the same path and domain\n * as the httpOnly refresh cookie and the EE SSO access cookie. The cookie is\n * marked `Secure` whenever the page is served over TLS.\n *\n * @param name - The name of the cookie.\n * @param value - The value of the cookie.\n * @param days - (Optional) Number of days until the cookie expires. If omitted, the cookie is a session cookie.\n */\nexport const setCookie = (name: string, value: string, days?: number): void => {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = `; Expires=${date.toUTCString()}`;\n }\n\n // Expire every other key the cookie may live under (legacy Path=/, host-only\n // copies written before a domain was configured). A stale same-name entry at\n // an equal-length path sorts first in document.cookie by creation time\n // (RFC 6265 §5.4), so leaving one behind would shadow the token written below.\n for (const { path, domain } of cookieKeyMatrix()) {\n if (path !== AUTH_COOKIE_PATH || domain !== AUTH_COOKIE_DOMAIN) {\n expireCookieAt(name, path, domain);\n }\n }\n\n const domainAttr = AUTH_COOKIE_DOMAIN ? `; Domain=${AUTH_COOKIE_DOMAIN}` : '';\n // Mark the token Secure when the page itself is served over TLS — the\n // browser's own criterion — so it is never attached to plain-http requests.\n // Expiry writes stay flag-free on purpose: deletion targets the (name,\n // domain, path) key regardless of Secure, and from an http origin a\n // flag-free write can still clear non-Secure entries (no origin can carry\n // the Secure flag over http, and Secure entries are untouchable from there\n // either way).\n const secureAttr = window.location.protocol === 'https:' ? '; Secure' : '';\n document.cookie = `${name}=${encodeURIComponent(value)}; Path=${AUTH_COOKIE_PATH}${domainAttr}${expires}${secureAttr}`;\n};\n\n/**\n * Deletes a cookie by setting its expiration date to a past date.\n *\n * Expires every combination of {configured path, legacy Path=/} and\n * {configured domain, host-only}. A `Domain`-scoped cookie is a distinct entry\n * from a host-only one in the browser cookie store, so both must be cleared or\n * remote logout leaves the EE SSO cookie (written with `Domain` by the server)\n * behind, rehydrating a dead session into an infinite login redirect.\n *\n * @param name - The name of the cookie to delete.\n */\nexport const deleteCookie = (name: string): void => {\n for (const { path, domain } of cookieKeyMatrix()) {\n expireCookieAt(name, path, domain);\n }\n};\n"],"names":["AUTH_COOKIE_NAME","resolveAuthCookieName","process","env","STRAPI_ADMIN_AUTH_COOKIE_NAME","AUTH_COOKIE_PATH","resolveAuthCookiePath","STRAPI_ADMIN_AUTH_COOKIE_PATH","AUTH_COOKIE_DOMAIN","resolveAuthCookieDomain","STRAPI_ADMIN_AUTH_COOKIE_DOMAIN","LEGACY_AUTH_COOKIE_PATHS","expireCookieAt","name","path","domain","domainAttr","document","cookie","cookieKeyMatrix","paths","Set","domains","undefined","matrix","push","getCookieValue","result","cookieArray","split","forEach","key","value","map","item","trim","decodeURIComponent","setCookie","days","expires","secureAttr","window","location","protocol","encodeURIComponent","deleteCookie"],"mappings":"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"}
|
|
@@ -623,7 +623,29 @@ const server = node.setupServer(...[
|
|
|
623
623
|
}),
|
|
624
624
|
/**
|
|
625
625
|
* Audit Logs
|
|
626
|
-
*/ msw.http.get('/admin/audit-logs', ()=>{
|
|
626
|
+
*/ msw.http.get('/admin/audit-logs/users', ()=>{
|
|
627
|
+
return msw.HttpResponse.json({
|
|
628
|
+
results: [
|
|
629
|
+
{
|
|
630
|
+
id: 1,
|
|
631
|
+
email: 'john@testing.com',
|
|
632
|
+
displayName: 'John Doe'
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
id: 2,
|
|
636
|
+
email: 'kai@testing.com',
|
|
637
|
+
displayName: 'Kai Doe'
|
|
638
|
+
}
|
|
639
|
+
],
|
|
640
|
+
pagination: {
|
|
641
|
+
page: 1,
|
|
642
|
+
pageSize: 10,
|
|
643
|
+
pageCount: 1,
|
|
644
|
+
total: 2
|
|
645
|
+
}
|
|
646
|
+
});
|
|
647
|
+
}),
|
|
648
|
+
msw.http.get('/admin/audit-logs', ()=>{
|
|
627
649
|
return msw.HttpResponse.json({
|
|
628
650
|
results: [
|
|
629
651
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sources":["../../../../admin/tests/server.ts"],"sourcesContent":["import { http, HttpResponse } from 'msw';\nimport { type SetupServer, setupServer } from 'msw/node';\n\nimport { mockData } from './mockData';\n\nexport const server: SetupServer = setupServer(\n ...[\n /**\n * TRACKING\n */\n http.post('https://analytics.strapi.io/api/v2/track', () => {\n return new HttpResponse();\n }),\n /**\n *\n * ADMIN ROLES\n *\n */\n http.get('/admin/roles', () =>\n HttpResponse.json({\n data: [\n {\n id: 1,\n code: 'strapi-editor',\n name: 'Editor',\n },\n {\n id: 2,\n code: 'strapi-author',\n name: 'Author',\n },\n ],\n })\n ),\n\n http.get('/admin/roles/1', ({ request }) =>\n HttpResponse.json({\n data: {\n id: 1,\n code: 'strapi-editor',\n params: {\n filters: new URL(request.url).searchParams.get('filters'),\n },\n },\n })\n ),\n http.get('/admin/roles/:id/permissions', ({ request }) => {\n return HttpResponse.json({\n data: [\n {\n id: 1,\n action: 'plugin::content-manager.explorer.create',\n subject: 'api::address.address',\n properties: {\n fields: ['postal_code', 'categories'],\n },\n conditions: [],\n\n params: {\n filters: new URL(request.url).searchParams.get('filters'),\n },\n },\n ],\n });\n }),\n /**\n *\n * ADMIN USERS\n *\n */\n http.get('/admin/users', () => {\n return HttpResponse.json({\n data: {\n results: [\n { id: 1, firstname: 'John', lastname: 'Doe', roles: [] },\n { id: 2, firstname: 'Kai', lastname: 'Doe', roles: [] },\n ],\n pagination: {\n page: 1,\n },\n },\n });\n }),\n http.get('/admin/users/1', ({ request }) =>\n HttpResponse.json({\n data: {\n id: 1,\n firstname: 'John',\n lastname: 'Doe',\n emai: 'test@testing.com',\n roles: [\n { id: 1, code: 'strapi-editor', name: 'Editor' },\n { id: 2, code: 'strapi-super-admin', name: 'Super Admin' },\n ],\n params: {\n some: new URL(request.url).searchParams.get('some'),\n },\n },\n })\n ),\n http.get('/admin/users/me', () => {\n return HttpResponse.json({\n data: {\n id: 1,\n email: 'michka@michka.fr',\n firstname: 'michoko',\n lastname: 'ronronscelestes',\n username: 'yolo',\n preferedLanguage: 'en',\n roles: [\n {\n id: 2,\n },\n ],\n },\n });\n }),\n http.get('/admin/users/me/permissions', () => HttpResponse.json({ data: [] })),\n http.get('/admin/users/me/sessions', () =>\n HttpResponse.json({\n data: [\n {\n id: 'session-current',\n deviceId: 'device-aaaaaaaa',\n deviceName: 'Chrome on macOS',\n current: true,\n loginAt: '2026-06-12T08:00:00.000Z',\n lastActiveAt: '2026-06-12T10:00:00.000Z',\n },\n {\n id: 'session-other',\n deviceId: 'device-bbbbbbbb',\n current: false,\n loginAt: '2026-06-10T08:00:00.000Z',\n lastActiveAt: '2026-06-11T09:00:00.000Z',\n },\n ],\n })\n ),\n http.delete('/admin/users/me/sessions/:sessionId', () => HttpResponse.json({ data: {} })),\n http.delete('/admin/users/me/sessions', () => HttpResponse.json({ data: {} })),\n /**\n *\n * ADMIN PROVIDERS\n *\n */\n http.get('/admin/providers/isSSOLocked', () => {\n return HttpResponse.json({\n data: {\n isSSOLocked: false,\n },\n });\n }),\n http.put('/admin/providers/options', () =>\n HttpResponse.json({\n data: {\n autoRegister: false,\n defaultRole: '1',\n ssoLockedRoles: ['1', '2', '3'],\n },\n })\n ),\n http.get('/admin/providers/options', () =>\n HttpResponse.json({\n data: {\n autoRegister: false,\n defaultRole: '1',\n ssoLockedRoles: ['1', '2'],\n },\n })\n ),\n /**\n *\n * ADMIN PERMISSIONS\n *\n */\n http.get('/admin/permissions', ({ request }) => {\n const role = new URL(request.url).searchParams.get('role');\n\n const permissionsData = {\n conditions: [\n {\n id: 'admin::is-creator',\n displayName: 'Is creator',\n category: 'default',\n },\n ],\n sections: {\n collectionTypes: {\n actions: [],\n subjects: [],\n },\n singleTypes: {\n actions: [],\n subjects: [],\n },\n plugins: [],\n settings: [\n {\n displayName: 'Access the Email Settings page',\n category: 'email',\n subCategory: 'general',\n action: 'plugin::email.settings.read',\n },\n ],\n },\n };\n\n // role === '' used by AdminPermissions (token permission layout, no role scoping)\n if (role === '1' || role === '') {\n return HttpResponse.json({ data: permissionsData });\n }\n\n return new HttpResponse(null, { status: 404 });\n }),\n /**\n *\n * ADMIN MISC\n *\n */\n http.get('/admin/init', () => {\n return HttpResponse.json({\n data: {},\n });\n }),\n http.get('/admin/information', () =>\n HttpResponse.json({\n autoReload: true,\n communityEdition: false,\n currentEnvironment: 'development',\n nodeVersion: 'v14.13.1',\n strapiVersion: '3.6.0',\n })\n ),\n http.get('/admin/license-limit-information', () => {\n return HttpResponse.json({\n data: {\n attribute: 1,\n\n features: [{ name: 'sso' }, { name: 'audit-logs', options: { retentionDays: 1 } }],\n },\n });\n }),\n http.get('/admin/project-settings', () => {\n return HttpResponse.json({\n menuLogo: {\n ext: '.svg',\n height: 256,\n name: 'michka.svg',\n size: 1.3,\n url: '/uploads/michka.svg',\n width: 256,\n },\n });\n }),\n http.post('/admin/project-settings', () => {\n return HttpResponse.json({\n menuLogo: {\n ext: '.svg',\n height: 256,\n name: 'michka.svg',\n size: 1.3,\n url: '/uploads/michka.svg',\n width: 256,\n },\n });\n }),\n http.get('/admin/transfer/tokens', () => {\n return HttpResponse.json({\n data: [\n {\n id: 1,\n name: 'My super token',\n description: 'This describe my super token',\n type: 'read-only',\n createdAt: '2021-11-15T00:00:00.000Z',\n permissions: [],\n },\n ],\n });\n }),\n http.get('/admin/transfer/tokens/:id', () => {\n return HttpResponse.json({\n data: {\n id: 1,\n name: 'My super token',\n description: 'This describe my super token',\n type: 'read-only',\n createdAt: '2021-11-15T00:00:00.000Z',\n permissions: [],\n },\n });\n }),\n http.get('/admin/registration-info', ({ request }) => {\n const token = new URL(request.url).searchParams.get('registrationToken');\n\n if (token === 'error') {\n return HttpResponse.json({}, { status: 500 });\n }\n\n return HttpResponse.json({\n data: {\n firstname: 'Token firstname',\n lastname: 'Token lastname',\n email: 'test+register-token@strapi.io',\n },\n });\n }),\n http.post('/admin/renew-token', () => {\n return HttpResponse.json({\n data: {\n token: 'renewed-test-token',\n },\n });\n }),\n http.get('/admin/guided-tour-meta', () => {\n return HttpResponse.json({\n data: {\n isFirstSuperAdminUser: false,\n completedActions: [],\n },\n });\n }),\n /**\n * WEBHOOKS\n */\n http.get('/admin/webhooks', () => {\n return HttpResponse.json({\n data: mockData.webhooks,\n });\n }),\n http.post<Record<string, never>, { ids: number[] }>(\n '/admin/webhooks/batch-delete',\n async ({ request }) => {\n const { ids } = await request.json();\n\n return HttpResponse.json({\n data: mockData.webhooks.filter((webhook) => !ids.includes(webhook.id)),\n });\n }\n ),\n http.put<{ id: string }, { isEnabled: boolean }>(\n '/admin/webhooks/:id',\n async ({ request, params }) => {\n const { id } = params;\n const { isEnabled } = await request.json();\n\n return HttpResponse.json({\n data: mockData.webhooks.map((webhook) =>\n webhook.id === Number(id) ? { ...webhook, isEnabled } : webhook\n ),\n });\n }\n ),\n /**\n *\n * CONTENT_MANAGER\n *\n */\n http.get('/content-manager/content-types', () =>\n HttpResponse.json({\n data: [\n {\n uid: 'admin::collectionType',\n isDisplayed: true,\n apiID: 'permission',\n kind: 'collectionType',\n },\n\n {\n uid: 'admin::collectionTypeNotDispalyed',\n isDisplayed: false,\n apiID: 'permission',\n kind: 'collectionType',\n },\n\n {\n uid: 'admin::singleType',\n isDisplayed: true,\n kind: 'singleType',\n },\n\n {\n uid: 'admin::singleTypeNotDispalyed',\n isDisplayed: false,\n kind: 'singleType',\n },\n ],\n })\n ),\n http.get('/content-manager/components', () =>\n HttpResponse.json({\n data: [\n {\n uid: 'basic.relation',\n isDisplayed: true,\n apiID: 'relation',\n category: 'basic',\n info: {\n displayName: 'Relation',\n },\n options: {},\n attributes: {\n id: {\n type: 'integer',\n },\n categories: {\n type: 'relation',\n relation: 'oneToMany',\n target: 'api::category.category',\n targetModel: 'api::category.category',\n relationType: 'oneToMany',\n },\n },\n },\n ],\n })\n ),\n /**\n *\n * NPS SURVEY\n *\n */\n http.post('https://analytics.strapi.io/submit-nps', () => {\n return new HttpResponse();\n }),\n /**\n * CONTENT-API (API TOKENS)\n */\n http.get('/admin/content-api/permissions', () => {\n return HttpResponse.json({\n data: {\n 'api::address': {\n controllers: {\n address: ['find', 'findOne'],\n },\n },\n 'plugin::myplugin': {\n controllers: {\n test: ['findOne', 'find'],\n },\n },\n },\n });\n }),\n http.get('/admin/content-api/routes', () => {\n return HttpResponse.json({\n data: {\n 'api::address': [\n {\n method: 'GET',\n path: '/api/addresses',\n handler: 'api::address.address.find',\n config: {\n auth: {\n scope: ['api::address.address.find'],\n },\n },\n info: {\n apiName: 'address',\n type: 'content-api',\n },\n },\n {\n method: 'GET',\n path: '/api/addresses/:id',\n handler: 'api::address.address.findOne',\n config: {\n auth: {\n scope: ['api::address.address.findOne'],\n },\n },\n info: {\n apiName: 'address',\n type: 'content-api',\n },\n },\n ],\n 'plugin::myplugin': [\n {\n method: 'GET',\n path: '/api/myplugin/tests',\n handler: 'plugin::myplugin.test.find',\n config: {\n auth: {\n scope: ['plugin::myplugin.test.find'],\n },\n },\n info: {\n pluginName: 'myplugin',\n type: 'content-api',\n },\n },\n {\n method: 'GET',\n path: '/api/myplugin/tests/:id',\n handler: 'plugin::myplugin.test.findOne',\n config: {\n auth: {\n scope: ['plugin::myplugin.test.findOne'],\n },\n },\n info: {\n pluginName: 'myplugin',\n type: 'content-api',\n },\n },\n ],\n },\n });\n }),\n /**\n * API TOKENS\n */\n http.get('/admin/api-tokens', () => {\n return HttpResponse.json({\n data: [\n {\n id: '1',\n name: 'My super token',\n description: 'This describe my super token',\n kind: 'content-api',\n type: 'read-only',\n createdAt: '2021-11-15T00:00:00.000Z',\n permissions: [],\n },\n ],\n });\n }),\n http.get('/admin/api-tokens/:id', ({ params }) => {\n const { id } = params;\n\n if (id === '2') {\n return HttpResponse.json({\n data: {\n id: '2',\n name: 'My admin token',\n description: 'This is an admin token',\n kind: 'admin',\n adminPermissions: [],\n adminUserOwner: {\n id: 1,\n firstname: 'John',\n lastname: 'Doe',\n email: 'john@example.com',\n },\n createdAt: '2021-11-15T00:00:00.000Z',\n },\n });\n }\n\n return HttpResponse.json({\n data: {\n id: '1',\n name: 'My super token',\n description: 'This describe my super token',\n kind: 'content-api',\n type: 'read-only',\n createdAt: '2021-11-15T00:00:00.000Z',\n permissions: [],\n },\n });\n }),\n /**\n * ADMIN TOKENS\n */\n http.get('/admin/admin-tokens', () => {\n return HttpResponse.json({\n data: [\n {\n id: '1',\n name: 'My admin token',\n description: 'This is an admin token',\n kind: 'admin',\n adminPermissions: [],\n adminUserOwner: {\n id: 1,\n firstname: 'John',\n lastname: 'Doe',\n email: 'john@example.com',\n },\n createdAt: '2021-11-15T00:00:00.000Z',\n },\n ],\n });\n }),\n http.get('/admin/admin-tokens/:id', () => {\n return HttpResponse.json({\n data: {\n id: '1',\n name: 'My admin token',\n description: 'This is an admin token',\n kind: 'admin',\n adminPermissions: [],\n adminUserOwner: {\n id: 1,\n firstname: 'John',\n lastname: 'Doe',\n email: 'john@example.com',\n },\n createdAt: '2021-11-15T00:00:00.000Z',\n },\n });\n }),\n http.get('/admin/admin-tokens/:id/owner-permissions', () => {\n return HttpResponse.json({ data: [] });\n }),\n /**\n * Audit Logs\n */\n http.get('/admin/audit-logs', () => {\n return HttpResponse.json({\n results: [\n {\n id: 1,\n action: 'admin.logout',\n date: '2023-10-31T15:56:54.873Z',\n payload: {\n user: {\n id: 1,\n firstname: 'test',\n lastname: 'testing',\n username: null,\n email: 'test@testing.com',\n isActive: true,\n blocked: false,\n preferedLanguage: null,\n createdAt: '2023-10-26T19:19:38.245Z',\n updatedAt: '2023-10-26T19:19:38.245Z',\n roles: [\n {\n id: 1,\n name: 'Super Admin',\n description: 'Super Admins can access and manage all features and settings.',\n code: 'strapi-super-admin',\n },\n ],\n },\n },\n user: {\n id: 1,\n email: 'test@testing.com',\n displayName: 'test testing',\n },\n },\n {\n id: 2,\n action: 'user.create',\n date: '2023-10-31T15:57:38.957Z',\n payload: {\n user: {\n id: 2,\n firstname: 'editor',\n lastname: 'test',\n username: null,\n email: 'editor@testing.com',\n isActive: true,\n blocked: false,\n preferedLanguage: null,\n createdAt: '2023-10-31T15:57:38.948Z',\n updatedAt: '2023-10-31T15:57:38.948Z',\n roles: [\n {\n id: 2,\n name: 'Editor',\n description:\n 'Editors can manage and publish contents including those of other users.',\n code: 'strapi-editor',\n },\n ],\n },\n },\n user: {\n id: 1,\n email: 'test@testing.com',\n displayName: 'test testing',\n },\n },\n ],\n pagination: {\n page: 1,\n pageSize: 2,\n pageCount: 1,\n total: 2,\n },\n });\n }),\n http.get('/admin/audit-logs/:id', () => {\n return HttpResponse.json({\n id: 1,\n action: 'admin.logout',\n date: '2023-10-31T15:56:54.873Z',\n payload: {\n user: {\n id: 1,\n firstname: 'test',\n lastname: 'testing',\n username: null,\n email: 'test@testing.com',\n isActive: true,\n blocked: false,\n preferedLanguage: null,\n createdAt: '2023-10-26T19:19:38.245Z',\n updatedAt: '2023-10-26T19:19:38.245Z',\n roles: [\n {\n id: 1,\n name: 'Super Admin',\n description: 'Super Admins can access and manage all features and settings.',\n code: 'strapi-super-admin',\n },\n ],\n },\n },\n user: {\n id: 1,\n email: 'test@testing.com',\n displayName: 'test testing',\n },\n });\n }),\n /**\n *\n * fetchClient, useFetchClient and getFetchClient\n *\n */\n http.get('/use-fetch-client-test', () => {\n return HttpResponse.json({\n data: {\n results: [\n { id: 2, name: 'newest', publishedAt: null },\n { id: 1, name: 'oldest', publishedAt: null },\n ],\n pagination: { page: 1, pageCount: 10 },\n },\n });\n }),\n http.get('/test-fetch-client', () => {\n return new HttpResponse();\n }),\n ]\n);\n"],"names":["server","setupServer","http","post","HttpResponse","get","json","data","id","code","name","request","params","filters","URL","url","searchParams","action","subject","properties","fields","conditions","results","firstname","lastname","roles","pagination","page","emai","some","email","username","preferedLanguage","deviceId","deviceName","current","loginAt","lastActiveAt","delete","isSSOLocked","put","autoRegister","defaultRole","ssoLockedRoles","role","permissionsData","displayName","category","sections","collectionTypes","actions","subjects","singleTypes","plugins","settings","subCategory","status","autoReload","communityEdition","currentEnvironment","nodeVersion","strapiVersion","attribute","features","options","retentionDays","menuLogo","ext","height","size","width","description","type","createdAt","permissions","token","isFirstSuperAdminUser","completedActions","mockData","webhooks","ids","filter","webhook","includes","isEnabled","map","Number","uid","isDisplayed","apiID","kind","info","attributes","categories","relation","target","targetModel","relationType","controllers","address","test","method","path","handler","config","auth","scope","apiName","pluginName","adminPermissions","adminUserOwner","date","payload","user","isActive","blocked","updatedAt","pageSize","pageCount","total","publishedAt"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sources":["../../../../admin/tests/server.ts"],"sourcesContent":["import { http, HttpResponse } from 'msw';\nimport { type SetupServer, setupServer } from 'msw/node';\n\nimport { mockData } from './mockData';\n\nexport const server: SetupServer = setupServer(\n ...[\n /**\n * TRACKING\n */\n http.post('https://analytics.strapi.io/api/v2/track', () => {\n return new HttpResponse();\n }),\n /**\n *\n * ADMIN ROLES\n *\n */\n http.get('/admin/roles', () =>\n HttpResponse.json({\n data: [\n {\n id: 1,\n code: 'strapi-editor',\n name: 'Editor',\n },\n {\n id: 2,\n code: 'strapi-author',\n name: 'Author',\n },\n ],\n })\n ),\n\n http.get('/admin/roles/1', ({ request }) =>\n HttpResponse.json({\n data: {\n id: 1,\n code: 'strapi-editor',\n params: {\n filters: new URL(request.url).searchParams.get('filters'),\n },\n },\n })\n ),\n http.get('/admin/roles/:id/permissions', ({ request }) => {\n return HttpResponse.json({\n data: [\n {\n id: 1,\n action: 'plugin::content-manager.explorer.create',\n subject: 'api::address.address',\n properties: {\n fields: ['postal_code', 'categories'],\n },\n conditions: [],\n\n params: {\n filters: new URL(request.url).searchParams.get('filters'),\n },\n },\n ],\n });\n }),\n /**\n *\n * ADMIN USERS\n *\n */\n http.get('/admin/users', () => {\n return HttpResponse.json({\n data: {\n results: [\n { id: 1, firstname: 'John', lastname: 'Doe', roles: [] },\n { id: 2, firstname: 'Kai', lastname: 'Doe', roles: [] },\n ],\n pagination: {\n page: 1,\n },\n },\n });\n }),\n http.get('/admin/users/1', ({ request }) =>\n HttpResponse.json({\n data: {\n id: 1,\n firstname: 'John',\n lastname: 'Doe',\n emai: 'test@testing.com',\n roles: [\n { id: 1, code: 'strapi-editor', name: 'Editor' },\n { id: 2, code: 'strapi-super-admin', name: 'Super Admin' },\n ],\n params: {\n some: new URL(request.url).searchParams.get('some'),\n },\n },\n })\n ),\n http.get('/admin/users/me', () => {\n return HttpResponse.json({\n data: {\n id: 1,\n email: 'michka@michka.fr',\n firstname: 'michoko',\n lastname: 'ronronscelestes',\n username: 'yolo',\n preferedLanguage: 'en',\n roles: [\n {\n id: 2,\n },\n ],\n },\n });\n }),\n http.get('/admin/users/me/permissions', () => HttpResponse.json({ data: [] })),\n http.get('/admin/users/me/sessions', () =>\n HttpResponse.json({\n data: [\n {\n id: 'session-current',\n deviceId: 'device-aaaaaaaa',\n deviceName: 'Chrome on macOS',\n current: true,\n loginAt: '2026-06-12T08:00:00.000Z',\n lastActiveAt: '2026-06-12T10:00:00.000Z',\n },\n {\n id: 'session-other',\n deviceId: 'device-bbbbbbbb',\n current: false,\n loginAt: '2026-06-10T08:00:00.000Z',\n lastActiveAt: '2026-06-11T09:00:00.000Z',\n },\n ],\n })\n ),\n http.delete('/admin/users/me/sessions/:sessionId', () => HttpResponse.json({ data: {} })),\n http.delete('/admin/users/me/sessions', () => HttpResponse.json({ data: {} })),\n /**\n *\n * ADMIN PROVIDERS\n *\n */\n http.get('/admin/providers/isSSOLocked', () => {\n return HttpResponse.json({\n data: {\n isSSOLocked: false,\n },\n });\n }),\n http.put('/admin/providers/options', () =>\n HttpResponse.json({\n data: {\n autoRegister: false,\n defaultRole: '1',\n ssoLockedRoles: ['1', '2', '3'],\n },\n })\n ),\n http.get('/admin/providers/options', () =>\n HttpResponse.json({\n data: {\n autoRegister: false,\n defaultRole: '1',\n ssoLockedRoles: ['1', '2'],\n },\n })\n ),\n /**\n *\n * ADMIN PERMISSIONS\n *\n */\n http.get('/admin/permissions', ({ request }) => {\n const role = new URL(request.url).searchParams.get('role');\n\n const permissionsData = {\n conditions: [\n {\n id: 'admin::is-creator',\n displayName: 'Is creator',\n category: 'default',\n },\n ],\n sections: {\n collectionTypes: {\n actions: [],\n subjects: [],\n },\n singleTypes: {\n actions: [],\n subjects: [],\n },\n plugins: [],\n settings: [\n {\n displayName: 'Access the Email Settings page',\n category: 'email',\n subCategory: 'general',\n action: 'plugin::email.settings.read',\n },\n ],\n },\n };\n\n // role === '' used by AdminPermissions (token permission layout, no role scoping)\n if (role === '1' || role === '') {\n return HttpResponse.json({ data: permissionsData });\n }\n\n return new HttpResponse(null, { status: 404 });\n }),\n /**\n *\n * ADMIN MISC\n *\n */\n http.get('/admin/init', () => {\n return HttpResponse.json({\n data: {},\n });\n }),\n http.get('/admin/information', () =>\n HttpResponse.json({\n autoReload: true,\n communityEdition: false,\n currentEnvironment: 'development',\n nodeVersion: 'v14.13.1',\n strapiVersion: '3.6.0',\n })\n ),\n http.get('/admin/license-limit-information', () => {\n return HttpResponse.json({\n data: {\n attribute: 1,\n\n features: [{ name: 'sso' }, { name: 'audit-logs', options: { retentionDays: 1 } }],\n },\n });\n }),\n http.get('/admin/project-settings', () => {\n return HttpResponse.json({\n menuLogo: {\n ext: '.svg',\n height: 256,\n name: 'michka.svg',\n size: 1.3,\n url: '/uploads/michka.svg',\n width: 256,\n },\n });\n }),\n http.post('/admin/project-settings', () => {\n return HttpResponse.json({\n menuLogo: {\n ext: '.svg',\n height: 256,\n name: 'michka.svg',\n size: 1.3,\n url: '/uploads/michka.svg',\n width: 256,\n },\n });\n }),\n http.get('/admin/transfer/tokens', () => {\n return HttpResponse.json({\n data: [\n {\n id: 1,\n name: 'My super token',\n description: 'This describe my super token',\n type: 'read-only',\n createdAt: '2021-11-15T00:00:00.000Z',\n permissions: [],\n },\n ],\n });\n }),\n http.get('/admin/transfer/tokens/:id', () => {\n return HttpResponse.json({\n data: {\n id: 1,\n name: 'My super token',\n description: 'This describe my super token',\n type: 'read-only',\n createdAt: '2021-11-15T00:00:00.000Z',\n permissions: [],\n },\n });\n }),\n http.get('/admin/registration-info', ({ request }) => {\n const token = new URL(request.url).searchParams.get('registrationToken');\n\n if (token === 'error') {\n return HttpResponse.json({}, { status: 500 });\n }\n\n return HttpResponse.json({\n data: {\n firstname: 'Token firstname',\n lastname: 'Token lastname',\n email: 'test+register-token@strapi.io',\n },\n });\n }),\n http.post('/admin/renew-token', () => {\n return HttpResponse.json({\n data: {\n token: 'renewed-test-token',\n },\n });\n }),\n http.get('/admin/guided-tour-meta', () => {\n return HttpResponse.json({\n data: {\n isFirstSuperAdminUser: false,\n completedActions: [],\n },\n });\n }),\n /**\n * WEBHOOKS\n */\n http.get('/admin/webhooks', () => {\n return HttpResponse.json({\n data: mockData.webhooks,\n });\n }),\n http.post<Record<string, never>, { ids: number[] }>(\n '/admin/webhooks/batch-delete',\n async ({ request }) => {\n const { ids } = await request.json();\n\n return HttpResponse.json({\n data: mockData.webhooks.filter((webhook) => !ids.includes(webhook.id)),\n });\n }\n ),\n http.put<{ id: string }, { isEnabled: boolean }>(\n '/admin/webhooks/:id',\n async ({ request, params }) => {\n const { id } = params;\n const { isEnabled } = await request.json();\n\n return HttpResponse.json({\n data: mockData.webhooks.map((webhook) =>\n webhook.id === Number(id) ? { ...webhook, isEnabled } : webhook\n ),\n });\n }\n ),\n /**\n *\n * CONTENT_MANAGER\n *\n */\n http.get('/content-manager/content-types', () =>\n HttpResponse.json({\n data: [\n {\n uid: 'admin::collectionType',\n isDisplayed: true,\n apiID: 'permission',\n kind: 'collectionType',\n },\n\n {\n uid: 'admin::collectionTypeNotDispalyed',\n isDisplayed: false,\n apiID: 'permission',\n kind: 'collectionType',\n },\n\n {\n uid: 'admin::singleType',\n isDisplayed: true,\n kind: 'singleType',\n },\n\n {\n uid: 'admin::singleTypeNotDispalyed',\n isDisplayed: false,\n kind: 'singleType',\n },\n ],\n })\n ),\n http.get('/content-manager/components', () =>\n HttpResponse.json({\n data: [\n {\n uid: 'basic.relation',\n isDisplayed: true,\n apiID: 'relation',\n category: 'basic',\n info: {\n displayName: 'Relation',\n },\n options: {},\n attributes: {\n id: {\n type: 'integer',\n },\n categories: {\n type: 'relation',\n relation: 'oneToMany',\n target: 'api::category.category',\n targetModel: 'api::category.category',\n relationType: 'oneToMany',\n },\n },\n },\n ],\n })\n ),\n /**\n *\n * NPS SURVEY\n *\n */\n http.post('https://analytics.strapi.io/submit-nps', () => {\n return new HttpResponse();\n }),\n /**\n * CONTENT-API (API TOKENS)\n */\n http.get('/admin/content-api/permissions', () => {\n return HttpResponse.json({\n data: {\n 'api::address': {\n controllers: {\n address: ['find', 'findOne'],\n },\n },\n 'plugin::myplugin': {\n controllers: {\n test: ['findOne', 'find'],\n },\n },\n },\n });\n }),\n http.get('/admin/content-api/routes', () => {\n return HttpResponse.json({\n data: {\n 'api::address': [\n {\n method: 'GET',\n path: '/api/addresses',\n handler: 'api::address.address.find',\n config: {\n auth: {\n scope: ['api::address.address.find'],\n },\n },\n info: {\n apiName: 'address',\n type: 'content-api',\n },\n },\n {\n method: 'GET',\n path: '/api/addresses/:id',\n handler: 'api::address.address.findOne',\n config: {\n auth: {\n scope: ['api::address.address.findOne'],\n },\n },\n info: {\n apiName: 'address',\n type: 'content-api',\n },\n },\n ],\n 'plugin::myplugin': [\n {\n method: 'GET',\n path: '/api/myplugin/tests',\n handler: 'plugin::myplugin.test.find',\n config: {\n auth: {\n scope: ['plugin::myplugin.test.find'],\n },\n },\n info: {\n pluginName: 'myplugin',\n type: 'content-api',\n },\n },\n {\n method: 'GET',\n path: '/api/myplugin/tests/:id',\n handler: 'plugin::myplugin.test.findOne',\n config: {\n auth: {\n scope: ['plugin::myplugin.test.findOne'],\n },\n },\n info: {\n pluginName: 'myplugin',\n type: 'content-api',\n },\n },\n ],\n },\n });\n }),\n /**\n * API TOKENS\n */\n http.get('/admin/api-tokens', () => {\n return HttpResponse.json({\n data: [\n {\n id: '1',\n name: 'My super token',\n description: 'This describe my super token',\n kind: 'content-api',\n type: 'read-only',\n createdAt: '2021-11-15T00:00:00.000Z',\n permissions: [],\n },\n ],\n });\n }),\n http.get('/admin/api-tokens/:id', ({ params }) => {\n const { id } = params;\n\n if (id === '2') {\n return HttpResponse.json({\n data: {\n id: '2',\n name: 'My admin token',\n description: 'This is an admin token',\n kind: 'admin',\n adminPermissions: [],\n adminUserOwner: {\n id: 1,\n firstname: 'John',\n lastname: 'Doe',\n email: 'john@example.com',\n },\n createdAt: '2021-11-15T00:00:00.000Z',\n },\n });\n }\n\n return HttpResponse.json({\n data: {\n id: '1',\n name: 'My super token',\n description: 'This describe my super token',\n kind: 'content-api',\n type: 'read-only',\n createdAt: '2021-11-15T00:00:00.000Z',\n permissions: [],\n },\n });\n }),\n /**\n * ADMIN TOKENS\n */\n http.get('/admin/admin-tokens', () => {\n return HttpResponse.json({\n data: [\n {\n id: '1',\n name: 'My admin token',\n description: 'This is an admin token',\n kind: 'admin',\n adminPermissions: [],\n adminUserOwner: {\n id: 1,\n firstname: 'John',\n lastname: 'Doe',\n email: 'john@example.com',\n },\n createdAt: '2021-11-15T00:00:00.000Z',\n },\n ],\n });\n }),\n http.get('/admin/admin-tokens/:id', () => {\n return HttpResponse.json({\n data: {\n id: '1',\n name: 'My admin token',\n description: 'This is an admin token',\n kind: 'admin',\n adminPermissions: [],\n adminUserOwner: {\n id: 1,\n firstname: 'John',\n lastname: 'Doe',\n email: 'john@example.com',\n },\n createdAt: '2021-11-15T00:00:00.000Z',\n },\n });\n }),\n http.get('/admin/admin-tokens/:id/owner-permissions', () => {\n return HttpResponse.json({ data: [] });\n }),\n /**\n * Audit Logs\n */\n http.get('/admin/audit-logs/users', () => {\n return HttpResponse.json({\n results: [\n { id: 1, email: 'john@testing.com', displayName: 'John Doe' },\n { id: 2, email: 'kai@testing.com', displayName: 'Kai Doe' },\n ],\n pagination: {\n page: 1,\n pageSize: 10,\n pageCount: 1,\n total: 2,\n },\n });\n }),\n http.get('/admin/audit-logs', () => {\n return HttpResponse.json({\n results: [\n {\n id: 1,\n action: 'admin.logout',\n date: '2023-10-31T15:56:54.873Z',\n payload: {\n user: {\n id: 1,\n firstname: 'test',\n lastname: 'testing',\n username: null,\n email: 'test@testing.com',\n isActive: true,\n blocked: false,\n preferedLanguage: null,\n createdAt: '2023-10-26T19:19:38.245Z',\n updatedAt: '2023-10-26T19:19:38.245Z',\n roles: [\n {\n id: 1,\n name: 'Super Admin',\n description: 'Super Admins can access and manage all features and settings.',\n code: 'strapi-super-admin',\n },\n ],\n },\n },\n user: {\n id: 1,\n email: 'test@testing.com',\n displayName: 'test testing',\n },\n },\n {\n id: 2,\n action: 'user.create',\n date: '2023-10-31T15:57:38.957Z',\n payload: {\n user: {\n id: 2,\n firstname: 'editor',\n lastname: 'test',\n username: null,\n email: 'editor@testing.com',\n isActive: true,\n blocked: false,\n preferedLanguage: null,\n createdAt: '2023-10-31T15:57:38.948Z',\n updatedAt: '2023-10-31T15:57:38.948Z',\n roles: [\n {\n id: 2,\n name: 'Editor',\n description:\n 'Editors can manage and publish contents including those of other users.',\n code: 'strapi-editor',\n },\n ],\n },\n },\n user: {\n id: 1,\n email: 'test@testing.com',\n displayName: 'test testing',\n },\n },\n ],\n pagination: {\n page: 1,\n pageSize: 2,\n pageCount: 1,\n total: 2,\n },\n });\n }),\n http.get('/admin/audit-logs/:id', () => {\n return HttpResponse.json({\n id: 1,\n action: 'admin.logout',\n date: '2023-10-31T15:56:54.873Z',\n payload: {\n user: {\n id: 1,\n firstname: 'test',\n lastname: 'testing',\n username: null,\n email: 'test@testing.com',\n isActive: true,\n blocked: false,\n preferedLanguage: null,\n createdAt: '2023-10-26T19:19:38.245Z',\n updatedAt: '2023-10-26T19:19:38.245Z',\n roles: [\n {\n id: 1,\n name: 'Super Admin',\n description: 'Super Admins can access and manage all features and settings.',\n code: 'strapi-super-admin',\n },\n ],\n },\n },\n user: {\n id: 1,\n email: 'test@testing.com',\n displayName: 'test testing',\n },\n });\n }),\n /**\n *\n * fetchClient, useFetchClient and getFetchClient\n *\n */\n http.get('/use-fetch-client-test', () => {\n return HttpResponse.json({\n data: {\n results: [\n { id: 2, name: 'newest', publishedAt: null },\n { id: 1, name: 'oldest', publishedAt: null },\n ],\n pagination: { page: 1, pageCount: 10 },\n },\n });\n }),\n http.get('/test-fetch-client', () => {\n return new HttpResponse();\n }),\n ]\n);\n"],"names":["server","setupServer","http","post","HttpResponse","get","json","data","id","code","name","request","params","filters","URL","url","searchParams","action","subject","properties","fields","conditions","results","firstname","lastname","roles","pagination","page","emai","some","email","username","preferedLanguage","deviceId","deviceName","current","loginAt","lastActiveAt","delete","isSSOLocked","put","autoRegister","defaultRole","ssoLockedRoles","role","permissionsData","displayName","category","sections","collectionTypes","actions","subjects","singleTypes","plugins","settings","subCategory","status","autoReload","communityEdition","currentEnvironment","nodeVersion","strapiVersion","attribute","features","options","retentionDays","menuLogo","ext","height","size","width","description","type","createdAt","permissions","token","isFirstSuperAdminUser","completedActions","mockData","webhooks","ids","filter","webhook","includes","isEnabled","map","Number","uid","isDisplayed","apiID","kind","info","attributes","categories","relation","target","targetModel","relationType","controllers","address","test","method","path","handler","config","auth","scope","apiName","pluginName","adminPermissions","adminUserOwner","pageSize","pageCount","total","date","payload","user","isActive","blocked","updatedAt","publishedAt"],"mappings":"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"}
|
|
@@ -621,7 +621,29 @@ const server = setupServer(...[
|
|
|
621
621
|
}),
|
|
622
622
|
/**
|
|
623
623
|
* Audit Logs
|
|
624
|
-
*/ http.get('/admin/audit-logs', ()=>{
|
|
624
|
+
*/ http.get('/admin/audit-logs/users', ()=>{
|
|
625
|
+
return HttpResponse.json({
|
|
626
|
+
results: [
|
|
627
|
+
{
|
|
628
|
+
id: 1,
|
|
629
|
+
email: 'john@testing.com',
|
|
630
|
+
displayName: 'John Doe'
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
id: 2,
|
|
634
|
+
email: 'kai@testing.com',
|
|
635
|
+
displayName: 'Kai Doe'
|
|
636
|
+
}
|
|
637
|
+
],
|
|
638
|
+
pagination: {
|
|
639
|
+
page: 1,
|
|
640
|
+
pageSize: 10,
|
|
641
|
+
pageCount: 1,
|
|
642
|
+
total: 2
|
|
643
|
+
}
|
|
644
|
+
});
|
|
645
|
+
}),
|
|
646
|
+
http.get('/admin/audit-logs', ()=>{
|
|
625
647
|
return HttpResponse.json({
|
|
626
648
|
results: [
|
|
627
649
|
{
|