@webbio/strapi-plugin-page-builder 0.12.2-platform → 0.12.3-platform

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 (172) hide show
  1. package/README.md +166 -166
  2. package/admin/src/api/collection-type.ts +111 -111
  3. package/admin/src/api/entity-relation.ts +42 -42
  4. package/admin/src/api/has-page-relation.ts +37 -37
  5. package/admin/src/api/has-platform-relation.ts +40 -40
  6. package/admin/src/api/page-type-relation.ts +41 -41
  7. package/admin/src/api/platform-page-types.ts +45 -45
  8. package/admin/src/api/platform-relation.ts +42 -42
  9. package/admin/src/api/platform.ts +35 -35
  10. package/admin/src/api/search-filtered-entity.ts +114 -114
  11. package/admin/src/api/template.ts +39 -39
  12. package/admin/src/components/Combobox/index.tsx +83 -83
  13. package/admin/src/components/Combobox/react-select-custom-styles.tsx +121 -121
  14. package/admin/src/components/Combobox/styles.ts +46 -46
  15. package/admin/src/components/ConfirmModal/index.tsx +90 -90
  16. package/admin/src/components/EditView/CollectionTypeSearch/index.tsx +127 -127
  17. package/admin/src/components/EditView/CollectionTypeSettings/CreatePageButton/index.tsx +149 -149
  18. package/admin/src/components/EditView/CollectionTypeSettings/CreatePageButton/styles.ts +19 -19
  19. package/admin/src/components/EditView/CollectionTypeSettings/index.tsx +82 -82
  20. package/admin/src/components/EditView/Details/index.tsx +48 -48
  21. package/admin/src/components/EditView/Details/styles.ts +51 -51
  22. package/admin/src/components/EditView/PageSettings/index.tsx +124 -124
  23. package/admin/src/components/EditView/Platform/platform-select.tsx +30 -30
  24. package/admin/src/components/EditView/Template/TemplateConfirmModal/index.tsx +36 -36
  25. package/admin/src/components/EditView/Template/TemplateSelect/index.tsx +70 -70
  26. package/admin/src/components/EditView/Template/TemplateSelect/use-template-modules.ts +41 -41
  27. package/admin/src/components/EditView/index.tsx +35 -35
  28. package/admin/src/components/EditView/page-type-select.tsx +32 -32
  29. package/admin/src/components/EditView/wrapper.tsx +41 -41
  30. package/admin/src/components/GlobalPlatformSelect/index.tsx +40 -40
  31. package/admin/src/components/GlobalPlatformSelect/styles.ts +27 -27
  32. package/admin/src/components/Initializer/index.tsx +24 -24
  33. package/admin/src/components/PageFilters/PageTypeFilter/index.tsx +39 -39
  34. package/admin/src/components/PageFilters/PlatformFilter/index.tsx +32 -32
  35. package/admin/src/components/PageFilters/filters.tsx +189 -189
  36. package/admin/src/components/PageFilters/index.tsx +35 -35
  37. package/admin/src/components/PageTypeEditView/TemplatePlatformSelect/index.tsx +76 -76
  38. package/admin/src/components/PageTypeEditView/index.tsx +53 -53
  39. package/admin/src/components/PlatformFilteredSelectField/InputIcon/index.tsx +23 -23
  40. package/admin/src/components/PlatformFilteredSelectField/Multi/index.tsx +210 -210
  41. package/admin/src/components/PlatformFilteredSelectField/Single/index.tsx +197 -197
  42. package/admin/src/components/PlatformFilteredSelectField/hooks/useRelationLoad.tsx +128 -128
  43. package/admin/src/components/PlatformFilteredSelectField/index.tsx +85 -85
  44. package/admin/src/components/PlatformFilteredSelectField/styles.tsx +77 -77
  45. package/admin/src/components/PlatformFilteredSelectField/utils/get-translations.ts +3 -3
  46. package/admin/src/components/PlatformFilteredSelectField/utils/relation-helper.ts +147 -147
  47. package/admin/src/components/PluginIcon/index.tsx +94 -94
  48. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/components/Relations/RelationInput.tsx +689 -689
  49. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/components/Relations/RelationInputDataManager.tsx +6 -6
  50. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/components/Relations/useRelation.ts +170 -170
  51. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/components/Relations/utils/getRelationLink.ts +5 -5
  52. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/components/Relations/utils/normalizeRelations.ts +52 -52
  53. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/constants/attributes.ts +3 -3
  54. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/hooks/useDragAndDrop.ts +253 -253
  55. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/hooks/useKeyboardDragAndDrop.ts +96 -96
  56. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/hooks/usePrev.ts +11 -11
  57. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/utils/dragAndDrop.ts +8 -8
  58. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/utils/paths.ts +29 -29
  59. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/utils/refs.ts +19 -19
  60. package/admin/src/components/StrapiCore/admin/admin/src/content-manager/utils/translations.ts +3 -3
  61. package/admin/src/components/StrapiCore/content-manager/shared/contracts/collection-types.ts +300 -300
  62. package/admin/src/components/StrapiCore/content-manager/shared/contracts/components.ts +72 -72
  63. package/admin/src/components/StrapiCore/content-manager/shared/contracts/content-types.ts +116 -116
  64. package/admin/src/components/StrapiCore/content-manager/shared/contracts/index.ts +8 -8
  65. package/admin/src/components/StrapiCore/content-manager/shared/contracts/init.ts +22 -22
  66. package/admin/src/components/StrapiCore/content-manager/shared/contracts/relations.ts +80 -80
  67. package/admin/src/components/StrapiCore/content-manager/shared/contracts/review-workflows.ts +88 -88
  68. package/admin/src/components/StrapiCore/content-manager/shared/contracts/single-types.ts +112 -112
  69. package/admin/src/components/StrapiCore/content-manager/shared/contracts/uid.ts +48 -48
  70. package/admin/src/components/StrapiCore/content-manager/shared/index.ts +1 -1
  71. package/admin/src/constants.ts +3 -3
  72. package/admin/src/index.tsx +101 -101
  73. package/admin/src/middlewares/index.tsx +37 -37
  74. package/admin/src/pages/app/index.tsx +14 -14
  75. package/admin/src/pluginId.ts +5 -5
  76. package/admin/src/translations/en.json +9 -9
  77. package/admin/src/translations/nl.json +9 -9
  78. package/admin/src/utils/findDomElement.ts +6 -6
  79. package/admin/src/utils/findElementParent.ts +20 -20
  80. package/admin/src/utils/getObjectFromFormName.ts +42 -42
  81. package/admin/src/utils/getRequestUrl.ts +11 -11
  82. package/admin/src/utils/getTrad.ts +5 -5
  83. package/admin/src/utils/hooks/useDebounce.ts +17 -17
  84. package/admin/src/utils/hooks/useDefaultPlatformFromLocalStorage.ts +61 -61
  85. package/admin/src/utils/hooks/useGetLocaleFromUrl.ts +9 -9
  86. package/admin/src/utils/hooks/useHideOverviewFilterTags.ts +34 -34
  87. package/admin/src/utils/hooks/usePlatformFormData.ts +64 -64
  88. package/admin/src/utils/hooks/usePrevious.ts +12 -12
  89. package/admin/src/utils/sanitizeModules.ts +93 -93
  90. package/custom.d.ts +6 -6
  91. package/dist/package.json +1 -1
  92. package/dist/server/bootstrap.js +1 -1
  93. package/dist/server/graphql/page-by-path.js +20 -17
  94. package/dist/server/graphql/pages-by-uid.js +5 -5
  95. package/dist/server/services/private-content/graphql/index.js +27 -27
  96. package/dist/server/services/private-content/graphql/types/index.js +74 -74
  97. package/dist/tsconfig.server.tsbuildinfo +1 -1
  98. package/package.json +78 -78
  99. package/server/bootstrap/collection-type-lifecycles.ts +47 -47
  100. package/server/bootstrap/permissions.ts +161 -161
  101. package/server/bootstrap.ts +261 -261
  102. package/server/config/index.ts +4 -4
  103. package/server/content-types/index.ts +7 -7
  104. package/server/content-types/user-category/schema.json +23 -23
  105. package/server/controllers/collection-types.ts +32 -32
  106. package/server/controllers/index.ts +19 -19
  107. package/server/controllers/page-type.ts +18 -18
  108. package/server/controllers/page.ts +9 -9
  109. package/server/controllers/platform.ts +21 -21
  110. package/server/controllers/private-content.ts +17 -17
  111. package/server/controllers/sitemap.ts +32 -32
  112. package/server/controllers/template.ts +16 -16
  113. package/server/controllers/user-category.ts +3 -3
  114. package/server/destroy.ts +5 -5
  115. package/server/graphql/index.ts +9 -9
  116. package/server/graphql/page-by-path.ts +135 -132
  117. package/server/graphql/page-type.ts +67 -67
  118. package/server/graphql/pages-by-uid.ts +89 -89
  119. package/server/index.ts +23 -23
  120. package/server/middlewares/index.ts +1 -1
  121. package/server/policies/index.ts +5 -5
  122. package/server/policies/isAuthorizedPage.ts +11 -11
  123. package/server/register.ts +22 -22
  124. package/server/routes/index.ts +115 -115
  125. package/server/routes/user-category.ts +3 -3
  126. package/server/schema/page-end.json +96 -96
  127. package/server/schema/page-start.json +87 -87
  128. package/server/schema/page-type-end.json +53 -53
  129. package/server/schema/page-type-start.json +38 -38
  130. package/server/schema/platform-start.json +21 -21
  131. package/server/schema/template-end.json +40 -40
  132. package/server/schema/template-start.json +35 -35
  133. package/server/services/builder.ts +232 -232
  134. package/server/services/collection-types.ts +95 -95
  135. package/server/services/email.ts +127 -127
  136. package/server/services/index.ts +23 -23
  137. package/server/services/page-type.ts +30 -30
  138. package/server/services/page.ts +24 -24
  139. package/server/services/platform.ts +30 -30
  140. package/server/services/private-content/components/admin-email.json +22 -22
  141. package/server/services/private-content/components/email.json +22 -22
  142. package/server/services/private-content/components/platform-email.json +30 -30
  143. package/server/services/private-content/constants/index.ts +13 -13
  144. package/server/services/private-content/graphql/index.ts +88 -88
  145. package/server/services/private-content/graphql/resolvers/findOnePage.ts +40 -40
  146. package/server/services/private-content/graphql/resolvers/findPage.ts +45 -45
  147. package/server/services/private-content/graphql/resolvers/forgot-password.ts +34 -34
  148. package/server/services/private-content/graphql/resolvers/login.ts +56 -56
  149. package/server/services/private-content/graphql/resolvers/register.ts +78 -78
  150. package/server/services/private-content/graphql/resolvers/reset-password.ts +44 -44
  151. package/server/services/private-content/graphql/types/index.ts +96 -96
  152. package/server/services/private-content/index.ts +95 -95
  153. package/server/services/private-content/mail-template/txtMail.email.template.text.ts +6 -6
  154. package/server/services/private-content/page.ts +20 -20
  155. package/server/services/private-content/platform.ts +19 -19
  156. package/server/services/private-content/schemas/index.ts +28 -28
  157. package/server/services/private-content/user.ts +197 -197
  158. package/server/services/sitemap.ts +83 -83
  159. package/server/services/template.ts +13 -13
  160. package/server/services/user-category.ts +3 -3
  161. package/server/utils/filter-underscore-arguments.ts +12 -12
  162. package/server/utils/reload-strapi-on-load.ts +13 -13
  163. package/server/utils/strapi.ts +50 -50
  164. package/shared/utils/constants.ts +8 -8
  165. package/shared/utils/sleep.ts +1 -1
  166. package/strapi-admin.js +3 -3
  167. package/strapi-server.js +3 -3
  168. package/tsconfig.json +20 -20
  169. package/tsconfig.server.json +25 -25
  170. package/dist/server/graphql/page-by-slug.js +0 -89
  171. package/dist/server/utils/graphql.js +0 -100
  172. package/dist/server/utils/paginationValidation.js +0 -31
@@ -1,50 +1,50 @@
1
- import { Common } from '@strapi/strapi';
2
- import pluginId from '../../admin/src/pluginId';
3
-
4
- export const getDeepPopulate = (uid: Common.UID.Component, populate?: any, depth: number = 0) => {
5
- if (populate) {
6
- return populate;
7
- }
8
-
9
- if (depth > 2) {
10
- return {};
11
- }
12
-
13
- const { attributes } = strapi.getModel(uid);
14
-
15
- return Object.keys(attributes).reduce((populateAcc, attributeName) => {
16
- const attribute = attributes[attributeName];
17
-
18
- if (attribute.type === 'component') {
19
- populateAcc[attributeName] = {
20
- populate: getDeepPopulate(attribute.component, null, depth + 1)
21
- };
22
- }
23
-
24
- if (attribute.type === 'relation' || attribute.type === 'media') {
25
- populateAcc[attributeName] = true;
26
- }
27
-
28
- if (attribute.type === 'dynamiczone') {
29
- populateAcc[attributeName] = {
30
- populate: (attribute.components || []).reduce((acc, componentUID) => {
31
- return Object.assign(acc, getDeepPopulate(componentUID, null, depth + 1));
32
- }, {})
33
- };
34
- }
35
-
36
- return populateAcc;
37
- }, {});
38
- };
39
-
40
- export const getPopulatedEntity = async (uid, id) => {
41
- const populate = getDeepPopulate(uid);
42
-
43
- return strapi.entityService.findOne(uid, id, {
44
- populate
45
- });
46
- };
47
-
48
- export const getConfig = () => {
49
- return strapi.config.get(`plugin.${pluginId}`) as Record<string, any>;
50
- };
1
+ import { Common } from '@strapi/strapi';
2
+ import pluginId from '../../admin/src/pluginId';
3
+
4
+ export const getDeepPopulate = (uid: Common.UID.Component, populate?: any, depth: number = 0) => {
5
+ if (populate) {
6
+ return populate;
7
+ }
8
+
9
+ if (depth > 2) {
10
+ return {};
11
+ }
12
+
13
+ const { attributes } = strapi.getModel(uid);
14
+
15
+ return Object.keys(attributes).reduce((populateAcc, attributeName) => {
16
+ const attribute = attributes[attributeName];
17
+
18
+ if (attribute.type === 'component') {
19
+ populateAcc[attributeName] = {
20
+ populate: getDeepPopulate(attribute.component, null, depth + 1)
21
+ };
22
+ }
23
+
24
+ if (attribute.type === 'relation' || attribute.type === 'media') {
25
+ populateAcc[attributeName] = true;
26
+ }
27
+
28
+ if (attribute.type === 'dynamiczone') {
29
+ populateAcc[attributeName] = {
30
+ populate: (attribute.components || []).reduce((acc, componentUID) => {
31
+ return Object.assign(acc, getDeepPopulate(componentUID, null, depth + 1));
32
+ }, {})
33
+ };
34
+ }
35
+
36
+ return populateAcc;
37
+ }, {});
38
+ };
39
+
40
+ export const getPopulatedEntity = async (uid, id) => {
41
+ const populate = getDeepPopulate(uid);
42
+
43
+ return strapi.entityService.findOne(uid, id, {
44
+ populate
45
+ });
46
+ };
47
+
48
+ export const getConfig = () => {
49
+ return strapi.config.get(`plugin.${pluginId}`) as Record<string, any>;
50
+ };
@@ -1,8 +1,8 @@
1
- export const PAGE_UID = 'api::page.page';
2
- export const TEMPLATE_UID = 'api::template.template';
3
- export const PAGE_TYPE_UID = 'api::page-type.page-type';
4
- export const PLATFORM_UID = 'api::platform.platform';
5
- export const PAGE_TYPE_PAGE = 'page';
6
- export const PLATFORM = 'platform';
7
- export const USER_PERMISSION_USER_PLUGIN = 'plugin::users-permissions.user';
8
- export const PAGE_BUILDER_EMAIL_PLUGIN = 'plugin::page-builder.email';
1
+ export const PAGE_UID = 'api::page.page';
2
+ export const TEMPLATE_UID = 'api::template.template';
3
+ export const PAGE_TYPE_UID = 'api::page-type.page-type';
4
+ export const PLATFORM_UID = 'api::platform.platform';
5
+ export const PAGE_TYPE_PAGE = 'page';
6
+ export const PLATFORM = 'platform';
7
+ export const USER_PERMISSION_USER_PLUGIN = 'plugin::users-permissions.user';
8
+ export const PAGE_BUILDER_EMAIL_PLUGIN = 'plugin::page-builder.email';
@@ -1 +1 @@
1
- export const sleep = (ms: number) => new Promise((r) => setTimeout(r, ms));
1
+ export const sleep = (ms: number) => new Promise((r) => setTimeout(r, ms));
package/strapi-admin.js CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';
2
-
3
- module.exports = require('./admin/src').default;
1
+ 'use strict';
2
+
3
+ module.exports = require('./admin/src').default;
package/strapi-server.js CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';
2
-
3
- module.exports = require('./dist/server');
1
+ 'use strict';
2
+
3
+ module.exports = require('./dist/server');
package/tsconfig.json CHANGED
@@ -1,20 +1,20 @@
1
- {
2
- "extends": "@strapi/typescript-utils/tsconfigs/admin",
3
-
4
- "compilerOptions": {
5
- "target": "ESNext",
6
- "strict": true
7
- },
8
-
9
- "include": ["admin", "custom.d.ts"],
10
-
11
- "exclude": [
12
- "node_modules/",
13
- "dist/",
14
-
15
- // Do not include server files in the server compilation
16
- "server/",
17
- // Do not include test files
18
- "**/*.test.ts"
19
- ]
20
- }
1
+ {
2
+ "extends": "@strapi/typescript-utils/tsconfigs/admin",
3
+
4
+ "compilerOptions": {
5
+ "target": "ESNext",
6
+ "strict": true
7
+ },
8
+
9
+ "include": ["admin", "custom.d.ts"],
10
+
11
+ "exclude": [
12
+ "node_modules/",
13
+ "dist/",
14
+
15
+ // Do not include server files in the server compilation
16
+ "server/",
17
+ // Do not include test files
18
+ "**/*.test.ts"
19
+ ]
20
+ }
@@ -1,25 +1,25 @@
1
- {
2
- "extends": "@strapi/typescript-utils/tsconfigs/server",
3
-
4
- "compilerOptions": {
5
- "outDir": "dist",
6
- "rootDir": "."
7
- },
8
-
9
- "include": [
10
- // Include the root directory
11
- "server",
12
- // Force the JSON files in the src folder to be included
13
- "server/**/*.json"
14
- ],
15
-
16
- "exclude": [
17
- "node_modules/",
18
- "dist/",
19
-
20
- // Do not include admin files in the server compilation
21
- "admin/",
22
- // Do not include test files
23
- "**/*.test.ts"
24
- ]
25
- }
1
+ {
2
+ "extends": "@strapi/typescript-utils/tsconfigs/server",
3
+
4
+ "compilerOptions": {
5
+ "outDir": "dist",
6
+ "rootDir": "."
7
+ },
8
+
9
+ "include": [
10
+ // Include the root directory
11
+ "server",
12
+ // Force the JSON files in the src folder to be included
13
+ "server/**/*.json"
14
+ ],
15
+
16
+ "exclude": [
17
+ "node_modules/",
18
+ "dist/",
19
+
20
+ // Do not include admin files in the server compilation
21
+ "admin/",
22
+ // Do not include test files
23
+ "**/*.test.ts"
24
+ ]
25
+ }
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const filter_underscore_arguments_1 = require("../utils/filter-underscore-arguments");
4
- const constants_1 = require("../../shared/utils/constants");
5
- const getPageBySlug = (strapi) => {
6
- const typeDefs = () => {
7
- return `
8
- extend type Page {
9
- collectionType: GenericMorph
10
- }
11
-
12
- type Query {
13
- getPageBySlug(path: String, _domain: String, _locale: String, _publicationState: PublicationState): PageEntity
14
- }
15
-
16
- `;
17
- };
18
- const resolvers = (strapi) => {
19
- const { transformArgs } = strapi.plugin('graphql').service('builders').utils;
20
- return {
21
- Query: {
22
- getPageBySlug: {
23
- resolve: async (_parent, args, ctx) => {
24
- var _a;
25
- try {
26
- const filteredArgs = {
27
- ...(0, filter_underscore_arguments_1.filterUnderscoreArguments)(args),
28
- platform: { domain: args._domain }
29
- };
30
- const { toEntityResponse } = strapi.plugin('graphql').service('format').returnTypes;
31
- const getPage = async () => {
32
- var _a, _b, _c;
33
- const transformedArgs = transformArgs(filteredArgs, {
34
- contentType: strapi.contentTypes[constants_1.PAGE_UID],
35
- usePagination: false
36
- });
37
- const results = await ((_a = strapi.entityService) === null || _a === void 0 ? void 0 : _a.findMany(constants_1.PAGE_UID, {
38
- filters: filteredArgs,
39
- locale: args._locale,
40
- publicationState: args._publicationState,
41
- populate: '*'
42
- }));
43
- const entityResponse = toEntityResponse((results === null || results === void 0 ? void 0 : results[0]) || {}, {
44
- args: transformedArgs,
45
- resourceUID: constants_1.PAGE_UID
46
- });
47
- if (!(entityResponse === null || entityResponse === void 0 ? void 0 : entityResponse.value) || Object.keys(entityResponse.value).length === 0) {
48
- throw new Error(ctx.koaContext.response.message);
49
- }
50
- const collectionTypeDataFilter = (_c = (_b = entityResponse === null || entityResponse === void 0 ? void 0 : entityResponse.value) === null || _b === void 0 ? void 0 : _b.collectionTypeData) === null || _c === void 0 ? void 0 : _c.filter(Boolean);
51
- const collectionType = collectionTypeDataFilter.length === 1 ? collectionTypeDataFilter === null || collectionTypeDataFilter === void 0 ? void 0 : collectionTypeDataFilter[0] : null;
52
- const addedAttributes = {
53
- collectionType: collectionType
54
- };
55
- const result = {
56
- ...entityResponse.value,
57
- ...addedAttributes
58
- };
59
- return result;
60
- };
61
- const results = await getPage();
62
- if (((_a = Object.values(results)) === null || _a === void 0 ? void 0 : _a.filter(Boolean).length) > 0) {
63
- return results;
64
- }
65
- else {
66
- throw new Error(ctx.koaContext.response.message);
67
- }
68
- }
69
- catch (error) {
70
- console.log('Error in getPageBySlug:', error);
71
- throw new Error(ctx.koaContext.response.message);
72
- }
73
- }
74
- }
75
- }
76
- };
77
- };
78
- const resolversConfig = {
79
- 'Query.getPageBySlug': {
80
- auth: false
81
- }
82
- };
83
- return {
84
- typeDefs: typeDefs(),
85
- resolvers: resolvers(strapi),
86
- resolversConfig
87
- };
88
- };
89
- exports.default = getPageBySlug;
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerGraphQLResolvers = void 0;
4
- const constants_1 = require("../../shared/utils/constants");
5
- const findPageByPath = (strapi) => {
6
- const typeDefs = `
7
- type Query {
8
- findPageByPath(path: String, locale: I18NLocaleCode): PageEntityResponse
9
- }
10
- `;
11
- const resolvers = (strapi) => {
12
- const { transformArgs } = strapi.plugin('graphql').service('builders').utils;
13
- const { toEntityResponse, toEntityResponseCollection } = strapi.plugin('graphql').service('format').returnTypes;
14
- return {
15
- Query: {
16
- findPageByPath: {
17
- resolve: async (parent, args, ctx) => {
18
- const contentType = strapi.getModel(constants_1.PAGE_UID);
19
- const transformedArgs = transformArgs(args, { contentType });
20
- const queryResult = await strapi.entityService.findMany(contentType.uid, {
21
- filters: {
22
- path: {
23
- $eq: transformedArgs.path
24
- }
25
- },
26
- locale: transformedArgs.locale
27
- });
28
- const result = queryResult === null || queryResult === void 0 ? void 0 : queryResult[0];
29
- return toEntityResponse(result, {
30
- args: transformedArgs,
31
- resourceUID: contentType.uid
32
- });
33
- }
34
- }
35
- }
36
- };
37
- };
38
- const resolversConfig = {
39
- 'Query.findPageByPath': {
40
- auth: false
41
- }
42
- };
43
- return {
44
- typeDefs,
45
- resolvers: resolvers(strapi),
46
- resolversConfig
47
- };
48
- };
49
- const findPagePaths = (strapi) => {
50
- const typeDefs = `
51
- type PageByPath {
52
- id: Int!
53
- path: String!
54
- title: String!
55
- locale: String!
56
- pageType: ENUM_PAGE_PAGETYPE
57
- updatedAt: DateTime!
58
- publishedAt: DateTime!
59
- }
60
-
61
- type Query {
62
- findPagePaths(locale: String, pageType: String = "all"): [PageByPath]
63
- }
64
- `;
65
- const resolvers = (strapi) => {
66
- const { transformArgs } = strapi.plugin('graphql').service('builders').utils;
67
- return {
68
- Query: {
69
- findPagePaths: {
70
- resolve: async (parent, args, ctx) => {
71
- const contentType = strapi.getModel(constants_1.PAGE_UID);
72
- const transformedArgs = transformArgs(args, { contentType });
73
- const queryResult = await strapi.entityService.findMany(contentType.uid, {
74
- populate: '*',
75
- locale: transformedArgs.locale
76
- });
77
- const result = queryResult.filter((page) => page === null || page === void 0 ? void 0 : page.path);
78
- return result;
79
- }
80
- }
81
- }
82
- };
83
- };
84
- const resolversConfig = {
85
- 'Query.findPagePaths': {
86
- auth: false
87
- }
88
- };
89
- return {
90
- typeDefs,
91
- resolvers: resolvers(strapi),
92
- resolversConfig
93
- };
94
- };
95
- const registerGraphQLResolvers = (strapi) => {
96
- const extensionService = strapi.plugin('graphql').service('extension');
97
- extensionService.use(findPageByPath(strapi));
98
- extensionService.use(findPagePaths(strapi));
99
- };
100
- exports.registerGraphQLResolvers = registerGraphQLResolvers;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Pagination = void 0;
4
- class Pagination {
5
- static checkPagination(page, pageSize) {
6
- const startPage = page === 1 ? 0 : page - 1;
7
- const start = startPage * pageSize;
8
- const limit = (startPage + 1) * pageSize;
9
- return { start, limit };
10
- }
11
- static async getPaginationInfo(transformedpageArgs, transformArgs, start, pageSize, entityResponse, uid) {
12
- var _a;
13
- const total = await ((_a = strapi === null || strapi === void 0 ? void 0 : strapi.entityService) === null || _a === void 0 ? void 0 : _a.count(uid, {
14
- filters: {
15
- ...transformArgs.filters,
16
- hasPage: { $eq: true },
17
- page: { ...transformedpageArgs.filters }
18
- }
19
- }));
20
- const pageCount = Math.ceil(total / pageSize);
21
- const page = Math.floor(start / pageSize) + 1;
22
- entityResponse.metaInfo = {
23
- total,
24
- pageCount,
25
- page,
26
- pageSize
27
- };
28
- return entityResponse;
29
- }
30
- }
31
- exports.Pagination = Pagination;