@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.
Files changed (136) hide show
  1. package/dist/admin/admin/src/StrapiApp.js +54 -8
  2. package/dist/admin/admin/src/StrapiApp.js.map +1 -1
  3. package/dist/admin/admin/src/StrapiApp.mjs +52 -6
  4. package/dist/admin/admin/src/StrapiApp.mjs.map +1 -1
  5. package/dist/admin/admin/src/components/GuidedTour/Tours.js +2 -0
  6. package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
  7. package/dist/admin/admin/src/components/GuidedTour/Tours.mjs +2 -0
  8. package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -1
  9. package/dist/admin/admin/src/components/Widgets.js +199 -0
  10. package/dist/admin/admin/src/components/Widgets.js.map +1 -1
  11. package/dist/admin/admin/src/components/Widgets.mjs +200 -2
  12. package/dist/admin/admin/src/components/Widgets.mjs.map +1 -1
  13. package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
  14. package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
  15. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  16. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  17. package/dist/admin/admin/src/pages/Home/HomePage.js +32 -30
  18. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  19. package/dist/admin/admin/src/pages/Home/HomePage.mjs +33 -31
  20. package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
  21. package/dist/admin/admin/src/services/admin.js +1 -2
  22. package/dist/admin/admin/src/services/admin.js.map +1 -1
  23. package/dist/admin/admin/src/services/admin.mjs +1 -2
  24. package/dist/admin/admin/src/services/admin.mjs.map +1 -1
  25. package/dist/admin/admin/src/services/api.js +4 -1
  26. package/dist/admin/admin/src/services/api.js.map +1 -1
  27. package/dist/admin/admin/src/services/api.mjs +4 -1
  28. package/dist/admin/admin/src/services/api.mjs.map +1 -1
  29. package/dist/admin/admin/src/services/apiTokens.js +5 -4
  30. package/dist/admin/admin/src/services/apiTokens.js.map +1 -1
  31. package/dist/admin/admin/src/services/apiTokens.mjs +5 -4
  32. package/dist/admin/admin/src/services/apiTokens.mjs.map +1 -1
  33. package/dist/admin/admin/src/services/homepage.js +31 -0
  34. package/dist/admin/admin/src/services/homepage.js.map +1 -0
  35. package/dist/admin/admin/src/services/homepage.mjs +28 -0
  36. package/dist/admin/admin/src/services/homepage.mjs.map +1 -0
  37. package/dist/admin/admin/src/services/users.js +4 -2
  38. package/dist/admin/admin/src/services/users.js.map +1 -1
  39. package/dist/admin/admin/src/services/users.mjs +4 -2
  40. package/dist/admin/admin/src/services/users.mjs.map +1 -1
  41. package/dist/admin/admin/src/services/webhooks.js +9 -5
  42. package/dist/admin/admin/src/services/webhooks.js.map +1 -1
  43. package/dist/admin/admin/src/services/webhooks.mjs +9 -5
  44. package/dist/admin/admin/src/services/webhooks.mjs.map +1 -1
  45. package/dist/admin/admin/src/translations/en.json.js +12 -0
  46. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  47. package/dist/admin/admin/src/translations/en.json.mjs +12 -0
  48. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  49. package/dist/admin/admin/src/translations/es.json.js +9 -0
  50. package/dist/admin/admin/src/translations/es.json.js.map +1 -1
  51. package/dist/admin/admin/src/translations/es.json.mjs +9 -0
  52. package/dist/admin/admin/src/translations/es.json.mjs.map +1 -1
  53. package/dist/admin/admin/src/translations/fr.json.js +9 -0
  54. package/dist/admin/admin/src/translations/fr.json.js.map +1 -1
  55. package/dist/admin/admin/src/translations/fr.json.mjs +9 -0
  56. package/dist/admin/admin/src/translations/fr.json.mjs.map +1 -1
  57. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js +131 -0
  58. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -0
  59. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs +129 -0
  60. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs.map +1 -0
  61. package/dist/admin/ee/admin/src/constants.js +3 -1
  62. package/dist/admin/ee/admin/src/constants.js.map +1 -1
  63. package/dist/admin/ee/admin/src/constants.mjs +3 -2
  64. package/dist/admin/ee/admin/src/constants.mjs.map +1 -1
  65. package/dist/admin/index.js +2 -0
  66. package/dist/admin/index.js.map +1 -1
  67. package/dist/admin/index.mjs +1 -0
  68. package/dist/admin/index.mjs.map +1 -1
  69. package/dist/admin/src/components/Widgets.d.ts +2 -1
  70. package/dist/admin/src/core/apis/Widgets.d.ts +1 -0
  71. package/dist/admin/src/core/store/configure.d.ts +2 -2
  72. package/dist/admin/src/core/store/hooks.d.ts +2 -2
  73. package/dist/admin/src/features/Tracking.d.ts +1 -1
  74. package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
  75. package/dist/admin/src/index.d.ts +1 -0
  76. package/dist/admin/src/pages/Home/HomePage.d.ts +1 -1
  77. package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
  78. package/dist/admin/src/selectors.d.ts +2 -2
  79. package/dist/admin/src/services/admin.d.ts +6 -6
  80. package/dist/admin/src/services/api.d.ts +1 -1
  81. package/dist/admin/src/services/apiTokens.d.ts +1 -1
  82. package/dist/admin/src/services/auth.d.ts +10 -10
  83. package/dist/admin/src/services/contentApi.d.ts +1 -1
  84. package/dist/admin/src/services/contentManager.d.ts +1 -1
  85. package/dist/admin/src/services/homepage.d.ts +14 -0
  86. package/dist/admin/src/services/transferTokens.d.ts +1 -1
  87. package/dist/admin/src/services/users.d.ts +8 -8
  88. package/dist/admin/src/services/webhooks.d.ts +2 -2
  89. package/dist/admin/tests/utils.d.ts +1 -1
  90. package/dist/ee/admin/src/components/AuditLogs/Widgets.d.ts +2 -0
  91. package/dist/ee/admin/src/constants.d.ts +1 -0
  92. package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
  93. package/dist/server/ee/server/src/audit-logs/services/lifecycles.js +1 -1
  94. package/dist/server/ee/server/src/audit-logs/services/lifecycles.js.map +1 -1
  95. package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs +1 -1
  96. package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs.map +1 -1
  97. package/dist/server/server/src/controllers/homepage.js +15 -0
  98. package/dist/server/server/src/controllers/homepage.js.map +1 -0
  99. package/dist/server/server/src/controllers/homepage.mjs +13 -0
  100. package/dist/server/server/src/controllers/homepage.mjs.map +1 -0
  101. package/dist/server/server/src/controllers/index.js +3 -1
  102. package/dist/server/server/src/controllers/index.js.map +1 -1
  103. package/dist/server/server/src/controllers/index.mjs +3 -1
  104. package/dist/server/server/src/controllers/index.mjs.map +1 -1
  105. package/dist/server/server/src/routes/homepage.js +17 -0
  106. package/dist/server/server/src/routes/homepage.js.map +1 -0
  107. package/dist/server/server/src/routes/homepage.mjs +15 -0
  108. package/dist/server/server/src/routes/homepage.mjs.map +1 -0
  109. package/dist/server/server/src/routes/index.js +3 -1
  110. package/dist/server/server/src/routes/index.js.map +1 -1
  111. package/dist/server/server/src/routes/index.mjs +3 -1
  112. package/dist/server/server/src/routes/index.mjs.map +1 -1
  113. package/dist/server/server/src/services/homepage.js +34 -0
  114. package/dist/server/server/src/services/homepage.js.map +1 -0
  115. package/dist/server/server/src/services/homepage.mjs +32 -0
  116. package/dist/server/server/src/services/homepage.mjs.map +1 -0
  117. package/dist/server/server/src/services/index.js +3 -1
  118. package/dist/server/server/src/services/index.js.map +1 -1
  119. package/dist/server/server/src/services/index.mjs +3 -1
  120. package/dist/server/server/src/services/index.mjs.map +1 -1
  121. package/dist/server/src/controllers/homepage.d.ts +15 -0
  122. package/dist/server/src/controllers/homepage.d.ts.map +1 -0
  123. package/dist/server/src/controllers/index.d.ts +13 -0
  124. package/dist/server/src/controllers/index.d.ts.map +1 -1
  125. package/dist/server/src/index.d.ts +26 -0
  126. package/dist/server/src/index.d.ts.map +1 -1
  127. package/dist/server/src/routes/homepage.d.ts +10 -0
  128. package/dist/server/src/routes/homepage.d.ts.map +1 -0
  129. package/dist/server/src/routes/index.d.ts.map +1 -1
  130. package/dist/server/src/services/homepage.d.ts +15 -0
  131. package/dist/server/src/services/homepage.d.ts.map +1 -0
  132. package/dist/server/src/services/index.d.ts +13 -0
  133. package/dist/server/src/services/index.d.ts.map +1 -1
  134. package/dist/shared/contracts/homepage.d.ts +30 -0
  135. package/dist/shared/contracts/homepage.d.ts.map +1 -1
  136. package/package.json +7 -7
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var homepage = [
4
+ {
5
+ method: 'GET',
6
+ path: '/homepage/key-statistics',
7
+ handler: 'homepage.getKeyStatistics',
8
+ config: {
9
+ policies: [
10
+ 'admin::isAuthenticatedAdmin'
11
+ ]
12
+ }
13
+ }
14
+ ];
15
+
16
+ module.exports = homepage;
17
+ //# sourceMappingURL=homepage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.js","sources":["../../../../../server/src/routes/homepage.ts"],"sourcesContent":["export default [\n {\n method: 'GET',\n path: '/homepage/key-statistics',\n handler: 'homepage.getKeyStatistics',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n];\n"],"names":["method","path","handler","config","policies"],"mappings":";;AAAA,eAAe;AACb,IAAA;QACEA,MAAQ,EAAA,KAAA;QACRC,IAAM,EAAA,0BAAA;QACNC,OAAS,EAAA,2BAAA;QACTC,MAAQ,EAAA;YACNC,QAAU,EAAA;AAAC,gBAAA;AAA8B;AAC3C;AACF;CACD;;;;"}
@@ -0,0 +1,15 @@
1
+ var homepage = [
2
+ {
3
+ method: 'GET',
4
+ path: '/homepage/key-statistics',
5
+ handler: 'homepage.getKeyStatistics',
6
+ config: {
7
+ policies: [
8
+ 'admin::isAuthenticatedAdmin'
9
+ ]
10
+ }
11
+ }
12
+ ];
13
+
14
+ export { homepage as default };
15
+ //# sourceMappingURL=homepage.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.mjs","sources":["../../../../../server/src/routes/homepage.ts"],"sourcesContent":["export default [\n {\n method: 'GET',\n path: '/homepage/key-statistics',\n handler: 'homepage.getKeyStatistics',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n];\n"],"names":["method","path","handler","config","policies"],"mappings":"AAAA,eAAe;AACb,IAAA;QACEA,MAAQ,EAAA,KAAA;QACRC,IAAM,EAAA,0BAAA;QACNC,OAAS,EAAA,2BAAA;QACTC,MAAQ,EAAA;YACNC,QAAU,EAAA;AAAC,gBAAA;AAA8B;AAC3C;AACF;CACD;;;;"}
@@ -9,6 +9,7 @@ var webhooks = require('./webhooks.js');
9
9
  var apiTokens = require('./api-tokens.js');
10
10
  var contentApi = require('./content-api.js');
11
11
  var transfer = require('./transfer.js');
12
+ var homepage = require('./homepage.js');
12
13
 
13
14
  const routes = {
14
15
  admin: {
@@ -22,7 +23,8 @@ const routes = {
22
23
  ...webhooks,
23
24
  ...apiTokens,
24
25
  ...contentApi,
25
- ...transfer
26
+ ...transfer,
27
+ ...homepage
26
28
  ]
27
29
  }
28
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../server/src/routes/index.ts"],"sourcesContent":["import admin from './admin';\nimport authentication from './authentication';\nimport permissions from './permissions';\nimport users from './users';\nimport roles from './roles';\nimport webhooks from './webhooks';\nimport apiTokens from './api-tokens';\nimport contentApi from './content-api';\nimport transfer from './transfer';\n\nconst routes = {\n admin: {\n type: 'admin',\n routes: [\n ...admin,\n ...authentication,\n ...permissions,\n ...users,\n ...roles,\n ...webhooks,\n ...apiTokens,\n ...contentApi,\n ...transfer,\n ],\n },\n};\n\nexport default routes;\n"],"names":["routes","admin","type","authentication","permissions","users","roles","webhooks","apiTokens","contentApi","transfer"],"mappings":";;;;;;;;;;;;AAUA,MAAMA,MAAS,GAAA;IACbC,KAAO,EAAA;QACLC,IAAM,EAAA,OAAA;QACNF,MAAQ,EAAA;AACHC,YAAAA,GAAAA,KAAAA;AACAE,YAAAA,GAAAA,cAAAA;AACAC,YAAAA,GAAAA,WAAAA;AACAC,YAAAA,GAAAA,KAAAA;AACAC,YAAAA,GAAAA,KAAAA;AACAC,YAAAA,GAAAA,QAAAA;AACAC,YAAAA,GAAAA,SAAAA;AACAC,YAAAA,GAAAA,UAAAA;AACAC,YAAAA,GAAAA;AACJ;AACH;AACF;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../server/src/routes/index.ts"],"sourcesContent":["import admin from './admin';\nimport authentication from './authentication';\nimport permissions from './permissions';\nimport users from './users';\nimport roles from './roles';\nimport webhooks from './webhooks';\nimport apiTokens from './api-tokens';\nimport contentApi from './content-api';\nimport transfer from './transfer';\nimport homepage from './homepage';\n\nconst routes = {\n admin: {\n type: 'admin',\n routes: [\n ...admin,\n ...authentication,\n ...permissions,\n ...users,\n ...roles,\n ...webhooks,\n ...apiTokens,\n ...contentApi,\n ...transfer,\n ...homepage,\n ],\n },\n};\n\nexport default routes;\n"],"names":["routes","admin","type","authentication","permissions","users","roles","webhooks","apiTokens","contentApi","transfer","homepage"],"mappings":";;;;;;;;;;;;;AAWA,MAAMA,MAAS,GAAA;IACbC,KAAO,EAAA;QACLC,IAAM,EAAA,OAAA;QACNF,MAAQ,EAAA;AACHC,YAAAA,GAAAA,KAAAA;AACAE,YAAAA,GAAAA,cAAAA;AACAC,YAAAA,GAAAA,WAAAA;AACAC,YAAAA,GAAAA,KAAAA;AACAC,YAAAA,GAAAA,KAAAA;AACAC,YAAAA,GAAAA,QAAAA;AACAC,YAAAA,GAAAA,SAAAA;AACAC,YAAAA,GAAAA,UAAAA;AACAC,YAAAA,GAAAA,QAAAA;AACAC,YAAAA,GAAAA;AACJ;AACH;AACF;;;;"}
@@ -7,6 +7,7 @@ import webhooks from './webhooks.mjs';
7
7
  import apiTokens from './api-tokens.mjs';
8
8
  import contentApi from './content-api.mjs';
9
9
  import transfer from './transfer.mjs';
10
+ import homepage from './homepage.mjs';
10
11
 
11
12
  const routes = {
12
13
  admin: {
@@ -20,7 +21,8 @@ const routes = {
20
21
  ...webhooks,
21
22
  ...apiTokens,
22
23
  ...contentApi,
23
- ...transfer
24
+ ...transfer,
25
+ ...homepage
24
26
  ]
25
27
  }
26
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../server/src/routes/index.ts"],"sourcesContent":["import admin from './admin';\nimport authentication from './authentication';\nimport permissions from './permissions';\nimport users from './users';\nimport roles from './roles';\nimport webhooks from './webhooks';\nimport apiTokens from './api-tokens';\nimport contentApi from './content-api';\nimport transfer from './transfer';\n\nconst routes = {\n admin: {\n type: 'admin',\n routes: [\n ...admin,\n ...authentication,\n ...permissions,\n ...users,\n ...roles,\n ...webhooks,\n ...apiTokens,\n ...contentApi,\n ...transfer,\n ],\n },\n};\n\nexport default routes;\n"],"names":["routes","admin","type","authentication","permissions","users","roles","webhooks","apiTokens","contentApi","transfer"],"mappings":";;;;;;;;;;AAUA,MAAMA,MAAS,GAAA;IACbC,KAAO,EAAA;QACLC,IAAM,EAAA,OAAA;QACNF,MAAQ,EAAA;AACHC,YAAAA,GAAAA,KAAAA;AACAE,YAAAA,GAAAA,cAAAA;AACAC,YAAAA,GAAAA,WAAAA;AACAC,YAAAA,GAAAA,KAAAA;AACAC,YAAAA,GAAAA,KAAAA;AACAC,YAAAA,GAAAA,QAAAA;AACAC,YAAAA,GAAAA,SAAAA;AACAC,YAAAA,GAAAA,UAAAA;AACAC,YAAAA,GAAAA;AACJ;AACH;AACF;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../server/src/routes/index.ts"],"sourcesContent":["import admin from './admin';\nimport authentication from './authentication';\nimport permissions from './permissions';\nimport users from './users';\nimport roles from './roles';\nimport webhooks from './webhooks';\nimport apiTokens from './api-tokens';\nimport contentApi from './content-api';\nimport transfer from './transfer';\nimport homepage from './homepage';\n\nconst routes = {\n admin: {\n type: 'admin',\n routes: [\n ...admin,\n ...authentication,\n ...permissions,\n ...users,\n ...roles,\n ...webhooks,\n ...apiTokens,\n ...contentApi,\n ...transfer,\n ...homepage,\n ],\n },\n};\n\nexport default routes;\n"],"names":["routes","admin","type","authentication","permissions","users","roles","webhooks","apiTokens","contentApi","transfer","homepage"],"mappings":";;;;;;;;;;;AAWA,MAAMA,MAAS,GAAA;IACbC,KAAO,EAAA;QACLC,IAAM,EAAA,OAAA;QACNF,MAAQ,EAAA;AACHC,YAAAA,GAAAA,KAAAA;AACAE,YAAAA,GAAAA,cAAAA;AACAC,YAAAA,GAAAA,WAAAA;AACAC,YAAAA,GAAAA,KAAAA;AACAC,YAAAA,GAAAA,KAAAA;AACAC,YAAAA,GAAAA,QAAAA;AACAC,YAAAA,GAAAA,SAAAA;AACAC,YAAAA,GAAAA,UAAAA;AACAC,YAAAA,GAAAA,QAAAA;AACAC,YAAAA,GAAAA;AACJ;AACH;AACF;;;;"}
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var index = require('../utils/index.js');
4
+
5
+ const isContentTypeVisible = (model)=>model?.pluginOptions?.['content-type-builder']?.visible !== false;
6
+ const homepageService = ({ strapi })=>{
7
+ const getKeyStatistics = async ()=>{
8
+ const contentTypes = Object.entries(strapi.contentTypes).filter(([, contentType])=>{
9
+ return isContentTypeVisible(contentType);
10
+ });
11
+ const countApiTokens = await index.getService('api-token').count();
12
+ const countAdmins = await index.getService('user').count();
13
+ const countLocales = await strapi.plugin('i18n')?.service('locales')?.count() ?? null;
14
+ const countsAssets = await strapi.db.query('plugin::upload.file').count();
15
+ const countWebhooks = await strapi.db.query('strapi::webhook').count();
16
+ const componentCategories = new Set(Object.values(strapi.components).map((component)=>component.category));
17
+ const components = Array.from(componentCategories);
18
+ return {
19
+ assets: countsAssets,
20
+ contentTypes: contentTypes.length,
21
+ components: components.length,
22
+ locales: countLocales,
23
+ admins: countAdmins,
24
+ webhooks: countWebhooks,
25
+ apiTokens: countApiTokens
26
+ };
27
+ };
28
+ return {
29
+ getKeyStatistics
30
+ };
31
+ };
32
+
33
+ exports.homepageService = homepageService;
34
+ //# sourceMappingURL=homepage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.js","sources":["../../../../../server/src/services/homepage.ts"],"sourcesContent":["import { Core } from '@strapi/types';\nimport { getService } from '../utils';\n\nconst isContentTypeVisible = (model: any) =>\n model?.pluginOptions?.['content-type-builder']?.visible !== false;\n\nexport const homepageService = ({ strapi }: { strapi: Core.Strapi }) => {\n const getKeyStatistics = async () => {\n const contentTypes = Object.entries(strapi.contentTypes).filter(([, contentType]) => {\n return isContentTypeVisible(contentType);\n });\n\n const countApiTokens = await getService('api-token').count();\n const countAdmins = await getService('user').count();\n const countLocales = (await strapi.plugin('i18n')?.service('locales')?.count()) ?? null;\n const countsAssets = await strapi.db.query('plugin::upload.file').count();\n const countWebhooks = await strapi.db.query('strapi::webhook').count();\n\n const componentCategories = new Set(\n Object.values(strapi.components).map((component) => component.category)\n );\n const components = Array.from(componentCategories);\n\n return {\n assets: countsAssets,\n contentTypes: contentTypes.length,\n components: components.length,\n locales: countLocales,\n admins: countAdmins,\n webhooks: countWebhooks,\n apiTokens: countApiTokens,\n };\n };\n\n return {\n getKeyStatistics,\n };\n};\n"],"names":["isContentTypeVisible","model","pluginOptions","visible","homepageService","strapi","getKeyStatistics","contentTypes","Object","entries","filter","contentType","countApiTokens","getService","count","countAdmins","countLocales","plugin","service","countsAssets","db","query","countWebhooks","componentCategories","Set","values","components","map","component","category","Array","from","assets","length","locales","admins","webhooks","apiTokens"],"mappings":";;;;AAGA,MAAMA,oBAAAA,GAAuB,CAACC,KAC5BA,GAAAA,KAAAA,EAAOC,gBAAgB,sBAAA,CAAuB,EAAEC,OAAY,KAAA,KAAA;AAEjDC,MAAAA,eAAAA,GAAkB,CAAC,EAAEC,MAAM,EAA2B,GAAA;AACjE,IAAA,MAAMC,gBAAmB,GAAA,UAAA;QACvB,MAAMC,YAAAA,GAAeC,MAAOC,CAAAA,OAAO,CAACJ,MAAAA,CAAOE,YAAY,CAAA,CAAEG,MAAM,CAAC,CAAC,GAAGC,WAAY,CAAA,GAAA;AAC9E,YAAA,OAAOX,oBAAqBW,CAAAA,WAAAA,CAAAA;AAC9B,SAAA,CAAA;AAEA,QAAA,MAAMC,cAAiB,GAAA,MAAMC,gBAAW,CAAA,WAAA,CAAA,CAAaC,KAAK,EAAA;AAC1D,QAAA,MAAMC,WAAc,GAAA,MAAMF,gBAAW,CAAA,MAAA,CAAA,CAAQC,KAAK,EAAA;QAClD,MAAME,YAAAA,GAAe,MAAOX,MAAAA,CAAOY,MAAM,CAAC,MAAA,CAAA,EAASC,OAAQ,CAAA,SAAA,CAAA,EAAYJ,KAAY,EAAA,IAAA,IAAA;QACnF,MAAMK,YAAAA,GAAe,MAAMd,MAAOe,CAAAA,EAAE,CAACC,KAAK,CAAC,uBAAuBP,KAAK,EAAA;QACvE,MAAMQ,aAAAA,GAAgB,MAAMjB,MAAOe,CAAAA,EAAE,CAACC,KAAK,CAAC,mBAAmBP,KAAK,EAAA;AAEpE,QAAA,MAAMS,mBAAsB,GAAA,IAAIC,GAC9BhB,CAAAA,MAAAA,CAAOiB,MAAM,CAACpB,MAAAA,CAAOqB,UAAU,CAAA,CAAEC,GAAG,CAAC,CAACC,SAAAA,GAAcA,UAAUC,QAAQ,CAAA,CAAA;QAExE,MAAMH,UAAAA,GAAaI,KAAMC,CAAAA,IAAI,CAACR,mBAAAA,CAAAA;QAE9B,OAAO;YACLS,MAAQb,EAAAA,YAAAA;AACRZ,YAAAA,YAAAA,EAAcA,aAAa0B,MAAM;AACjCP,YAAAA,UAAAA,EAAYA,WAAWO,MAAM;YAC7BC,OAASlB,EAAAA,YAAAA;YACTmB,MAAQpB,EAAAA,WAAAA;YACRqB,QAAUd,EAAAA,aAAAA;YACVe,SAAWzB,EAAAA;AACb,SAAA;AACF,KAAA;IAEA,OAAO;AACLN,QAAAA;AACF,KAAA;AACF;;;;"}
@@ -0,0 +1,32 @@
1
+ import { getService } from '../utils/index.mjs';
2
+
3
+ const isContentTypeVisible = (model)=>model?.pluginOptions?.['content-type-builder']?.visible !== false;
4
+ const homepageService = ({ strapi })=>{
5
+ const getKeyStatistics = async ()=>{
6
+ const contentTypes = Object.entries(strapi.contentTypes).filter(([, contentType])=>{
7
+ return isContentTypeVisible(contentType);
8
+ });
9
+ const countApiTokens = await getService('api-token').count();
10
+ const countAdmins = await getService('user').count();
11
+ const countLocales = await strapi.plugin('i18n')?.service('locales')?.count() ?? null;
12
+ const countsAssets = await strapi.db.query('plugin::upload.file').count();
13
+ const countWebhooks = await strapi.db.query('strapi::webhook').count();
14
+ const componentCategories = new Set(Object.values(strapi.components).map((component)=>component.category));
15
+ const components = Array.from(componentCategories);
16
+ return {
17
+ assets: countsAssets,
18
+ contentTypes: contentTypes.length,
19
+ components: components.length,
20
+ locales: countLocales,
21
+ admins: countAdmins,
22
+ webhooks: countWebhooks,
23
+ apiTokens: countApiTokens
24
+ };
25
+ };
26
+ return {
27
+ getKeyStatistics
28
+ };
29
+ };
30
+
31
+ export { homepageService };
32
+ //# sourceMappingURL=homepage.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.mjs","sources":["../../../../../server/src/services/homepage.ts"],"sourcesContent":["import { Core } from '@strapi/types';\nimport { getService } from '../utils';\n\nconst isContentTypeVisible = (model: any) =>\n model?.pluginOptions?.['content-type-builder']?.visible !== false;\n\nexport const homepageService = ({ strapi }: { strapi: Core.Strapi }) => {\n const getKeyStatistics = async () => {\n const contentTypes = Object.entries(strapi.contentTypes).filter(([, contentType]) => {\n return isContentTypeVisible(contentType);\n });\n\n const countApiTokens = await getService('api-token').count();\n const countAdmins = await getService('user').count();\n const countLocales = (await strapi.plugin('i18n')?.service('locales')?.count()) ?? null;\n const countsAssets = await strapi.db.query('plugin::upload.file').count();\n const countWebhooks = await strapi.db.query('strapi::webhook').count();\n\n const componentCategories = new Set(\n Object.values(strapi.components).map((component) => component.category)\n );\n const components = Array.from(componentCategories);\n\n return {\n assets: countsAssets,\n contentTypes: contentTypes.length,\n components: components.length,\n locales: countLocales,\n admins: countAdmins,\n webhooks: countWebhooks,\n apiTokens: countApiTokens,\n };\n };\n\n return {\n getKeyStatistics,\n };\n};\n"],"names":["isContentTypeVisible","model","pluginOptions","visible","homepageService","strapi","getKeyStatistics","contentTypes","Object","entries","filter","contentType","countApiTokens","getService","count","countAdmins","countLocales","plugin","service","countsAssets","db","query","countWebhooks","componentCategories","Set","values","components","map","component","category","Array","from","assets","length","locales","admins","webhooks","apiTokens"],"mappings":";;AAGA,MAAMA,oBAAAA,GAAuB,CAACC,KAC5BA,GAAAA,KAAAA,EAAOC,gBAAgB,sBAAA,CAAuB,EAAEC,OAAY,KAAA,KAAA;AAEjDC,MAAAA,eAAAA,GAAkB,CAAC,EAAEC,MAAM,EAA2B,GAAA;AACjE,IAAA,MAAMC,gBAAmB,GAAA,UAAA;QACvB,MAAMC,YAAAA,GAAeC,MAAOC,CAAAA,OAAO,CAACJ,MAAAA,CAAOE,YAAY,CAAA,CAAEG,MAAM,CAAC,CAAC,GAAGC,WAAY,CAAA,GAAA;AAC9E,YAAA,OAAOX,oBAAqBW,CAAAA,WAAAA,CAAAA;AAC9B,SAAA,CAAA;AAEA,QAAA,MAAMC,cAAiB,GAAA,MAAMC,UAAW,CAAA,WAAA,CAAA,CAAaC,KAAK,EAAA;AAC1D,QAAA,MAAMC,WAAc,GAAA,MAAMF,UAAW,CAAA,MAAA,CAAA,CAAQC,KAAK,EAAA;QAClD,MAAME,YAAAA,GAAe,MAAOX,MAAAA,CAAOY,MAAM,CAAC,MAAA,CAAA,EAASC,OAAQ,CAAA,SAAA,CAAA,EAAYJ,KAAY,EAAA,IAAA,IAAA;QACnF,MAAMK,YAAAA,GAAe,MAAMd,MAAOe,CAAAA,EAAE,CAACC,KAAK,CAAC,uBAAuBP,KAAK,EAAA;QACvE,MAAMQ,aAAAA,GAAgB,MAAMjB,MAAOe,CAAAA,EAAE,CAACC,KAAK,CAAC,mBAAmBP,KAAK,EAAA;AAEpE,QAAA,MAAMS,mBAAsB,GAAA,IAAIC,GAC9BhB,CAAAA,MAAAA,CAAOiB,MAAM,CAACpB,MAAAA,CAAOqB,UAAU,CAAA,CAAEC,GAAG,CAAC,CAACC,SAAAA,GAAcA,UAAUC,QAAQ,CAAA,CAAA;QAExE,MAAMH,UAAAA,GAAaI,KAAMC,CAAAA,IAAI,CAACR,mBAAAA,CAAAA;QAE9B,OAAO;YACLS,MAAQb,EAAAA,YAAAA;AACRZ,YAAAA,YAAAA,EAAcA,aAAa0B,MAAM;AACjCP,YAAAA,UAAAA,EAAYA,WAAWO,MAAM;YAC7BC,OAASlB,EAAAA,YAAAA;YACTmB,MAAQpB,EAAAA,WAAAA;YACRqB,QAAUd,EAAAA,aAAAA;YACVe,SAAWzB,EAAAA;AACb,SAAA;AACF,KAAA;IAEA,OAAO;AACLN,QAAAA;AACF,KAAA;AACF;;;;"}
@@ -16,6 +16,7 @@ var apiToken = require('./api-token.js');
16
16
  var index = require('./transfer/index.js');
17
17
  var projectSettings = require('./project-settings.js');
18
18
  var guidedTour = require('./guided-tour.js');
19
+ var homepage = require('./homepage.js');
19
20
 
20
21
  function _interopNamespaceDefaultOnly (e) { return Object.freeze({ __proto__: null, default: e }); }
21
22
 
@@ -39,7 +40,8 @@ var services = {
39
40
  transfer: index,
40
41
  'project-settings': projectSettings,
41
42
  encryption,
42
- 'guided-tour': guidedTour.createGuidedTourService
43
+ 'guided-tour': guidedTour.createGuidedTourService,
44
+ homepage: homepage.homepageService
43
45
  };
44
46
 
45
47
  module.exports = services;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../server/src/services/index.ts"],"sourcesContent":["// NOTE: Make sure to use default export for services overwritten in EE\nimport auth from './auth';\nimport user from './user';\nimport role from './role';\nimport passport from './passport';\nimport metrics from './metrics';\nimport encryption from './encryption';\nimport * as token from './token';\nimport * as permission from './permission';\nimport * as contentType from './content-type';\nimport * as constants from './constants';\nimport * as condition from './condition';\nimport * as action from './action';\nimport * as apiToken from './api-token';\nimport * as transfer from './transfer';\nimport * as projectSettings from './project-settings';\nimport { createGuidedTourService } from './guided-tour';\n\n// TODO: TS - Export services one by one as this export is cjs\nexport default {\n auth,\n user,\n role,\n passport,\n token,\n permission,\n metrics,\n 'content-type': contentType,\n constants,\n condition,\n action,\n 'api-token': apiToken,\n transfer,\n 'project-settings': projectSettings,\n encryption,\n 'guided-tour': createGuidedTourService,\n};\n"],"names":["auth","user","role","passport","token","permission","metrics","contentType","constants","condition","action","apiToken","transfer","projectSettings","encryption","createGuidedTourService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAkBA;AACA,eAAe;AACbA,IAAAA,IAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,QAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,UAAAA;AACAC,IAAAA,OAAAA;IACA,cAAgBC,EAAAA,WAAAA;AAChBC,eAAAA,oBAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,MAAAA;IACA,WAAaC,EAAAA,QAAAA;AACbC,cAAAA,KAAAA;IACA,kBAAoBC,EAAAA,eAAAA;AACpBC,IAAAA,UAAAA;IACA,aAAeC,EAAAA;AACjB,CAAE;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../server/src/services/index.ts"],"sourcesContent":["// NOTE: Make sure to use default export for services overwritten in EE\nimport auth from './auth';\nimport user from './user';\nimport role from './role';\nimport passport from './passport';\nimport metrics from './metrics';\nimport encryption from './encryption';\nimport * as token from './token';\nimport * as permission from './permission';\nimport * as contentType from './content-type';\nimport * as constants from './constants';\nimport * as condition from './condition';\nimport * as action from './action';\nimport * as apiToken from './api-token';\nimport * as transfer from './transfer';\nimport * as projectSettings from './project-settings';\nimport { createGuidedTourService } from './guided-tour';\nimport { homepageService } from './homepage';\n\n// TODO: TS - Export services one by one as this export is cjs\nexport default {\n auth,\n user,\n role,\n passport,\n token,\n permission,\n metrics,\n 'content-type': contentType,\n constants,\n condition,\n action,\n 'api-token': apiToken,\n transfer,\n 'project-settings': projectSettings,\n encryption,\n 'guided-tour': createGuidedTourService,\n homepage: homepageService,\n};\n"],"names":["auth","user","role","passport","token","permission","metrics","contentType","constants","condition","action","apiToken","transfer","projectSettings","encryption","createGuidedTourService","homepage","homepageService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAmBA;AACA,eAAe;AACbA,IAAAA,IAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,QAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,UAAAA;AACAC,IAAAA,OAAAA;IACA,cAAgBC,EAAAA,WAAAA;AAChBC,eAAAA,oBAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,MAAAA;IACA,WAAaC,EAAAA,QAAAA;AACbC,cAAAA,KAAAA;IACA,kBAAoBC,EAAAA,eAAAA;AACpBC,IAAAA,UAAAA;IACA,aAAeC,EAAAA,kCAAAA;IACfC,QAAUC,EAAAA;AACZ,CAAE;;;;"}
@@ -14,6 +14,7 @@ import * as apiToken from './api-token.mjs';
14
14
  import * as index from './transfer/index.mjs';
15
15
  import * as projectSettings from './project-settings.mjs';
16
16
  import { createGuidedTourService } from './guided-tour.mjs';
17
+ import { homepageService } from './homepage.mjs';
17
18
 
18
19
  // NOTE: Make sure to use default export for services overwritten in EE
19
20
  // TODO: TS - Export services one by one as this export is cjs
@@ -33,7 +34,8 @@ var services = {
33
34
  transfer: index,
34
35
  'project-settings': projectSettings,
35
36
  encryption,
36
- 'guided-tour': createGuidedTourService
37
+ 'guided-tour': createGuidedTourService,
38
+ homepage: homepageService
37
39
  };
38
40
 
39
41
  export { services as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../server/src/services/index.ts"],"sourcesContent":["// NOTE: Make sure to use default export for services overwritten in EE\nimport auth from './auth';\nimport user from './user';\nimport role from './role';\nimport passport from './passport';\nimport metrics from './metrics';\nimport encryption from './encryption';\nimport * as token from './token';\nimport * as permission from './permission';\nimport * as contentType from './content-type';\nimport * as constants from './constants';\nimport * as condition from './condition';\nimport * as action from './action';\nimport * as apiToken from './api-token';\nimport * as transfer from './transfer';\nimport * as projectSettings from './project-settings';\nimport { createGuidedTourService } from './guided-tour';\n\n// TODO: TS - Export services one by one as this export is cjs\nexport default {\n auth,\n user,\n role,\n passport,\n token,\n permission,\n metrics,\n 'content-type': contentType,\n constants,\n condition,\n action,\n 'api-token': apiToken,\n transfer,\n 'project-settings': projectSettings,\n encryption,\n 'guided-tour': createGuidedTourService,\n};\n"],"names":["auth","user","role","passport","token","permission","metrics","contentType","constants","condition","action","apiToken","transfer","projectSettings","encryption","createGuidedTourService"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAkBA;AACA,eAAe;AACbA,IAAAA,IAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,QAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,UAAAA;AACAC,IAAAA,OAAAA;IACA,cAAgBC,EAAAA,WAAAA;AAChBC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,MAAAA;IACA,WAAaC,EAAAA,QAAAA;AACbC,cAAAA,KAAAA;IACA,kBAAoBC,EAAAA,eAAAA;AACpBC,IAAAA,UAAAA;IACA,aAAeC,EAAAA;AACjB,CAAE;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../server/src/services/index.ts"],"sourcesContent":["// NOTE: Make sure to use default export for services overwritten in EE\nimport auth from './auth';\nimport user from './user';\nimport role from './role';\nimport passport from './passport';\nimport metrics from './metrics';\nimport encryption from './encryption';\nimport * as token from './token';\nimport * as permission from './permission';\nimport * as contentType from './content-type';\nimport * as constants from './constants';\nimport * as condition from './condition';\nimport * as action from './action';\nimport * as apiToken from './api-token';\nimport * as transfer from './transfer';\nimport * as projectSettings from './project-settings';\nimport { createGuidedTourService } from './guided-tour';\nimport { homepageService } from './homepage';\n\n// TODO: TS - Export services one by one as this export is cjs\nexport default {\n auth,\n user,\n role,\n passport,\n token,\n permission,\n metrics,\n 'content-type': contentType,\n constants,\n condition,\n action,\n 'api-token': apiToken,\n transfer,\n 'project-settings': projectSettings,\n encryption,\n 'guided-tour': createGuidedTourService,\n homepage: homepageService,\n};\n"],"names":["auth","user","role","passport","token","permission","metrics","contentType","constants","condition","action","apiToken","transfer","projectSettings","encryption","createGuidedTourService","homepage","homepageService"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAmBA;AACA,eAAe;AACbA,IAAAA,IAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,QAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,UAAAA;AACAC,IAAAA,OAAAA;IACA,cAAgBC,EAAAA,WAAAA;AAChBC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,MAAAA;IACA,WAAaC,EAAAA,QAAAA;AACbC,cAAAA,KAAAA;IACA,kBAAoBC,EAAAA,eAAAA;AACpBC,IAAAA,UAAAA;IACA,aAAeC,EAAAA,uBAAAA;IACfC,QAAUC,EAAAA;AACZ,CAAE;;;;"}
@@ -0,0 +1,15 @@
1
+ declare const _default: {
2
+ getKeyStatistics(): Promise<{
3
+ data: {
4
+ assets: number;
5
+ contentTypes: number;
6
+ components: number;
7
+ locales: any;
8
+ admins: number;
9
+ webhooks: number;
10
+ apiTokens: number;
11
+ };
12
+ }>;
13
+ };
14
+ export default _default;
15
+ //# sourceMappingURL=homepage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/homepage.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAEA,wBAOE"}
@@ -113,6 +113,19 @@ declare const _default: {
113
113
  getPermissions(ctx: import("koa").Context): Promise<void>;
114
114
  getRoutes(ctx: import("koa").Context): Promise<void>;
115
115
  };
116
+ homepage: {
117
+ getKeyStatistics(): Promise<{
118
+ data: {
119
+ assets: number;
120
+ contentTypes: number;
121
+ components: number;
122
+ locales: any;
123
+ admins: number;
124
+ webhooks: number;
125
+ apiTokens: number;
126
+ };
127
+ }>;
128
+ };
116
129
  };
117
130
  export default _default;
118
131
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,wBAWE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,wBAYE"}
@@ -195,6 +195,19 @@ declare let admin: {
195
195
  }) => {
196
196
  getCompletedActions: () => Promise<(keyof import("./services/guided-tour").GuidedTourRequiredActions)[]>;
197
197
  };
198
+ homepage: ({ strapi }: {
199
+ strapi: import("@strapi/types/dist/core").Strapi;
200
+ }) => {
201
+ getKeyStatistics: () => Promise<{
202
+ assets: number;
203
+ contentTypes: number;
204
+ components: number;
205
+ locales: any;
206
+ admins: number;
207
+ webhooks: number;
208
+ apiTokens: number;
209
+ }>;
210
+ };
198
211
  };
199
212
  controllers: {
200
213
  admin: {
@@ -310,6 +323,19 @@ declare let admin: {
310
323
  getPermissions(ctx: import("koa").Context): Promise<void>;
311
324
  getRoutes(ctx: import("koa").Context): Promise<void>;
312
325
  };
326
+ homepage: {
327
+ getKeyStatistics(): Promise<{
328
+ data: {
329
+ assets: number;
330
+ contentTypes: number;
331
+ components: number;
332
+ locales: any;
333
+ admins: number;
334
+ webhooks: number;
335
+ apiTokens: number;
336
+ };
337
+ }>;
338
+ };
313
339
  };
314
340
  contentTypes: {
315
341
  permission: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";AAeA,QAAA,IAAI,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWR,CAAC;AAUF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";AAeA,QAAA,IAAI,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWR,CAAC;AAUF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,10 @@
1
+ declare const _default: {
2
+ method: string;
3
+ path: string;
4
+ handler: string;
5
+ config: {
6
+ policies: string[];
7
+ };
8
+ }[];
9
+ export default _default;
10
+ //# sourceMappingURL=homepage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/homepage.ts"],"names":[],"mappings":";;;;;;;;AAAA,wBASE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/index.ts"],"names":[],"mappings":";AAUA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAeX,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/index.ts"],"names":[],"mappings":";AAWA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { Core } from '@strapi/types';
2
+ export declare const homepageService: ({ strapi }: {
3
+ strapi: Core.Strapi;
4
+ }) => {
5
+ getKeyStatistics: () => Promise<{
6
+ assets: number;
7
+ contentTypes: number;
8
+ components: number;
9
+ locales: any;
10
+ admins: number;
11
+ webhooks: number;
12
+ apiTokens: number;
13
+ }>;
14
+ };
15
+ //# sourceMappingURL=homepage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../../server/src/services/homepage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAMrC,eAAO,MAAM,eAAe,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;;;;;;;;;;CA+BlE,CAAC"}
@@ -117,6 +117,19 @@ declare const _default: {
117
117
  }) => {
118
118
  getCompletedActions: () => Promise<(keyof import("./guided-tour").GuidedTourRequiredActions)[]>;
119
119
  };
120
+ homepage: ({ strapi }: {
121
+ strapi: import("@strapi/types/dist/core").Strapi;
122
+ }) => {
123
+ getKeyStatistics: () => Promise<{
124
+ assets: number;
125
+ contentTypes: number;
126
+ components: number;
127
+ locales: any;
128
+ admins: number;
129
+ webhooks: number;
130
+ apiTokens: number;
131
+ }>;
132
+ };
120
133
  };
121
134
  export default _default;
122
135
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,eAAe,MAAM,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAItD,wBAiBE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,eAAe,MAAM,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKtD,wBAkBE"}
@@ -23,3 +23,33 @@ export declare namespace GetRecentDocuments {
23
23
  error?: errors.ApplicationError;
24
24
  }
25
25
  }
26
+ export declare namespace GetKeyStatistics {
27
+ interface Request {
28
+ body: {};
29
+ }
30
+ interface Response {
31
+ data: {
32
+ assets: number;
33
+ contentTypes: number;
34
+ components: number;
35
+ locales: number | null;
36
+ admins: number;
37
+ webhooks: number;
38
+ apiTokens: number;
39
+ };
40
+ error?: errors.ApplicationError;
41
+ }
42
+ }
43
+ export declare namespace GetCountDocuments {
44
+ interface Request {
45
+ body: {};
46
+ }
47
+ interface Response {
48
+ data: {
49
+ draft: number;
50
+ published: number;
51
+ modified: number;
52
+ };
53
+ error?: errors.ApplicationError;
54
+ }
55
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../shared/contracts/homepage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGjD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC;IAC7B,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC;IAC1C,UAAiB,OAAO;QACtB,IAAI,EAAE,EAAE,CAAC;QACT,KAAK,EAAE;YACL,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;SAC9B,CAAC;KACH;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;KACjC;CACF"}
1
+ {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../shared/contracts/homepage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGjD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC;IAC7B,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC;IAC1C,UAAiB,OAAO;QACtB,IAAI,EAAE,EAAE,CAAC;QACT,KAAK,EAAE;YACL,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;SAC9B,CAAC;KACH;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;KACjC;CACF;AAED,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC,UAAiB,OAAO;QACtB,IAAI,EAAE,EAAE,CAAC;KACV;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM,CAAC;YACf,YAAY,EAAE,MAAM,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC;YACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;KACjC;CACF;AAED,MAAM,CAAC,OAAO,WAAW,iBAAiB,CAAC;IACzC,UAAiB,OAAO;QACtB,IAAI,EAAE,EAAE,CAAC;KACV;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC;YACd,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;KACjC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/admin",
3
- "version": "5.20.0",
3
+ "version": "5.22.0",
4
4
  "description": "Strapi Admin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -86,10 +86,10 @@
86
86
  "@reduxjs/toolkit": "1.9.7",
87
87
  "@strapi/design-system": "2.0.0-rc.29",
88
88
  "@strapi/icons": "2.0.0-rc.29",
89
- "@strapi/permissions": "5.20.0",
90
- "@strapi/types": "5.20.0",
91
- "@strapi/typescript-utils": "5.20.0",
92
- "@strapi/utils": "5.20.0",
89
+ "@strapi/permissions": "5.22.0",
90
+ "@strapi/types": "5.22.0",
91
+ "@strapi/typescript-utils": "5.22.0",
92
+ "@strapi/utils": "5.22.0",
93
93
  "@testing-library/dom": "10.1.0",
94
94
  "@testing-library/react": "15.0.7",
95
95
  "@testing-library/user-event": "14.5.2",
@@ -143,8 +143,8 @@
143
143
  "zod": "3.25.67"
144
144
  },
145
145
  "devDependencies": {
146
- "@strapi/admin-test-utils": "5.20.0",
147
- "@strapi/data-transfer": "5.20.0",
146
+ "@strapi/admin-test-utils": "5.22.0",
147
+ "@strapi/data-transfer": "5.22.0",
148
148
  "@types/codemirror5": "npm:@types/codemirror@^5.60.15",
149
149
  "@types/fs-extra": "11.0.4",
150
150
  "@types/invariant": "2.2.36",