@strapi/admin 5.20.0 → 5.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/admin/src/StrapiApp.js +54 -8
- package/dist/admin/admin/src/StrapiApp.js.map +1 -1
- package/dist/admin/admin/src/StrapiApp.mjs +52 -6
- package/dist/admin/admin/src/StrapiApp.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.js +2 -0
- package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs +2 -0
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -1
- package/dist/admin/admin/src/components/Widgets.js +199 -0
- package/dist/admin/admin/src/components/Widgets.js.map +1 -1
- package/dist/admin/admin/src/components/Widgets.mjs +200 -2
- package/dist/admin/admin/src/components/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +32 -30
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +33 -31
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/services/admin.js +1 -2
- package/dist/admin/admin/src/services/admin.js.map +1 -1
- package/dist/admin/admin/src/services/admin.mjs +1 -2
- package/dist/admin/admin/src/services/admin.mjs.map +1 -1
- package/dist/admin/admin/src/services/api.js +4 -1
- package/dist/admin/admin/src/services/api.js.map +1 -1
- package/dist/admin/admin/src/services/api.mjs +4 -1
- package/dist/admin/admin/src/services/api.mjs.map +1 -1
- package/dist/admin/admin/src/services/apiTokens.js +5 -4
- package/dist/admin/admin/src/services/apiTokens.js.map +1 -1
- package/dist/admin/admin/src/services/apiTokens.mjs +5 -4
- package/dist/admin/admin/src/services/apiTokens.mjs.map +1 -1
- package/dist/admin/admin/src/services/homepage.js +31 -0
- package/dist/admin/admin/src/services/homepage.js.map +1 -0
- package/dist/admin/admin/src/services/homepage.mjs +28 -0
- package/dist/admin/admin/src/services/homepage.mjs.map +1 -0
- package/dist/admin/admin/src/services/users.js +4 -2
- package/dist/admin/admin/src/services/users.js.map +1 -1
- package/dist/admin/admin/src/services/users.mjs +4 -2
- package/dist/admin/admin/src/services/users.mjs.map +1 -1
- package/dist/admin/admin/src/services/webhooks.js +9 -5
- package/dist/admin/admin/src/services/webhooks.js.map +1 -1
- package/dist/admin/admin/src/services/webhooks.mjs +9 -5
- package/dist/admin/admin/src/services/webhooks.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +12 -0
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +12 -0
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/es.json.js +9 -0
- package/dist/admin/admin/src/translations/es.json.js.map +1 -1
- package/dist/admin/admin/src/translations/es.json.mjs +9 -0
- package/dist/admin/admin/src/translations/es.json.mjs.map +1 -1
- package/dist/admin/admin/src/translations/fr.json.js +9 -0
- package/dist/admin/admin/src/translations/fr.json.js.map +1 -1
- package/dist/admin/admin/src/translations/fr.json.mjs +9 -0
- package/dist/admin/admin/src/translations/fr.json.mjs.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js +131 -0
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -0
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs +129 -0
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs.map +1 -0
- package/dist/admin/ee/admin/src/constants.js +3 -1
- package/dist/admin/ee/admin/src/constants.js.map +1 -1
- package/dist/admin/ee/admin/src/constants.mjs +3 -2
- package/dist/admin/ee/admin/src/constants.mjs.map +1 -1
- package/dist/admin/index.js +2 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -0
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/components/Widgets.d.ts +2 -1
- package/dist/admin/src/core/apis/Widgets.d.ts +1 -0
- package/dist/admin/src/core/store/configure.d.ts +2 -2
- package/dist/admin/src/core/store/hooks.d.ts +2 -2
- package/dist/admin/src/features/Tracking.d.ts +1 -1
- package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/pages/Home/HomePage.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
- package/dist/admin/src/selectors.d.ts +2 -2
- package/dist/admin/src/services/admin.d.ts +6 -6
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/apiTokens.d.ts +1 -1
- package/dist/admin/src/services/auth.d.ts +10 -10
- package/dist/admin/src/services/contentApi.d.ts +1 -1
- package/dist/admin/src/services/contentManager.d.ts +1 -1
- package/dist/admin/src/services/homepage.d.ts +14 -0
- package/dist/admin/src/services/transferTokens.d.ts +1 -1
- package/dist/admin/src/services/users.d.ts +8 -8
- package/dist/admin/src/services/webhooks.d.ts +2 -2
- package/dist/admin/tests/utils.d.ts +1 -1
- package/dist/ee/admin/src/components/AuditLogs/Widgets.d.ts +2 -0
- package/dist/ee/admin/src/constants.d.ts +1 -0
- package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs.map +1 -1
- package/dist/server/server/src/controllers/homepage.js +15 -0
- package/dist/server/server/src/controllers/homepage.js.map +1 -0
- package/dist/server/server/src/controllers/homepage.mjs +13 -0
- package/dist/server/server/src/controllers/homepage.mjs.map +1 -0
- package/dist/server/server/src/controllers/index.js +3 -1
- package/dist/server/server/src/controllers/index.js.map +1 -1
- package/dist/server/server/src/controllers/index.mjs +3 -1
- package/dist/server/server/src/controllers/index.mjs.map +1 -1
- package/dist/server/server/src/routes/homepage.js +17 -0
- package/dist/server/server/src/routes/homepage.js.map +1 -0
- package/dist/server/server/src/routes/homepage.mjs +15 -0
- package/dist/server/server/src/routes/homepage.mjs.map +1 -0
- package/dist/server/server/src/routes/index.js +3 -1
- package/dist/server/server/src/routes/index.js.map +1 -1
- package/dist/server/server/src/routes/index.mjs +3 -1
- package/dist/server/server/src/routes/index.mjs.map +1 -1
- package/dist/server/server/src/services/homepage.js +34 -0
- package/dist/server/server/src/services/homepage.js.map +1 -0
- package/dist/server/server/src/services/homepage.mjs +32 -0
- package/dist/server/server/src/services/homepage.mjs.map +1 -0
- package/dist/server/server/src/services/index.js +3 -1
- package/dist/server/server/src/services/index.js.map +1 -1
- package/dist/server/server/src/services/index.mjs +3 -1
- package/dist/server/server/src/services/index.mjs.map +1 -1
- package/dist/server/src/controllers/homepage.d.ts +15 -0
- package/dist/server/src/controllers/homepage.d.ts.map +1 -0
- package/dist/server/src/controllers/index.d.ts +13 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +26 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/homepage.d.ts +10 -0
- package/dist/server/src/routes/homepage.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/services/homepage.d.ts +15 -0
- package/dist/server/src/services/homepage.d.ts.map +1 -0
- package/dist/server/src/services/index.d.ts +13 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/shared/contracts/homepage.d.ts +30 -0
- package/dist/shared/contracts/homepage.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
|
5
|
+
var designSystem = require('@strapi/design-system');
|
|
6
|
+
var icons = require('@strapi/icons');
|
|
7
|
+
var reactIntl = require('react-intl');
|
|
8
|
+
var reactRouterDom = require('react-router-dom');
|
|
9
|
+
var styled = require('styled-components');
|
|
10
|
+
var RelativeTime$1 = require('../../../../../admin/src/components/RelativeTime.js');
|
|
11
|
+
var useQueryParams = require('../../../../../admin/src/hooks/useQueryParams.js');
|
|
12
|
+
var constants = require('../../constants.js');
|
|
13
|
+
var getActionTypesDefaultMessages = require('../../pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.js');
|
|
14
|
+
var auditLogs = require('../../services/auditLogs.js');
|
|
15
|
+
|
|
16
|
+
const RelativeTime = styled.styled(RelativeTime$1.RelativeTime)`
|
|
17
|
+
display: inline-block;
|
|
18
|
+
|
|
19
|
+
&::first-letter {
|
|
20
|
+
text-transform: uppercase;
|
|
21
|
+
}
|
|
22
|
+
`;
|
|
23
|
+
const LastActivityTable = ({ items })=>{
|
|
24
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
25
|
+
const { trackUsage } = strapiAdmin.useTracking();
|
|
26
|
+
const navigate = reactRouterDom.useNavigate();
|
|
27
|
+
const getAuditLogDetailsLink = (item)=>{
|
|
28
|
+
return `/settings/audit-logs?pageSize=${constants.AUDIT_LOGS_DEFAULT_PAGE_SIZE}&page=1&sort=date:DESC&id=${item.id}`;
|
|
29
|
+
};
|
|
30
|
+
const handleRowClick = (document)=>()=>{
|
|
31
|
+
trackUsage('willOpenAuditLogDetails');
|
|
32
|
+
const link = getAuditLogDetailsLink(document);
|
|
33
|
+
navigate(link);
|
|
34
|
+
};
|
|
35
|
+
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Table, {
|
|
36
|
+
colCount: 4,
|
|
37
|
+
rowCount: items?.length ?? 0,
|
|
38
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tbody, {
|
|
39
|
+
children: items?.map((item)=>{
|
|
40
|
+
const action = formatMessage({
|
|
41
|
+
id: `Settings.permissions.auditLogs.${item.action}`,
|
|
42
|
+
// @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.
|
|
43
|
+
defaultMessage: getActionTypesDefaultMessages.getDefaultMessage(item.action)
|
|
44
|
+
}, {
|
|
45
|
+
model: item.payload.model ?? ''
|
|
46
|
+
});
|
|
47
|
+
const userDisplayName = item.user?.displayName ?? '-';
|
|
48
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
|
|
49
|
+
onClick: handleRowClick(item),
|
|
50
|
+
cursor: "pointer",
|
|
51
|
+
children: [
|
|
52
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
53
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
54
|
+
title: action,
|
|
55
|
+
variant: "omega",
|
|
56
|
+
textColor: "neutral800",
|
|
57
|
+
children: action
|
|
58
|
+
})
|
|
59
|
+
}),
|
|
60
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
61
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
62
|
+
variant: "omega",
|
|
63
|
+
textColor: "neutral800",
|
|
64
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(RelativeTime, {
|
|
65
|
+
timestamp: new Date(item.date)
|
|
66
|
+
})
|
|
67
|
+
})
|
|
68
|
+
}),
|
|
69
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
70
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
71
|
+
title: userDisplayName,
|
|
72
|
+
variant: "omega",
|
|
73
|
+
textColor: "neutral800",
|
|
74
|
+
children: userDisplayName
|
|
75
|
+
})
|
|
76
|
+
}),
|
|
77
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
78
|
+
onClick: (e)=>e.stopPropagation(),
|
|
79
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
80
|
+
display: "inline-block",
|
|
81
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
|
|
82
|
+
tag: reactRouterDom.Link,
|
|
83
|
+
to: getAuditLogDetailsLink(item),
|
|
84
|
+
onClick: ()=>trackUsage('willOpenAuditLogDetails'),
|
|
85
|
+
label: formatMessage({
|
|
86
|
+
id: 'global.details',
|
|
87
|
+
defaultMessage: 'Details'
|
|
88
|
+
}),
|
|
89
|
+
variant: "ghost",
|
|
90
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(icons.Eye, {})
|
|
91
|
+
})
|
|
92
|
+
})
|
|
93
|
+
})
|
|
94
|
+
]
|
|
95
|
+
}, `lastActivity_auditLog_${item.id}`);
|
|
96
|
+
})
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
const AuditLogsWidget = ()=>{
|
|
101
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
102
|
+
const [{ query }] = useQueryParams.useQueryParams();
|
|
103
|
+
const { data, isLoading, error } = auditLogs.useGetAuditLogsQuery({
|
|
104
|
+
...query,
|
|
105
|
+
page: 1,
|
|
106
|
+
pageSize: 4,
|
|
107
|
+
sort: 'date:DESC'
|
|
108
|
+
}, {
|
|
109
|
+
refetchOnMountOrArgChange: true
|
|
110
|
+
});
|
|
111
|
+
if (isLoading) {
|
|
112
|
+
return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Widget.Loading, {});
|
|
113
|
+
}
|
|
114
|
+
if (error || !data?.results) {
|
|
115
|
+
return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Widget.Error, {});
|
|
116
|
+
}
|
|
117
|
+
if (data.results.length === 0) {
|
|
118
|
+
return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Widget.NoData, {
|
|
119
|
+
children: formatMessage({
|
|
120
|
+
id: 'widget.last-activity.no-activity',
|
|
121
|
+
defaultMessage: 'No activity'
|
|
122
|
+
})
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
return /*#__PURE__*/ jsxRuntime.jsx(LastActivityTable, {
|
|
126
|
+
items: data.results ?? []
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
exports.AuditLogsWidget = AuditLogsWidget;
|
|
131
|
+
//# sourceMappingURL=Widgets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Widgets.js","sources":["../../../../../../../ee/admin/src/components/AuditLogs/Widgets.tsx"],"sourcesContent":["import { useTracking, Widget } from '@strapi/admin/strapi-admin';\nimport { Box, IconButton, Table, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { RelativeTime as BaseRelativeTime } from '../../../../../admin/src/components/RelativeTime';\nimport { useQueryParams } from '../../../../../admin/src/hooks/useQueryParams';\nimport { AuditLog } from '../../../../../shared/contracts/audit-logs';\nimport { AUDIT_LOGS_DEFAULT_PAGE_SIZE } from '../../constants';\nimport { getDefaultMessage } from '../../pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages';\nimport { useGetAuditLogsQuery } from '../../services/auditLogs';\n\nconst RelativeTime = styled(BaseRelativeTime)`\n display: inline-block;\n\n &::first-letter {\n text-transform: uppercase;\n }\n`;\n\nconst LastActivityTable = ({ items }: { items: AuditLog[] }) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getAuditLogDetailsLink = (item: AuditLog): string => {\n return `/settings/audit-logs?pageSize=${AUDIT_LOGS_DEFAULT_PAGE_SIZE}&page=1&sort=date:DESC&id=${item.id}`;\n };\n\n const handleRowClick = (document: AuditLog) => () => {\n trackUsage('willOpenAuditLogDetails');\n const link = getAuditLogDetailsLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={4} rowCount={items?.length ?? 0}>\n <Tbody>\n {items?.map((item) => {\n const action = formatMessage(\n {\n id: `Settings.permissions.auditLogs.${item.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(item.action),\n },\n { model: (item.payload.model as string) ?? '' }\n );\n const userDisplayName = item.user?.displayName ?? '-';\n return (\n <Tr\n onClick={handleRowClick(item)}\n cursor=\"pointer\"\n key={`lastActivity_auditLog_${item.id}`}\n >\n <Td>\n <Typography title={action} variant=\"omega\" textColor=\"neutral800\">\n {action}\n </Typography>\n </Td>\n <Td>\n <Typography variant=\"omega\" textColor=\"neutral800\">\n <RelativeTime timestamp={new Date(item.date)} />\n </Typography>\n </Td>\n <Td>\n <Typography title={userDisplayName} variant=\"omega\" textColor=\"neutral800\">\n {userDisplayName}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getAuditLogDetailsLink(item)}\n onClick={() => trackUsage('willOpenAuditLogDetails')}\n label={formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n );\n};\n\nconst AuditLogsWidget = () => {\n const { formatMessage } = useIntl();\n const [{ query }] = useQueryParams();\n const { data, isLoading, error } = useGetAuditLogsQuery(\n {\n ...query,\n page: 1,\n pageSize: 4,\n sort: 'date:DESC',\n },\n {\n refetchOnMountOrArgChange: true,\n }\n );\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data?.results) {\n return <Widget.Error />;\n }\n\n if (data.results.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'widget.last-activity.no-activity',\n defaultMessage: 'No activity',\n })}\n </Widget.NoData>\n );\n }\n\n return <LastActivityTable items={data.results ?? []} />;\n};\n\nexport { AuditLogsWidget };\n"],"names":["RelativeTime","styled","BaseRelativeTime","LastActivityTable","items","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getAuditLogDetailsLink","item","AUDIT_LOGS_DEFAULT_PAGE_SIZE","id","handleRowClick","document","link","_jsx","Table","colCount","rowCount","length","Tbody","map","action","defaultMessage","getDefaultMessage","model","payload","userDisplayName","user","displayName","_jsxs","Tr","onClick","cursor","Td","Typography","title","variant","textColor","timestamp","Date","date","e","stopPropagation","Box","display","IconButton","tag","Link","to","label","Eye","AuditLogsWidget","query","useQueryParams","data","isLoading","error","useGetAuditLogsQuery","page","pageSize","sort","refetchOnMountOrArgChange","Widget","Loading","results","Error","NoData"],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { Widget, useTracking } from '@strapi/admin/strapi-admin';
|
|
3
|
+
import { Table, Tbody, Tr, Td, Typography, Box, IconButton } from '@strapi/design-system';
|
|
4
|
+
import { Eye } from '@strapi/icons';
|
|
5
|
+
import { useIntl } from 'react-intl';
|
|
6
|
+
import { useNavigate, Link } from 'react-router-dom';
|
|
7
|
+
import { styled } from 'styled-components';
|
|
8
|
+
import { RelativeTime as RelativeTime$1 } from '../../../../../admin/src/components/RelativeTime.mjs';
|
|
9
|
+
import { useQueryParams } from '../../../../../admin/src/hooks/useQueryParams.mjs';
|
|
10
|
+
import { AUDIT_LOGS_DEFAULT_PAGE_SIZE } from '../../constants.mjs';
|
|
11
|
+
import { getDefaultMessage } from '../../pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.mjs';
|
|
12
|
+
import { useGetAuditLogsQuery } from '../../services/auditLogs.mjs';
|
|
13
|
+
|
|
14
|
+
const RelativeTime = styled(RelativeTime$1)`
|
|
15
|
+
display: inline-block;
|
|
16
|
+
|
|
17
|
+
&::first-letter {
|
|
18
|
+
text-transform: uppercase;
|
|
19
|
+
}
|
|
20
|
+
`;
|
|
21
|
+
const LastActivityTable = ({ items })=>{
|
|
22
|
+
const { formatMessage } = useIntl();
|
|
23
|
+
const { trackUsage } = useTracking();
|
|
24
|
+
const navigate = useNavigate();
|
|
25
|
+
const getAuditLogDetailsLink = (item)=>{
|
|
26
|
+
return `/settings/audit-logs?pageSize=${AUDIT_LOGS_DEFAULT_PAGE_SIZE}&page=1&sort=date:DESC&id=${item.id}`;
|
|
27
|
+
};
|
|
28
|
+
const handleRowClick = (document)=>()=>{
|
|
29
|
+
trackUsage('willOpenAuditLogDetails');
|
|
30
|
+
const link = getAuditLogDetailsLink(document);
|
|
31
|
+
navigate(link);
|
|
32
|
+
};
|
|
33
|
+
return /*#__PURE__*/ jsx(Table, {
|
|
34
|
+
colCount: 4,
|
|
35
|
+
rowCount: items?.length ?? 0,
|
|
36
|
+
children: /*#__PURE__*/ jsx(Tbody, {
|
|
37
|
+
children: items?.map((item)=>{
|
|
38
|
+
const action = formatMessage({
|
|
39
|
+
id: `Settings.permissions.auditLogs.${item.action}`,
|
|
40
|
+
// @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.
|
|
41
|
+
defaultMessage: getDefaultMessage(item.action)
|
|
42
|
+
}, {
|
|
43
|
+
model: item.payload.model ?? ''
|
|
44
|
+
});
|
|
45
|
+
const userDisplayName = item.user?.displayName ?? '-';
|
|
46
|
+
return /*#__PURE__*/ jsxs(Tr, {
|
|
47
|
+
onClick: handleRowClick(item),
|
|
48
|
+
cursor: "pointer",
|
|
49
|
+
children: [
|
|
50
|
+
/*#__PURE__*/ jsx(Td, {
|
|
51
|
+
children: /*#__PURE__*/ jsx(Typography, {
|
|
52
|
+
title: action,
|
|
53
|
+
variant: "omega",
|
|
54
|
+
textColor: "neutral800",
|
|
55
|
+
children: action
|
|
56
|
+
})
|
|
57
|
+
}),
|
|
58
|
+
/*#__PURE__*/ jsx(Td, {
|
|
59
|
+
children: /*#__PURE__*/ jsx(Typography, {
|
|
60
|
+
variant: "omega",
|
|
61
|
+
textColor: "neutral800",
|
|
62
|
+
children: /*#__PURE__*/ jsx(RelativeTime, {
|
|
63
|
+
timestamp: new Date(item.date)
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
}),
|
|
67
|
+
/*#__PURE__*/ jsx(Td, {
|
|
68
|
+
children: /*#__PURE__*/ jsx(Typography, {
|
|
69
|
+
title: userDisplayName,
|
|
70
|
+
variant: "omega",
|
|
71
|
+
textColor: "neutral800",
|
|
72
|
+
children: userDisplayName
|
|
73
|
+
})
|
|
74
|
+
}),
|
|
75
|
+
/*#__PURE__*/ jsx(Td, {
|
|
76
|
+
onClick: (e)=>e.stopPropagation(),
|
|
77
|
+
children: /*#__PURE__*/ jsx(Box, {
|
|
78
|
+
display: "inline-block",
|
|
79
|
+
children: /*#__PURE__*/ jsx(IconButton, {
|
|
80
|
+
tag: Link,
|
|
81
|
+
to: getAuditLogDetailsLink(item),
|
|
82
|
+
onClick: ()=>trackUsage('willOpenAuditLogDetails'),
|
|
83
|
+
label: formatMessage({
|
|
84
|
+
id: 'global.details',
|
|
85
|
+
defaultMessage: 'Details'
|
|
86
|
+
}),
|
|
87
|
+
variant: "ghost",
|
|
88
|
+
children: /*#__PURE__*/ jsx(Eye, {})
|
|
89
|
+
})
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
]
|
|
93
|
+
}, `lastActivity_auditLog_${item.id}`);
|
|
94
|
+
})
|
|
95
|
+
})
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
const AuditLogsWidget = ()=>{
|
|
99
|
+
const { formatMessage } = useIntl();
|
|
100
|
+
const [{ query }] = useQueryParams();
|
|
101
|
+
const { data, isLoading, error } = useGetAuditLogsQuery({
|
|
102
|
+
...query,
|
|
103
|
+
page: 1,
|
|
104
|
+
pageSize: 4,
|
|
105
|
+
sort: 'date:DESC'
|
|
106
|
+
}, {
|
|
107
|
+
refetchOnMountOrArgChange: true
|
|
108
|
+
});
|
|
109
|
+
if (isLoading) {
|
|
110
|
+
return /*#__PURE__*/ jsx(Widget.Loading, {});
|
|
111
|
+
}
|
|
112
|
+
if (error || !data?.results) {
|
|
113
|
+
return /*#__PURE__*/ jsx(Widget.Error, {});
|
|
114
|
+
}
|
|
115
|
+
if (data.results.length === 0) {
|
|
116
|
+
return /*#__PURE__*/ jsx(Widget.NoData, {
|
|
117
|
+
children: formatMessage({
|
|
118
|
+
id: 'widget.last-activity.no-activity',
|
|
119
|
+
defaultMessage: 'No activity'
|
|
120
|
+
})
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
return /*#__PURE__*/ jsx(LastActivityTable, {
|
|
124
|
+
items: data.results ?? []
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
export { AuditLogsWidget };
|
|
129
|
+
//# sourceMappingURL=Widgets.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Widgets.mjs","sources":["../../../../../../../ee/admin/src/components/AuditLogs/Widgets.tsx"],"sourcesContent":["import { useTracking, Widget } from '@strapi/admin/strapi-admin';\nimport { Box, IconButton, Table, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { RelativeTime as BaseRelativeTime } from '../../../../../admin/src/components/RelativeTime';\nimport { useQueryParams } from '../../../../../admin/src/hooks/useQueryParams';\nimport { AuditLog } from '../../../../../shared/contracts/audit-logs';\nimport { AUDIT_LOGS_DEFAULT_PAGE_SIZE } from '../../constants';\nimport { getDefaultMessage } from '../../pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages';\nimport { useGetAuditLogsQuery } from '../../services/auditLogs';\n\nconst RelativeTime = styled(BaseRelativeTime)`\n display: inline-block;\n\n &::first-letter {\n text-transform: uppercase;\n }\n`;\n\nconst LastActivityTable = ({ items }: { items: AuditLog[] }) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getAuditLogDetailsLink = (item: AuditLog): string => {\n return `/settings/audit-logs?pageSize=${AUDIT_LOGS_DEFAULT_PAGE_SIZE}&page=1&sort=date:DESC&id=${item.id}`;\n };\n\n const handleRowClick = (document: AuditLog) => () => {\n trackUsage('willOpenAuditLogDetails');\n const link = getAuditLogDetailsLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={4} rowCount={items?.length ?? 0}>\n <Tbody>\n {items?.map((item) => {\n const action = formatMessage(\n {\n id: `Settings.permissions.auditLogs.${item.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(item.action),\n },\n { model: (item.payload.model as string) ?? '' }\n );\n const userDisplayName = item.user?.displayName ?? '-';\n return (\n <Tr\n onClick={handleRowClick(item)}\n cursor=\"pointer\"\n key={`lastActivity_auditLog_${item.id}`}\n >\n <Td>\n <Typography title={action} variant=\"omega\" textColor=\"neutral800\">\n {action}\n </Typography>\n </Td>\n <Td>\n <Typography variant=\"omega\" textColor=\"neutral800\">\n <RelativeTime timestamp={new Date(item.date)} />\n </Typography>\n </Td>\n <Td>\n <Typography title={userDisplayName} variant=\"omega\" textColor=\"neutral800\">\n {userDisplayName}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getAuditLogDetailsLink(item)}\n onClick={() => trackUsage('willOpenAuditLogDetails')}\n label={formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n );\n};\n\nconst AuditLogsWidget = () => {\n const { formatMessage } = useIntl();\n const [{ query }] = useQueryParams();\n const { data, isLoading, error } = useGetAuditLogsQuery(\n {\n ...query,\n page: 1,\n pageSize: 4,\n sort: 'date:DESC',\n },\n {\n refetchOnMountOrArgChange: true,\n }\n );\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data?.results) {\n return <Widget.Error />;\n }\n\n if (data.results.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'widget.last-activity.no-activity',\n defaultMessage: 'No activity',\n })}\n </Widget.NoData>\n );\n }\n\n return <LastActivityTable items={data.results ?? []} />;\n};\n\nexport { AuditLogsWidget };\n"],"names":["RelativeTime","styled","BaseRelativeTime","LastActivityTable","items","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getAuditLogDetailsLink","item","AUDIT_LOGS_DEFAULT_PAGE_SIZE","id","handleRowClick","document","link","_jsx","Table","colCount","rowCount","length","Tbody","map","action","defaultMessage","getDefaultMessage","model","payload","userDisplayName","user","displayName","_jsxs","Tr","onClick","cursor","Td","Typography","title","variant","textColor","timestamp","Date","date","e","stopPropagation","Box","display","IconButton","tag","Link","to","label","Eye","AuditLogsWidget","query","useQueryParams","data","isLoading","error","useGetAuditLogsQuery","page","pageSize","sort","refetchOnMountOrArgChange","Widget","Loading","results","Error","NoData"],"mappings":"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"}
|
|
@@ -105,6 +105,7 @@ const ADMIN_PERMISSIONS_EE = {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
] : [];
|
|
108
|
+
const AUDIT_LOGS_DEFAULT_PAGE_SIZE = 50;
|
|
108
109
|
// TODO: the constants.js file is imported before the React application is setup and
|
|
109
110
|
// therefore `window.strapi` might not exist at import-time. We should probably define
|
|
110
111
|
// which constant is available at which stage of the application lifecycle.
|
|
@@ -129,7 +130,7 @@ const SETTINGS_LINKS_EE = ()=>({
|
|
|
129
130
|
id: 'global.auditLogs',
|
|
130
131
|
defaultMessage: 'Audit Logs'
|
|
131
132
|
},
|
|
132
|
-
to:
|
|
133
|
+
to: `/settings/audit-logs?pageSize=${AUDIT_LOGS_DEFAULT_PAGE_SIZE}&page=1&sort=date:DESC`,
|
|
133
134
|
id: 'auditLogs',
|
|
134
135
|
licenseOnly: true
|
|
135
136
|
}
|
|
@@ -138,6 +139,7 @@ const SETTINGS_LINKS_EE = ()=>({
|
|
|
138
139
|
});
|
|
139
140
|
|
|
140
141
|
exports.ADMIN_PERMISSIONS_EE = ADMIN_PERMISSIONS_EE;
|
|
142
|
+
exports.AUDIT_LOGS_DEFAULT_PAGE_SIZE = AUDIT_LOGS_DEFAULT_PAGE_SIZE;
|
|
141
143
|
exports.SETTINGS_LINKS_EE = SETTINGS_LINKS_EE;
|
|
142
144
|
exports.getEERoutes = getEERoutes;
|
|
143
145
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to:
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\nexport const AUDIT_LOGS_DEFAULT_PAGE_SIZE = 50;\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: `/settings/audit-logs?pageSize=${AUDIT_LOGS_DEFAULT_PAGE_SIZE}&page=1&sort=date:DESC`,\n id: 'auditLogs',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_EE","settings","auditLogs","main","action","subject","read","update","create","delete","sso","releases","getEERoutes","window","strapi","isEE","path","lazy","AuthResponse","Component","AUDIT_LOGS_DEFAULT_PAGE_SIZE","SETTINGS_LINKS_EE","global","features","isEnabled","SSO","intlLabel","id","defaultMessage","to","licenseOnly","admin","AUDIT_LOGS"],"mappings":"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"}
|
|
@@ -103,6 +103,7 @@ const ADMIN_PERMISSIONS_EE = {
|
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
] : [];
|
|
106
|
+
const AUDIT_LOGS_DEFAULT_PAGE_SIZE = 50;
|
|
106
107
|
// TODO: the constants.js file is imported before the React application is setup and
|
|
107
108
|
// therefore `window.strapi` might not exist at import-time. We should probably define
|
|
108
109
|
// which constant is available at which stage of the application lifecycle.
|
|
@@ -127,7 +128,7 @@ const SETTINGS_LINKS_EE = ()=>({
|
|
|
127
128
|
id: 'global.auditLogs',
|
|
128
129
|
defaultMessage: 'Audit Logs'
|
|
129
130
|
},
|
|
130
|
-
to:
|
|
131
|
+
to: `/settings/audit-logs?pageSize=${AUDIT_LOGS_DEFAULT_PAGE_SIZE}&page=1&sort=date:DESC`,
|
|
131
132
|
id: 'auditLogs',
|
|
132
133
|
licenseOnly: true
|
|
133
134
|
}
|
|
@@ -135,5 +136,5 @@ const SETTINGS_LINKS_EE = ()=>({
|
|
|
135
136
|
]
|
|
136
137
|
});
|
|
137
138
|
|
|
138
|
-
export { ADMIN_PERMISSIONS_EE, SETTINGS_LINKS_EE, getEERoutes };
|
|
139
|
+
export { ADMIN_PERMISSIONS_EE, AUDIT_LOGS_DEFAULT_PAGE_SIZE, SETTINGS_LINKS_EE, getEERoutes };
|
|
139
140
|
//# sourceMappingURL=constants.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to:
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\nexport const AUDIT_LOGS_DEFAULT_PAGE_SIZE = 50;\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: `/settings/audit-logs?pageSize=${AUDIT_LOGS_DEFAULT_PAGE_SIZE}&page=1&sort=date:DESC`,\n id: 'auditLogs',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_EE","settings","auditLogs","main","action","subject","read","update","create","delete","sso","releases","getEERoutes","window","strapi","isEE","path","lazy","AuthResponse","Component","AUDIT_LOGS_DEFAULT_PAGE_SIZE","SETTINGS_LINKS_EE","global","features","isEnabled","SSO","intlLabel","id","defaultMessage","to","licenseOnly","admin","AUDIT_LOGS"],"mappings":"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"}
|
package/dist/admin/index.js
CHANGED
|
@@ -31,6 +31,7 @@ var useRBAC = require('./admin/src/hooks/useRBAC.js');
|
|
|
31
31
|
var useClipboard = require('./admin/src/hooks/useClipboard.js');
|
|
32
32
|
var useElementOnScreen = require('./admin/src/hooks/useElementOnScreen.js');
|
|
33
33
|
var users = require('./admin/src/services/users.js');
|
|
34
|
+
var homepage = require('./admin/src/services/homepage.js');
|
|
34
35
|
var translatedErrors = require('./admin/src/utils/translatedErrors.js');
|
|
35
36
|
var getFetchClient = require('./admin/src/utils/getFetchClient.js');
|
|
36
37
|
var baseQuery = require('./admin/src/utils/baseQuery.js');
|
|
@@ -78,6 +79,7 @@ exports.useRBAC = useRBAC.useRBAC;
|
|
|
78
79
|
exports.useClipboard = useClipboard.useClipboard;
|
|
79
80
|
exports.useElementOnScreen = useElementOnScreen.useElementOnScreen;
|
|
80
81
|
exports.useAdminUsers = users.useAdminUsers;
|
|
82
|
+
exports.useGetCountDocumentsQuery = homepage.useGetCountDocumentsQuery;
|
|
81
83
|
exports.translatedErrors = translatedErrors.translatedErrors;
|
|
82
84
|
exports.FetchError = getFetchClient.FetchError;
|
|
83
85
|
exports.getFetchClient = getFetchClient.getFetchClient;
|
package/dist/admin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/admin/index.mjs
CHANGED
|
@@ -29,6 +29,7 @@ export { useRBAC } from './admin/src/hooks/useRBAC.mjs';
|
|
|
29
29
|
export { useClipboard } from './admin/src/hooks/useClipboard.mjs';
|
|
30
30
|
export { useElementOnScreen } from './admin/src/hooks/useElementOnScreen.mjs';
|
|
31
31
|
export { useAdminUsers } from './admin/src/services/users.mjs';
|
|
32
|
+
export { useGetCountDocumentsQuery } from './admin/src/services/homepage.mjs';
|
|
32
33
|
export { translatedErrors } from './admin/src/utils/translatedErrors.mjs';
|
|
33
34
|
export { FetchError, getFetchClient, isFetchError } from './admin/src/utils/getFetchClient.mjs';
|
|
34
35
|
export { fetchBaseQuery, isBaseQueryError } from './admin/src/utils/baseQuery.mjs';
|
package/dist/admin/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -8,10 +8,10 @@ type PreloadState = Partial<{
|
|
|
8
8
|
* which we're trying to phase out. App Middlewares could potentially be improved...?
|
|
9
9
|
*/
|
|
10
10
|
declare const configureStoreImpl: (preloadedState?: PreloadState, appMiddlewares?: Array<() => Middleware>, injectedReducers?: Record<string, Reducer>) => import("@reduxjs/toolkit/dist/configureStore").ToolkitStore<{
|
|
11
|
-
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{},
|
|
11
|
+
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics", "adminApi">;
|
|
12
12
|
readonly admin_app: AppState;
|
|
13
13
|
}, import("redux").AnyAction, (import("@reduxjs/toolkit").ThunkMiddleware<{
|
|
14
|
-
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{},
|
|
14
|
+
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics", "adminApi">;
|
|
15
15
|
readonly admin_app: AppState;
|
|
16
16
|
}, import("redux").AnyAction> | Middleware<{}, import("@reduxjs/toolkit/query").RootState<{}, string, "adminApi">, import("@reduxjs/toolkit").ThunkDispatch<any, any, import("redux").AnyAction>>)[]>;
|
|
17
17
|
type Store = ReturnType<typeof configureStoreImpl> & {
|
|
@@ -6,10 +6,10 @@ declare const useTypedDispatch: () => AppDispatch;
|
|
|
6
6
|
declare const useTypedStore: () => Store;
|
|
7
7
|
declare const useTypedSelector: TypedUseSelectorHook<RootState>;
|
|
8
8
|
declare const createTypedSelector: <TResult>(selector: Selector<RootState, TResult>) => ((state: {
|
|
9
|
-
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{},
|
|
9
|
+
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics", "adminApi">;
|
|
10
10
|
readonly admin_app: import("./configure").AppState;
|
|
11
11
|
}) => TResult) & import("reselect").OutputSelectorFields<(args_0: {
|
|
12
|
-
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{},
|
|
12
|
+
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics", "adminApi">;
|
|
13
13
|
readonly admin_app: import("./configure").AppState;
|
|
14
14
|
}) => TResult, {
|
|
15
15
|
clearCache: () => void;
|
|
@@ -25,7 +25,7 @@ declare const TrackingProvider: ({ children }: TrackingProviderProps) => import(
|
|
|
25
25
|
* event so understanding which properties go with which event is very helpful.
|
|
26
26
|
*/
|
|
27
27
|
export interface EventWithoutProperties {
|
|
28
|
-
name: 'changeComponentsOrder' | 'didAddComponentToDynamicZone' | 'didBulkDeleteEntries' | 'didNotBulkDeleteEntries' | 'didChangeDisplayedFields' | 'didCheckDraftRelations' | 'didClickGuidedTourHomepageApiTokens' | 'didClickGuidedTourHomepageContentManager' | 'didClickGuidedTourHomepageContentTypeBuilder' | 'didClickGuidedTourStep1CollectionType' | 'didClickGuidedTourStep2ContentManager' | 'didClickGuidedTourStep3ApiTokens' | 'didClickonBlogSection' | 'didClickonCodeExampleSection' | 'didClickonReadTheDocumentationSection' | 'didClickOnTryStrapiCloudSection' | 'didClickonTutorialSection' | 'didCreateGuidedTourCollectionType' | 'didCreateGuidedTourEntry' | 'didCreateNewRole' | 'didCreateRole' | 'didDeleteToken' | 'didDuplicateRole' | 'didEditEditSettings' | 'didEditEmailTemplates' | 'didEditFieldNameOnContentType' | 'didEditListSettings' | 'didEditMediaLibraryConfig' | 'didEditNameOfContentType' | 'didGenerateGuidedTourApiTokens' | 'didGoToMarketplace' | 'didLaunchGuidedtour' | 'didMissMarketplacePlugin' | 'didNotCreateFirstAdmin' | 'didNotSaveComponent' | 'didPluginLearnMore' | 'didBulkPublishEntries' | 'didNotBulkPublishEntries' | 'didUnpublishEntry' | 'didBulkUnpublishEntries' | 'didNotBulkUnpublishEntries' | 'didSaveComponent' | 'didSaveContentType' | 'didSearch' | 'didSkipGuidedtour' | 'didSubmitPlugin' | 'didSubmitProvider' | 'didUpdateConditions' | 'didSelectAllMediaLibraryElements' | 'didSelectContentTypeFieldSettings' | 'didSelectContentTypeSettings' | 'didEditAuthenticationProvider' | 'didRestoreHistoryVersion' | 'hasClickedCTBAddFieldBanner' | 'removeComponentFromDynamicZone' | 'willAddMoreFieldToContentType' | 'willBulkDeleteEntries' | 'willBulkPublishEntries' | 'willBulkUnpublishEntries' | 'willChangeNumberOfEntriesPerPage' | 'willCheckDraftRelations' | 'willCreateComponent' | 'willCreateComponentFromAttributesModal' | 'willCreateContentType' | 'willCreateFirstAdmin' | 'willCreateNewRole' | 'willCreateRole' | 'willCreateSingleType' | 'willCreateStage' | 'willCreateWorkflow' | 'willDeleteEntryFromList' | 'willDeleteFieldOfContentType' | 'willDuplicateRole' | 'willEditEditLayout' | 'willEditEmailTemplates' | 'willEditEntryFromButton' | 'willEditEntryFromHome' | 'willEditEntryFromList' | 'willEditFieldOfContentType' | 'willEditMediaLibraryConfig' | 'willEditNameOfContentType' | 'willEditNameOfSingleType' | 'willEditAuthenticationProvider' | 'willEditFieldNameOnContentType' | 'willEditStage' | 'willFilterEntries' | 'willInstallPlugin' | 'willUnpublishEntry' | 'willSaveComponent' | 'willSaveContentType' | 'willSaveContentTypeLayout' | 'didEditFieldNameOnContentType' | 'didCreateRelease' | 'didLaunchGuidedtour';
|
|
28
|
+
name: 'changeComponentsOrder' | 'didAddComponentToDynamicZone' | 'didBulkDeleteEntries' | 'didNotBulkDeleteEntries' | 'didChangeDisplayedFields' | 'didCheckDraftRelations' | 'didClickGuidedTourHomepageApiTokens' | 'didClickGuidedTourHomepageContentManager' | 'didClickGuidedTourHomepageContentTypeBuilder' | 'didClickGuidedTourStep1CollectionType' | 'didClickGuidedTourStep2ContentManager' | 'didClickGuidedTourStep3ApiTokens' | 'didClickonBlogSection' | 'didClickonCodeExampleSection' | 'didClickonReadTheDocumentationSection' | 'didClickOnTryStrapiCloudSection' | 'didClickonTutorialSection' | 'didCreateGuidedTourCollectionType' | 'didCreateGuidedTourEntry' | 'didCreateNewRole' | 'didCreateRole' | 'didDeleteToken' | 'didDuplicateRole' | 'didEditEditSettings' | 'didEditEmailTemplates' | 'didEditFieldNameOnContentType' | 'didEditListSettings' | 'didEditMediaLibraryConfig' | 'didEditNameOfContentType' | 'didGenerateGuidedTourApiTokens' | 'didGoToMarketplace' | 'didLaunchGuidedtour' | 'didMissMarketplacePlugin' | 'didNotCreateFirstAdmin' | 'didNotSaveComponent' | 'didPluginLearnMore' | 'didBulkPublishEntries' | 'didNotBulkPublishEntries' | 'didUnpublishEntry' | 'didBulkUnpublishEntries' | 'didNotBulkUnpublishEntries' | 'didSaveComponent' | 'didSaveContentType' | 'didSearch' | 'didSkipGuidedtour' | 'didSubmitPlugin' | 'didSubmitProvider' | 'didUpdateConditions' | 'didSelectAllMediaLibraryElements' | 'didSelectContentTypeFieldSettings' | 'didSelectContentTypeSettings' | 'didEditAuthenticationProvider' | 'didRestoreHistoryVersion' | 'hasClickedCTBAddFieldBanner' | 'removeComponentFromDynamicZone' | 'willAddMoreFieldToContentType' | 'willBulkDeleteEntries' | 'willBulkPublishEntries' | 'willBulkUnpublishEntries' | 'willChangeNumberOfEntriesPerPage' | 'willCheckDraftRelations' | 'willCreateComponent' | 'willCreateComponentFromAttributesModal' | 'willCreateContentType' | 'willCreateFirstAdmin' | 'willCreateNewRole' | 'willCreateRole' | 'willCreateSingleType' | 'willCreateStage' | 'willCreateWorkflow' | 'willDeleteEntryFromList' | 'willDeleteFieldOfContentType' | 'willDuplicateRole' | 'willEditEditLayout' | 'willEditEmailTemplates' | 'willEditEntryFromButton' | 'willEditEntryFromHome' | 'willEditEntryFromList' | 'willEditReleaseFromHome' | 'willEditFieldOfContentType' | 'willEditMediaLibraryConfig' | 'willEditNameOfContentType' | 'willEditNameOfSingleType' | 'willEditAuthenticationProvider' | 'willEditFieldNameOnContentType' | 'willEditStage' | 'willFilterEntries' | 'willInstallPlugin' | 'willOpenAuditLogDetails' | 'willUnpublishEntry' | 'willSaveComponent' | 'willSaveContentType' | 'willSaveContentTypeLayout' | 'didEditFieldNameOnContentType' | 'didCreateRelease' | 'didLaunchGuidedtour';
|
|
29
29
|
properties?: never;
|
|
30
30
|
}
|
|
31
31
|
interface DidAccessAuthenticatedAdministrationEvent {
|
|
@@ -8,7 +8,7 @@ export declare const useAdminRoles: (params?: GetRolesParams, queryOptions?: Par
|
|
|
8
8
|
error: any;
|
|
9
9
|
isError: any;
|
|
10
10
|
isLoading: any;
|
|
11
|
-
refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<void | GetRolesParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "User" | "LicenseLimits" | "Role" | "RolePermissions", (import("..").SanitizedAdminRole & {
|
|
11
|
+
refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<void | GetRolesParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "User" | "LicenseLimits" | "Role" | "RolePermissions", (import("..").SanitizedAdminRole & {
|
|
12
12
|
usersCount?: number | undefined;
|
|
13
13
|
})[], "adminApi">>;
|
|
14
14
|
};
|
|
@@ -44,6 +44,7 @@ export { useRBAC, type AllowedActions } from './hooks/useRBAC';
|
|
|
44
44
|
export { useClipboard } from './hooks/useClipboard';
|
|
45
45
|
export { useElementOnScreen } from './hooks/useElementOnScreen';
|
|
46
46
|
export { useAdminUsers } from './services/users';
|
|
47
|
+
export { useGetCountDocumentsQuery } from './services/homepage';
|
|
47
48
|
/**
|
|
48
49
|
* Types
|
|
49
50
|
*/
|
|
@@ -3,7 +3,7 @@ import type { WidgetType } from '@strapi/admin/strapi-admin';
|
|
|
3
3
|
interface WidgetRootProps extends Pick<WidgetType, 'title' | 'icon' | 'permissions' | 'link'> {
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
}
|
|
6
|
-
export declare const WidgetRoot: ({ title, icon,
|
|
6
|
+
export declare const WidgetRoot: ({ title, icon, children, link }: WidgetRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
declare const HomePageCE: () => import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
declare const HomePage: () => import("react/jsx-runtime").JSX.Element | null;
|
|
9
9
|
export { HomePage, HomePageCE };
|
|
@@ -6,14 +6,14 @@ declare const useWebhooks: (args?: GetWebhook.Params | void, queryArgs?: Paramet
|
|
|
6
6
|
webhooks: import("@strapi/types/dist/modules/webhook-store").Webhook[] | undefined;
|
|
7
7
|
isLoading: boolean;
|
|
8
8
|
error: BaseQueryError | SerializedError;
|
|
9
|
-
createWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<Omit<import("@strapi/types/dist/modules/webhook-store").Webhook, "id" | "isEnabled">, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "Webhook", import("@strapi/types/dist/modules/webhook-store").Webhook, "adminApi">>;
|
|
10
|
-
updateWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<Partial<import("@strapi/types/dist/modules/webhook-store").Webhook> & import("../../../../../../../shared/contracts/webhooks").UpdateWebhook.Params, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "Webhook", import("@strapi/types/dist/modules/webhook-store").Webhook, "adminApi">>;
|
|
11
|
-
triggerWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "Webhook", {
|
|
9
|
+
createWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<Omit<import("@strapi/types/dist/modules/webhook-store").Webhook, "id" | "isEnabled">, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "Webhook", import("@strapi/types/dist/modules/webhook-store").Webhook, "adminApi">>;
|
|
10
|
+
updateWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<Partial<import("@strapi/types/dist/modules/webhook-store").Webhook> & import("../../../../../../../shared/contracts/webhooks").UpdateWebhook.Params, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "Webhook", import("@strapi/types/dist/modules/webhook-store").Webhook, "adminApi">>;
|
|
11
|
+
triggerWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "Webhook", {
|
|
12
12
|
statusCode: number;
|
|
13
13
|
message?: string | undefined;
|
|
14
14
|
}, "adminApi">>;
|
|
15
15
|
deleteManyWebhooks: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
16
16
|
ids: string[];
|
|
17
|
-
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "Webhook", {}, "adminApi">>;
|
|
17
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "Webhook", {}, "adminApi">>;
|
|
18
18
|
};
|
|
19
19
|
export { useWebhooks };
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
* we were using the correct path. Which is state.admin_app.permissions
|
|
6
6
|
*/
|
|
7
7
|
export declare const selectAdminPermissions: ((state: {
|
|
8
|
-
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{},
|
|
8
|
+
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics", "adminApi">;
|
|
9
9
|
readonly admin_app: import("./reducer").AppState;
|
|
10
10
|
}) => Partial<import("./types/permissions").PermissionMap>) & import("reselect").OutputSelectorFields<(args_0: {
|
|
11
|
-
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{},
|
|
11
|
+
readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics", "adminApi">;
|
|
12
12
|
readonly admin_app: import("./reducer").AppState;
|
|
13
13
|
}) => Partial<import("./types/permissions").PermissionMap>, {
|
|
14
14
|
clearCache: () => void;
|