@webiny/api-website-builder 6.0.0-alpha.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 (180) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +33 -0
  3. package/WebsiteBuilderContextSetup.d.ts +12 -0
  4. package/WebsiteBuilderContextSetup.js +91 -0
  5. package/WebsiteBuilderContextSetup.js.map +1 -0
  6. package/constants.d.ts +3 -0
  7. package/constants.js +11 -0
  8. package/constants.js.map +1 -0
  9. package/createWebsiteBuilder.d.ts +2 -0
  10. package/createWebsiteBuilder.js +16 -0
  11. package/createWebsiteBuilder.js.map +1 -0
  12. package/createWebsiteBuilderGraphQL.d.ts +4 -0
  13. package/createWebsiteBuilderGraphQL.js +124 -0
  14. package/createWebsiteBuilderGraphQL.js.map +1 -0
  15. package/index.d.ts +3 -0
  16. package/index.js +23 -0
  17. package/index.js.map +1 -0
  18. package/package.json +54 -0
  19. package/page/CmsPagesStorage.d.ts +23 -0
  20. package/page/CmsPagesStorage.js +106 -0
  21. package/page/CmsPagesStorage.js.map +1 -0
  22. package/page/page.crud.d.ts +3 -0
  23. package/page/page.crud.js +208 -0
  24. package/page/page.crud.js.map +1 -0
  25. package/page/page.gql.d.ts +10 -0
  26. package/page/page.gql.js +380 -0
  27. package/page/page.gql.js.map +1 -0
  28. package/page/page.model.d.ts +3 -0
  29. package/page/page.model.js +50 -0
  30. package/page/page.model.js.map +1 -0
  31. package/page/page.modelModifier.d.ts +23 -0
  32. package/page/page.modelModifier.js +56 -0
  33. package/page/page.modelModifier.js.map +1 -0
  34. package/page/page.types.d.ts +307 -0
  35. package/page/page.types.js +7 -0
  36. package/page/page.types.js.map +1 -0
  37. package/page/useCases/CreatePage/CreatePage.d.ts +7 -0
  38. package/page/useCases/CreatePage/CreatePage.js +19 -0
  39. package/page/useCases/CreatePage/CreatePage.js.map +1 -0
  40. package/page/useCases/CreatePage/CreatePageWithEvents.d.ts +9 -0
  41. package/page/useCases/CreatePage/CreatePageWithEvents.js +25 -0
  42. package/page/useCases/CreatePage/CreatePageWithEvents.js.map +1 -0
  43. package/page/useCases/CreatePage/ICreatePage.d.ts +4 -0
  44. package/page/useCases/CreatePage/ICreatePage.js +7 -0
  45. package/page/useCases/CreatePage/ICreatePage.js.map +1 -0
  46. package/page/useCases/CreatePage/index.d.ts +15 -0
  47. package/page/useCases/CreatePage/index.js +18 -0
  48. package/page/useCases/CreatePage/index.js.map +1 -0
  49. package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFrom.d.ts +7 -0
  50. package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFrom.js +17 -0
  51. package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFrom.js.map +1 -0
  52. package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.d.ts +10 -0
  53. package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js +32 -0
  54. package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js.map +1 -0
  55. package/page/useCases/CreatePageRevisionFrom/ICreatePageRevisionFrom.d.ts +4 -0
  56. package/page/useCases/CreatePageRevisionFrom/ICreatePageRevisionFrom.js +7 -0
  57. package/page/useCases/CreatePageRevisionFrom/ICreatePageRevisionFrom.js.map +1 -0
  58. package/page/useCases/CreatePageRevisionFrom/index.d.ts +16 -0
  59. package/page/useCases/CreatePageRevisionFrom/index.js +18 -0
  60. package/page/useCases/CreatePageRevisionFrom/index.js.map +1 -0
  61. package/page/useCases/DeletePage/DeletePage.d.ts +7 -0
  62. package/page/useCases/DeletePage/DeletePage.js +17 -0
  63. package/page/useCases/DeletePage/DeletePage.js.map +1 -0
  64. package/page/useCases/DeletePage/DeletePageWithEvents.d.ts +10 -0
  65. package/page/useCases/DeletePage/DeletePageWithEvents.js +30 -0
  66. package/page/useCases/DeletePage/DeletePageWithEvents.js.map +1 -0
  67. package/page/useCases/DeletePage/IDeletePage.d.ts +4 -0
  68. package/page/useCases/DeletePage/IDeletePage.js +7 -0
  69. package/page/useCases/DeletePage/IDeletePage.js.map +1 -0
  70. package/page/useCases/DeletePage/index.d.ts +16 -0
  71. package/page/useCases/DeletePage/index.js +18 -0
  72. package/page/useCases/DeletePage/index.js.map +1 -0
  73. package/page/useCases/DuplicatePage/DuplicatePage.d.ts +9 -0
  74. package/page/useCases/DuplicatePage/DuplicatePage.js +43 -0
  75. package/page/useCases/DuplicatePage/DuplicatePage.js.map +1 -0
  76. package/page/useCases/DuplicatePage/DuplicatePageWithEvents.d.ts +10 -0
  77. package/page/useCases/DuplicatePage/DuplicatePageWithEvents.js +36 -0
  78. package/page/useCases/DuplicatePage/DuplicatePageWithEvents.js.map +1 -0
  79. package/page/useCases/DuplicatePage/IDuplicatePage.d.ts +4 -0
  80. package/page/useCases/DuplicatePage/IDuplicatePage.js +7 -0
  81. package/page/useCases/DuplicatePage/IDuplicatePage.js.map +1 -0
  82. package/page/useCases/DuplicatePage/index.d.ts +16 -0
  83. package/page/useCases/DuplicatePage/index.js +18 -0
  84. package/page/useCases/DuplicatePage/index.js.map +1 -0
  85. package/page/useCases/GetPageById/GetPageById.d.ts +7 -0
  86. package/page/useCases/GetPageById/GetPageById.js +17 -0
  87. package/page/useCases/GetPageById/GetPageById.js.map +1 -0
  88. package/page/useCases/GetPageById/IGetPageById.d.ts +4 -0
  89. package/page/useCases/GetPageById/IGetPageById.js +7 -0
  90. package/page/useCases/GetPageById/IGetPageById.js.map +1 -0
  91. package/page/useCases/GetPageById/index.d.ts +9 -0
  92. package/page/useCases/GetPageById/index.js +16 -0
  93. package/page/useCases/GetPageById/index.js.map +1 -0
  94. package/page/useCases/GetPageByPath/GetPageByPath.d.ts +11 -0
  95. package/page/useCases/GetPageByPath/GetPageByPath.js +28 -0
  96. package/page/useCases/GetPageByPath/GetPageByPath.js.map +1 -0
  97. package/page/useCases/GetPageByPath/IGetPageByPath.d.ts +4 -0
  98. package/page/useCases/GetPageByPath/IGetPageByPath.js +7 -0
  99. package/page/useCases/GetPageByPath/IGetPageByPath.js.map +1 -0
  100. package/page/useCases/GetPageByPath/index.d.ts +9 -0
  101. package/page/useCases/GetPageByPath/index.js +16 -0
  102. package/page/useCases/GetPageByPath/index.js.map +1 -0
  103. package/page/useCases/GetPageRevisions/GetPageRevisions.d.ts +7 -0
  104. package/page/useCases/GetPageRevisions/GetPageRevisions.js +17 -0
  105. package/page/useCases/GetPageRevisions/GetPageRevisions.js.map +1 -0
  106. package/page/useCases/GetPageRevisions/IGetPageById.d.ts +4 -0
  107. package/page/useCases/GetPageRevisions/IGetPageById.js +7 -0
  108. package/page/useCases/GetPageRevisions/IGetPageById.js.map +1 -0
  109. package/page/useCases/GetPageRevisions/index.d.ts +9 -0
  110. package/page/useCases/GetPageRevisions/index.js +16 -0
  111. package/page/useCases/GetPageRevisions/index.js.map +1 -0
  112. package/page/useCases/ListPages/IListPages.d.ts +5 -0
  113. package/page/useCases/ListPages/IListPages.js +7 -0
  114. package/page/useCases/ListPages/IListPages.js.map +1 -0
  115. package/page/useCases/ListPages/ListPages.d.ts +8 -0
  116. package/page/useCases/ListPages/ListPages.js +17 -0
  117. package/page/useCases/ListPages/ListPages.js.map +1 -0
  118. package/page/useCases/ListPages/index.d.ts +9 -0
  119. package/page/useCases/ListPages/index.js +16 -0
  120. package/page/useCases/ListPages/index.js.map +1 -0
  121. package/page/useCases/MovePage/IMovePage.d.ts +4 -0
  122. package/page/useCases/MovePage/IMovePage.js +7 -0
  123. package/page/useCases/MovePage/IMovePage.js.map +1 -0
  124. package/page/useCases/MovePage/MovePage.d.ts +7 -0
  125. package/page/useCases/MovePage/MovePage.js +17 -0
  126. package/page/useCases/MovePage/MovePage.js.map +1 -0
  127. package/page/useCases/MovePage/MovePageWithEvents.d.ts +10 -0
  128. package/page/useCases/MovePage/MovePageWithEvents.js +36 -0
  129. package/page/useCases/MovePage/MovePageWithEvents.js.map +1 -0
  130. package/page/useCases/MovePage/index.d.ts +16 -0
  131. package/page/useCases/MovePage/index.js +18 -0
  132. package/page/useCases/MovePage/index.js.map +1 -0
  133. package/page/useCases/PublishPage/IPublishPage.d.ts +4 -0
  134. package/page/useCases/PublishPage/IPublishPage.js +7 -0
  135. package/page/useCases/PublishPage/IPublishPage.js.map +1 -0
  136. package/page/useCases/PublishPage/PublishPage.d.ts +7 -0
  137. package/page/useCases/PublishPage/PublishPage.js +17 -0
  138. package/page/useCases/PublishPage/PublishPage.js.map +1 -0
  139. package/page/useCases/PublishPage/PublishPageWithEvents.d.ts +10 -0
  140. package/page/useCases/PublishPage/PublishPageWithEvents.js +31 -0
  141. package/page/useCases/PublishPage/PublishPageWithEvents.js.map +1 -0
  142. package/page/useCases/PublishPage/index.d.ts +16 -0
  143. package/page/useCases/PublishPage/index.js +18 -0
  144. package/page/useCases/PublishPage/index.js.map +1 -0
  145. package/page/useCases/UnpublishPage/IUnpublishPage.d.ts +4 -0
  146. package/page/useCases/UnpublishPage/IUnpublishPage.js +7 -0
  147. package/page/useCases/UnpublishPage/IUnpublishPage.js.map +1 -0
  148. package/page/useCases/UnpublishPage/UnpublishPage.d.ts +7 -0
  149. package/page/useCases/UnpublishPage/UnpublishPage.js +17 -0
  150. package/page/useCases/UnpublishPage/UnpublishPage.js.map +1 -0
  151. package/page/useCases/UnpublishPage/UnpublishPageWithEvents.d.ts +10 -0
  152. package/page/useCases/UnpublishPage/UnpublishPageWithEvents.js +31 -0
  153. package/page/useCases/UnpublishPage/UnpublishPageWithEvents.js.map +1 -0
  154. package/page/useCases/UnpublishPage/index.d.ts +16 -0
  155. package/page/useCases/UnpublishPage/index.js +18 -0
  156. package/page/useCases/UnpublishPage/index.js.map +1 -0
  157. package/page/useCases/UpdatePage/IUpdatePage.d.ts +4 -0
  158. package/page/useCases/UpdatePage/IUpdatePage.js +7 -0
  159. package/page/useCases/UpdatePage/IUpdatePage.js.map +1 -0
  160. package/page/useCases/UpdatePage/UpdatePage.d.ts +7 -0
  161. package/page/useCases/UpdatePage/UpdatePage.js +20 -0
  162. package/page/useCases/UpdatePage/UpdatePage.js.map +1 -0
  163. package/page/useCases/UpdatePage/UpdatePageWithEvents.d.ts +10 -0
  164. package/page/useCases/UpdatePage/UpdatePageWithEvents.js +40 -0
  165. package/page/useCases/UpdatePage/UpdatePageWithEvents.js.map +1 -0
  166. package/page/useCases/UpdatePage/index.d.ts +16 -0
  167. package/page/useCases/UpdatePage/index.js +18 -0
  168. package/page/useCases/UpdatePage/index.js.map +1 -0
  169. package/page/useCases/index.d.ts +9 -0
  170. package/page/useCases/index.js +106 -0
  171. package/page/useCases/index.js.map +1 -0
  172. package/types.d.ts +33 -0
  173. package/types.js +7 -0
  174. package/types.js.map +1 -0
  175. package/utils/ensureAuthentication.d.ts +2 -0
  176. package/utils/ensureAuthentication.js +16 -0
  177. package/utils/ensureAuthentication.js.map +1 -0
  178. package/utils/resolve.d.ts +3 -0
  179. package/utils/resolve.js +26 -0
  180. package/utils/resolve.js.map +1 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Webiny
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,33 @@
1
+ # @webiny/api-aco
2
+
3
+ [![](https://img.shields.io/npm/dw/@webiny/api-aco.svg)](https://www.npmjs.com/package/@webiny/api-aco)
4
+ [![](https://img.shields.io/npm/v/@webiny/api-aco.svg)](https://www.npmjs.com/package/@webiny/api-aco)
5
+ [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
6
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
7
+
8
+ ## Install
9
+
10
+ ```
11
+ npm install --save @webiny/api-aco
12
+ ```
13
+
14
+ Or if you prefer yarn:
15
+
16
+ ```
17
+ yarn add @webiny/api-aco
18
+ ```
19
+ ## Testing
20
+
21
+ To run tests api-aco tests with targeted storage operations loaded use:
22
+
23
+ ### DynamoDB
24
+
25
+ ```
26
+ yarn test packages/api-aco/* --keyword=cms:ddb --keyword=aco:base
27
+ ```
28
+
29
+ ### DynamoDB + ElasticSearch
30
+
31
+ ```
32
+ yarn test packages/api-aco/* --keyword=cms:ddb-es --keyword=aco:base
33
+ ```
@@ -0,0 +1,12 @@
1
+ import type { WebsiteBuilderContext, WebsiteBuilderContextObject } from "./types";
2
+ export declare class WebsiteBuilderContextSetup {
3
+ private readonly context;
4
+ constructor(context: WebsiteBuilderContext);
5
+ setupContext(): Promise<WebsiteBuilderContextObject>;
6
+ private getLocaleCode;
7
+ private getIdentity;
8
+ private getTenantId;
9
+ private getPermissions;
10
+ private setupPageCmsStorageOperations;
11
+ private getModel;
12
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.WebsiteBuilderContextSetup = void 0;
8
+ var _error = _interopRequireDefault(require("@webiny/error"));
9
+ var _apiHeadlessCms = require("@webiny/api-headless-cms");
10
+ var _page = require("./page/page.model");
11
+ var _createWebsiteBuilder = require("./createWebsiteBuilder");
12
+ var _page2 = require("./page/page.modelModifier");
13
+ var _CmsPagesStorage = require("./page/CmsPagesStorage");
14
+ class WebsiteBuilderContextSetup {
15
+ constructor(context) {
16
+ this.context = context;
17
+ }
18
+ async setupContext() {
19
+ const storageOperations = {};
20
+ const pageStorageOps = await this.context.security.withoutAuthorization(() => {
21
+ return this.setupPageCmsStorageOperations();
22
+ });
23
+ if (pageStorageOps) {
24
+ storageOperations.pages = pageStorageOps;
25
+ return (0, _createWebsiteBuilder.createWebsiteBuilder)({
26
+ storageOperations,
27
+ getTenantId: this.getTenantId.bind(this),
28
+ getLocaleCode: this.getLocaleCode.bind(this),
29
+ getIdentity: this.getIdentity.bind(this),
30
+ getPermissions: this.getPermissions.bind(this),
31
+ // TODO: maybe this is no longer necessary, as this wil be managed by CMS?
32
+ WEBINY_VERSION: this.context.WEBINY_VERSION
33
+ });
34
+ }
35
+ return {};
36
+ }
37
+ getLocaleCode() {
38
+ const locale = this.context.i18n.getContentLocale();
39
+ if (!locale) {
40
+ throw new _error.default("Missing locale on context.i18n locale in File Manager API.", "LOCALE_ERROR");
41
+ }
42
+ return locale.code;
43
+ }
44
+ getIdentity() {
45
+ return this.context.security.getIdentity();
46
+ }
47
+ getTenantId() {
48
+ return this.context.tenancy.getCurrentTenant().id;
49
+ }
50
+ async getPermissions(name) {
51
+ return this.context.security.getPermissions(name);
52
+ }
53
+ async setupPageCmsStorageOperations() {
54
+ if (!(await (0, _apiHeadlessCms.isHeadlessCmsReady)(this.context))) {
55
+ console.log("Installation pending!");
56
+ return;
57
+ }
58
+
59
+ // This registers code plugins (model group, models)
60
+ const pageModelDefinition = (0, _page.createPageModel)();
61
+ const modelModifiers = this.context.plugins.byType(_page2.CmsModelModifierPlugin.type);
62
+ for (const modifier of modelModifiers) {
63
+ await modifier.modifyModel(pageModelDefinition);
64
+ }
65
+
66
+ // Finally, register all plugins
67
+ this.context.plugins.register([new _apiHeadlessCms.CmsModelPlugin(pageModelDefinition)]);
68
+
69
+ // Now load the page model registered in the previous step
70
+ const pageModel = await this.getModel(_page.PAGE_MODEL_ID);
71
+
72
+ // Overwrite the original `pages` storage ops
73
+ return await _CmsPagesStorage.CmsPagesStorage.create({
74
+ pageModel,
75
+ cms: this.context.cms
76
+ });
77
+ }
78
+ async getModel(modelId) {
79
+ const model = await this.context.cms.getModel(modelId);
80
+ if (!model) {
81
+ throw new _error.default({
82
+ code: "MODEL_NOT_FOUND",
83
+ message: `Content model "${modelId}" was not found!`
84
+ });
85
+ }
86
+ return model;
87
+ }
88
+ }
89
+ exports.WebsiteBuilderContextSetup = WebsiteBuilderContextSetup;
90
+
91
+ //# sourceMappingURL=WebsiteBuilderContextSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_apiHeadlessCms","_page","_createWebsiteBuilder","_page2","_CmsPagesStorage","WebsiteBuilderContextSetup","constructor","context","setupContext","storageOperations","pageStorageOps","security","withoutAuthorization","setupPageCmsStorageOperations","pages","createWebsiteBuilder","getTenantId","bind","getLocaleCode","getIdentity","getPermissions","WEBINY_VERSION","locale","i18n","getContentLocale","WebinyError","code","tenancy","getCurrentTenant","id","name","isHeadlessCmsReady","console","log","pageModelDefinition","createPageModel","modelModifiers","plugins","byType","CmsModelModifierPlugin","type","modifier","modifyModel","register","CmsModelPlugin","pageModel","getModel","PAGE_MODEL_ID","CmsPagesStorage","create","cms","modelId","model","message","exports"],"sources":["WebsiteBuilderContextSetup.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsModelPlugin, isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport { createPageModel, PAGE_MODEL_ID } from \"~/page/page.model\";\nimport type { SecurityPermission } from \"@webiny/api-security/types\";\nimport type {\n WebsiteBuilderContext,\n WebsiteBuilderContextObject,\n WebsiteBuilderStorageOperations\n} from \"~/types\";\nimport { createWebsiteBuilder } from \"~/createWebsiteBuilder\";\nimport { CmsModelModifierPlugin } from \"~/page/page.modelModifier\";\nimport { CmsPagesStorage } from \"~/page/CmsPagesStorage\";\n\nexport class WebsiteBuilderContextSetup {\n private readonly context: WebsiteBuilderContext;\n\n constructor(context: WebsiteBuilderContext) {\n this.context = context;\n }\n\n async setupContext() {\n const storageOperations = {} as WebsiteBuilderStorageOperations;\n\n const pageStorageOps = await this.context.security.withoutAuthorization(() => {\n return this.setupPageCmsStorageOperations();\n });\n\n if (pageStorageOps) {\n storageOperations.pages = pageStorageOps;\n\n return createWebsiteBuilder({\n storageOperations,\n getTenantId: this.getTenantId.bind(this),\n getLocaleCode: this.getLocaleCode.bind(this),\n getIdentity: this.getIdentity.bind(this),\n getPermissions: this.getPermissions.bind(this),\n // TODO: maybe this is no longer necessary, as this wil be managed by CMS?\n WEBINY_VERSION: this.context.WEBINY_VERSION\n });\n }\n\n return {} as WebsiteBuilderContextObject;\n }\n\n private getLocaleCode() {\n const locale = this.context.i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing locale on context.i18n locale in File Manager API.\",\n \"LOCALE_ERROR\"\n );\n }\n return locale.code;\n }\n\n private getIdentity() {\n return this.context.security.getIdentity();\n }\n\n private getTenantId() {\n return this.context.tenancy.getCurrentTenant().id;\n }\n\n private async getPermissions<T extends SecurityPermission = SecurityPermission>(\n name: string\n ): Promise<T[]> {\n return this.context.security.getPermissions(name);\n }\n\n private async setupPageCmsStorageOperations() {\n if (!(await isHeadlessCmsReady(this.context))) {\n console.log(\"Installation pending!\");\n return;\n }\n\n // This registers code plugins (model group, models)\n const pageModelDefinition = createPageModel();\n\n const modelModifiers = this.context.plugins.byType<CmsModelModifierPlugin>(\n CmsModelModifierPlugin.type\n );\n\n for (const modifier of modelModifiers) {\n await modifier.modifyModel(pageModelDefinition);\n }\n\n // Finally, register all plugins\n this.context.plugins.register([new CmsModelPlugin(pageModelDefinition)]);\n\n // Now load the page model registered in the previous step\n const pageModel = await this.getModel(PAGE_MODEL_ID);\n\n // Overwrite the original `pages` storage ops\n return await CmsPagesStorage.create({\n pageModel,\n cms: this.context.cms\n });\n }\n\n private async getModel(modelId: string) {\n const model = await this.context.cms.getModel(modelId);\n if (!model) {\n throw new WebinyError({\n code: \"MODEL_NOT_FOUND\",\n message: `Content model \"${modelId}\" was not found!`\n });\n }\n\n return model;\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/constants.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare const ROOT_FOLDER = "root";
2
+ export declare const WEBSITE_BUILDER_SETTINGS = "WebsiteBuilder/Settings";
3
+ export declare const WEBSITE_BUILDER_INTEGRATIONS = "WebsiteBuilder/Settings/Integrations";
package/constants.js ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WEBSITE_BUILDER_SETTINGS = exports.WEBSITE_BUILDER_INTEGRATIONS = exports.ROOT_FOLDER = void 0;
7
+ const ROOT_FOLDER = exports.ROOT_FOLDER = "root";
8
+ const WEBSITE_BUILDER_SETTINGS = exports.WEBSITE_BUILDER_SETTINGS = "WebsiteBuilder/Settings";
9
+ const WEBSITE_BUILDER_INTEGRATIONS = exports.WEBSITE_BUILDER_INTEGRATIONS = "WebsiteBuilder/Settings/Integrations";
10
+
11
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ROOT_FOLDER","exports","WEBSITE_BUILDER_SETTINGS","WEBSITE_BUILDER_INTEGRATIONS"],"sources":["constants.ts"],"sourcesContent":["export const ROOT_FOLDER = \"root\";\nexport const WEBSITE_BUILDER_SETTINGS = \"WebsiteBuilder/Settings\";\nexport const WEBSITE_BUILDER_INTEGRATIONS = \"WebsiteBuilder/Settings/Integrations\";\n"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,MAAM;AAC1B,MAAME,wBAAwB,GAAAD,OAAA,CAAAC,wBAAA,GAAG,yBAAyB;AAC1D,MAAMC,4BAA4B,GAAAF,OAAA,CAAAE,4BAAA,GAAG,sCAAsC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import type { WebsiteBuilderConfig, WebsiteBuilderContextObject } from "./types";
2
+ export declare const createWebsiteBuilder: (config: WebsiteBuilderConfig) => WebsiteBuilderContextObject;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createWebsiteBuilder = void 0;
7
+ var _page = require("./page/page.crud");
8
+ const createWebsiteBuilder = config => {
9
+ const pagesCrud = (0, _page.createPagesCrud)(config);
10
+ return {
11
+ page: pagesCrud
12
+ };
13
+ };
14
+ exports.createWebsiteBuilder = createWebsiteBuilder;
15
+
16
+ //# sourceMappingURL=createWebsiteBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_page","require","createWebsiteBuilder","config","pagesCrud","createPagesCrud","page","exports"],"sources":["createWebsiteBuilder.ts"],"sourcesContent":["import type { WebsiteBuilderConfig, WebsiteBuilderContextObject } from \"~/types\";\nimport { createPagesCrud } from \"~/page/page.crud\";\n\nexport const createWebsiteBuilder = (config: WebsiteBuilderConfig): WebsiteBuilderContextObject => {\n const pagesCrud = createPagesCrud(config);\n\n return {\n page: pagesCrud\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AAEO,MAAMC,oBAAoB,GAAIC,MAA4B,IAAkC;EAC/F,MAAMC,SAAS,GAAG,IAAAC,qBAAe,EAACF,MAAM,CAAC;EAEzC,OAAO;IACHG,IAAI,EAAEF;EACV,CAAC;AACL,CAAC;AAACG,OAAA,CAAAL,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import { ContextPlugin } from "@webiny/api";
2
+ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
3
+ import type { WebsiteBuilderContext } from "./types";
4
+ export declare const createWebsiteBuilderGraphQL: () => (GraphQLSchemaPlugin<import("@webiny/api/types").Context> | ContextPlugin<WebsiteBuilderContext>)[];
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createWebsiteBuilderGraphQL = void 0;
7
+ var _api = require("@webiny/api");
8
+ var _apiHeadlessCms = require("@webiny/api-headless-cms");
9
+ var _handlerGraphql = require("@webiny/handler-graphql");
10
+ var _createFieldTypePluginRecords = require("@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords");
11
+ var _getSchemaFromFieldPlugins = require("@webiny/api-headless-cms/utils/getSchemaFromFieldPlugins");
12
+ var _page = require("./page/page.model");
13
+ var _page2 = require("./page/page.gql");
14
+ const emptyResolver = () => ({});
15
+ const baseSchema = new _handlerGraphql.GraphQLSchemaPlugin({
16
+ typeDefs: /* GraphQL */`
17
+ type WbQuery {
18
+ _empty: String
19
+ }
20
+
21
+ type WbMutation {
22
+ _empty: String
23
+ }
24
+
25
+ type WbMeta {
26
+ hasMoreItems: Boolean
27
+ totalCount: Int
28
+ cursor: String
29
+ }
30
+
31
+ type WbIdentity {
32
+ id: ID
33
+ displayName: String
34
+ type: String
35
+ }
36
+
37
+ input WbIdentityInput {
38
+ id: String!
39
+ displayName: String!
40
+ type: String!
41
+ }
42
+
43
+ type WbLocation {
44
+ folderId: String
45
+ }
46
+
47
+ input WbLocationInput {
48
+ folderId: String
49
+ }
50
+
51
+ input WbLocationWhereInput {
52
+ folderId: ID
53
+ folderId_in: [ID!]
54
+ folderId_not: ID
55
+ folderId_not_in: [ID!]
56
+ }
57
+
58
+ type WbError {
59
+ code: String
60
+ message: String
61
+ data: JSON
62
+ stack: String
63
+ }
64
+
65
+ type WbBooleanResponse {
66
+ data: Boolean
67
+ error: WbError
68
+ }
69
+
70
+ extend type Query {
71
+ websiteBuilder: WbQuery
72
+ }
73
+
74
+ extend type Mutation {
75
+ websiteBuilder: WbMutation
76
+ }
77
+ `,
78
+ resolvers: {
79
+ Query: {
80
+ websiteBuilder: emptyResolver
81
+ },
82
+ Mutation: {
83
+ websiteBuilder: emptyResolver
84
+ }
85
+ }
86
+ });
87
+ const createWebsiteBuilderGraphQL = () => {
88
+ const pageSchema = new _api.ContextPlugin(async context => {
89
+ if (!(await (0, _apiHeadlessCms.isHeadlessCmsReady)(context))) {
90
+ return;
91
+ }
92
+ await context.security.withoutAuthorization(async () => {
93
+ const model = await context.cms.getModel(_page.PAGE_MODEL_ID);
94
+ const models = await context.cms.listModels();
95
+ const fieldPlugins = (0, _createFieldTypePluginRecords.createFieldTypePluginRecords)(context.plugins);
96
+
97
+ // We need to register all plugins for all the CMS fields.
98
+ const plugins = (0, _getSchemaFromFieldPlugins.createGraphQLSchemaPluginFromFieldPlugins)({
99
+ models,
100
+ type: "manage",
101
+ fieldTypePlugins: fieldPlugins,
102
+ createPlugin: ({
103
+ schema,
104
+ type,
105
+ fieldType
106
+ }) => {
107
+ const plugin = new _handlerGraphql.GraphQLSchemaPlugin(schema);
108
+ plugin.name = `wb.graphql.page.schema.${type}.field.${fieldType}`;
109
+ return plugin;
110
+ }
111
+ });
112
+ const graphQlPlugin = (0, _page2.createPagesSchema)({
113
+ model,
114
+ models,
115
+ plugins: fieldPlugins
116
+ });
117
+ context.plugins.register([...plugins, graphQlPlugin]);
118
+ });
119
+ });
120
+ return [baseSchema, pageSchema];
121
+ };
122
+ exports.createWebsiteBuilderGraphQL = createWebsiteBuilderGraphQL;
123
+
124
+ //# sourceMappingURL=createWebsiteBuilderGraphQL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_api","require","_apiHeadlessCms","_handlerGraphql","_createFieldTypePluginRecords","_getSchemaFromFieldPlugins","_page","_page2","emptyResolver","baseSchema","GraphQLSchemaPlugin","typeDefs","resolvers","Query","websiteBuilder","Mutation","createWebsiteBuilderGraphQL","pageSchema","ContextPlugin","context","isHeadlessCmsReady","security","withoutAuthorization","model","cms","getModel","PAGE_MODEL_ID","models","listModels","fieldPlugins","createFieldTypePluginRecords","plugins","createGraphQLSchemaPluginFromFieldPlugins","type","fieldTypePlugins","createPlugin","schema","fieldType","plugin","name","graphQlPlugin","createPagesSchema","register","exports"],"sources":["createWebsiteBuilderGraphQL.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport type { WebsiteBuilderContext } from \"~/types\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { createFieldTypePluginRecords } from \"@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords\";\nimport { createGraphQLSchemaPluginFromFieldPlugins } from \"@webiny/api-headless-cms/utils/getSchemaFromFieldPlugins\";\nimport { PAGE_MODEL_ID } from \"~/page/page.model\";\nimport { createPagesSchema } from \"~/page/page.gql\";\n\nconst emptyResolver = () => ({});\n\nconst baseSchema = new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type WbQuery {\n _empty: String\n }\n\n type WbMutation {\n _empty: String\n }\n\n type WbMeta {\n hasMoreItems: Boolean\n totalCount: Int\n cursor: String\n }\n\n type WbIdentity {\n id: ID\n displayName: String\n type: String\n }\n\n input WbIdentityInput {\n id: String!\n displayName: String!\n type: String!\n }\n\n type WbLocation {\n folderId: String\n }\n\n input WbLocationInput {\n folderId: String\n }\n\n input WbLocationWhereInput {\n folderId: ID\n folderId_in: [ID!]\n folderId_not: ID\n folderId_not_in: [ID!]\n }\n\n type WbError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type WbBooleanResponse {\n data: Boolean\n error: WbError\n }\n\n extend type Query {\n websiteBuilder: WbQuery\n }\n\n extend type Mutation {\n websiteBuilder: WbMutation\n }\n `,\n resolvers: {\n Query: {\n websiteBuilder: emptyResolver\n },\n Mutation: {\n websiteBuilder: emptyResolver\n }\n }\n});\n\nexport const createWebsiteBuilderGraphQL = () => {\n const pageSchema = new ContextPlugin<WebsiteBuilderContext>(async context => {\n if (!(await isHeadlessCmsReady(context))) {\n return;\n }\n\n await context.security.withoutAuthorization(async () => {\n const model = (await context.cms.getModel(PAGE_MODEL_ID)) as CmsModel;\n const models = await context.cms.listModels();\n const fieldPlugins = createFieldTypePluginRecords(context.plugins);\n\n // We need to register all plugins for all the CMS fields.\n const plugins = createGraphQLSchemaPluginFromFieldPlugins({\n models,\n type: \"manage\",\n fieldTypePlugins: fieldPlugins,\n createPlugin: ({ schema, type, fieldType }) => {\n const plugin = new GraphQLSchemaPlugin(schema);\n plugin.name = `wb.graphql.page.schema.${type}.field.${fieldType}`;\n return plugin;\n }\n });\n\n const graphQlPlugin = createPagesSchema({\n model,\n models,\n plugins: fieldPlugins\n });\n\n context.plugins.register([...plugins, graphQlPlugin]);\n });\n });\n\n return [baseSchema, pageSchema];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAGA,IAAAG,6BAAA,GAAAH,OAAA;AACA,IAAAI,0BAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAEA,MAAMO,aAAa,GAAGA,CAAA,MAAO,CAAC,CAAC,CAAC;AAEhC,MAAMC,UAAU,GAAG,IAAIC,mCAAmB,CAAC;EACvCC,QAAQ,EAAE,aAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,KAAK,EAAE;MACHC,cAAc,EAAEN;IACpB,CAAC;IACDO,QAAQ,EAAE;MACND,cAAc,EAAEN;IACpB;EACJ;AACJ,CAAC,CAAC;AAEK,MAAMQ,2BAA2B,GAAGA,CAAA,KAAM;EAC7C,MAAMC,UAAU,GAAG,IAAIC,kBAAa,CAAwB,MAAMC,OAAO,IAAI;IACzE,IAAI,EAAE,MAAM,IAAAC,kCAAkB,EAACD,OAAO,CAAC,CAAC,EAAE;MACtC;IACJ;IAEA,MAAMA,OAAO,CAACE,QAAQ,CAACC,oBAAoB,CAAC,YAAY;MACpD,MAAMC,KAAK,GAAI,MAAMJ,OAAO,CAACK,GAAG,CAACC,QAAQ,CAACC,mBAAa,CAAc;MACrE,MAAMC,MAAM,GAAG,MAAMR,OAAO,CAACK,GAAG,CAACI,UAAU,CAAC,CAAC;MAC7C,MAAMC,YAAY,GAAG,IAAAC,0DAA4B,EAACX,OAAO,CAACY,OAAO,CAAC;;MAElE;MACA,MAAMA,OAAO,GAAG,IAAAC,oEAAyC,EAAC;QACtDL,MAAM;QACNM,IAAI,EAAE,QAAQ;QACdC,gBAAgB,EAAEL,YAAY;QAC9BM,YAAY,EAAEA,CAAC;UAAEC,MAAM;UAAEH,IAAI;UAAEI;QAAU,CAAC,KAAK;UAC3C,MAAMC,MAAM,GAAG,IAAI5B,mCAAmB,CAAC0B,MAAM,CAAC;UAC9CE,MAAM,CAACC,IAAI,GAAG,0BAA0BN,IAAI,UAAUI,SAAS,EAAE;UACjE,OAAOC,MAAM;QACjB;MACJ,CAAC,CAAC;MAEF,MAAME,aAAa,GAAG,IAAAC,wBAAiB,EAAC;QACpClB,KAAK;QACLI,MAAM;QACNI,OAAO,EAAEF;MACb,CAAC,CAAC;MAEFV,OAAO,CAACY,OAAO,CAACW,QAAQ,CAAC,CAAC,GAAGX,OAAO,EAAES,aAAa,CAAC,CAAC;IACzD,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,OAAO,CAAC/B,UAAU,EAAEQ,UAAU,CAAC;AACnC,CAAC;AAAC0B,OAAA,CAAA3B,2BAAA,GAAAA,2BAAA","ignoreList":[]}
package/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { ContextPlugin } from "@webiny/api";
2
+ import type { WebsiteBuilderContext } from "./types";
3
+ export declare const createWebsiteBuilder: () => (ContextPlugin<WebsiteBuilderContext> | (import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("@webiny/api/types").Context> | ContextPlugin<WebsiteBuilderContext>)[])[];
package/index.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createWebsiteBuilder = void 0;
7
+ var _api = require("@webiny/api");
8
+ var _WebsiteBuilderContextSetup = require("./WebsiteBuilderContextSetup");
9
+ var _createWebsiteBuilderGraphQL = require("./createWebsiteBuilderGraphQL");
10
+ const createWebsiteBuilderContext = () => {
11
+ const plugin = new _api.ContextPlugin(async context => {
12
+ const websiteBuilder = new _WebsiteBuilderContextSetup.WebsiteBuilderContextSetup(context);
13
+ context.websiteBuilder = await websiteBuilder.setupContext();
14
+ });
15
+ plugin.name = "wb.createContext";
16
+ return plugin;
17
+ };
18
+ const createWebsiteBuilder = () => {
19
+ return [createWebsiteBuilderContext(), (0, _createWebsiteBuilderGraphQL.createWebsiteBuilderGraphQL)()];
20
+ };
21
+ exports.createWebsiteBuilder = createWebsiteBuilder;
22
+
23
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_api","require","_WebsiteBuilderContextSetup","_createWebsiteBuilderGraphQL","createWebsiteBuilderContext","plugin","ContextPlugin","context","websiteBuilder","WebsiteBuilderContextSetup","setupContext","name","createWebsiteBuilder","createWebsiteBuilderGraphQL","exports"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { WebsiteBuilderContextSetup } from \"~/WebsiteBuilderContextSetup\";\nimport type { WebsiteBuilderContext } from \"~/types\";\nimport { createWebsiteBuilderGraphQL } from \"~/createWebsiteBuilderGraphQL\";\n\nconst createWebsiteBuilderContext = () => {\n const plugin = new ContextPlugin<WebsiteBuilderContext>(async context => {\n const websiteBuilder = new WebsiteBuilderContextSetup(context);\n context.websiteBuilder = await websiteBuilder.setupContext();\n });\n\n plugin.name = \"wb.createContext\";\n\n return plugin;\n};\n\nexport const createWebsiteBuilder = () => {\n return [createWebsiteBuilderContext(), createWebsiteBuilderGraphQL()];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,2BAAA,GAAAD,OAAA;AAEA,IAAAE,4BAAA,GAAAF,OAAA;AAEA,MAAMG,2BAA2B,GAAGA,CAAA,KAAM;EACtC,MAAMC,MAAM,GAAG,IAAIC,kBAAa,CAAwB,MAAMC,OAAO,IAAI;IACrE,MAAMC,cAAc,GAAG,IAAIC,sDAA0B,CAACF,OAAO,CAAC;IAC9DA,OAAO,CAACC,cAAc,GAAG,MAAMA,cAAc,CAACE,YAAY,CAAC,CAAC;EAChE,CAAC,CAAC;EAEFL,MAAM,CAACM,IAAI,GAAG,kBAAkB;EAEhC,OAAON,MAAM;AACjB,CAAC;AAEM,MAAMO,oBAAoB,GAAGA,CAAA,KAAM;EACtC,OAAO,CAACR,2BAA2B,CAAC,CAAC,EAAE,IAAAS,wDAA2B,EAAC,CAAC,CAAC;AACzE,CAAC;AAACC,OAAA,CAAAF,oBAAA,GAAAA,oBAAA","ignoreList":[]}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@webiny/api-website-builder",
3
+ "version": "6.0.0-alpha.0",
4
+ "main": "index.js",
5
+ "keywords": [
6
+ "wb:base"
7
+ ],
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/webiny/webiny-js.git",
11
+ "directory": "packages/api-website-builder"
12
+ },
13
+ "description": "A set of backend website builder related features.",
14
+ "author": "Webiny Ltd.",
15
+ "license": "MIT",
16
+ "scripts": {
17
+ "build": "node ../cli/bin.js run build",
18
+ "watch": "node ../cli/bin.js run watch"
19
+ },
20
+ "publishConfig": {
21
+ "access": "public",
22
+ "directory": "dist"
23
+ },
24
+ "dependencies": {
25
+ "@webiny/api": "6.0.0-alpha.0",
26
+ "@webiny/api-admin-settings": "6.0.0-alpha.0",
27
+ "@webiny/api-headless-cms": "6.0.0-alpha.0",
28
+ "@webiny/api-i18n": "6.0.0-alpha.0",
29
+ "@webiny/api-security": "6.0.0-alpha.0",
30
+ "@webiny/api-tenancy": "6.0.0-alpha.0",
31
+ "@webiny/error": "6.0.0-alpha.0",
32
+ "@webiny/handler": "6.0.0-alpha.0",
33
+ "@webiny/handler-graphql": "6.0.0-alpha.0",
34
+ "@webiny/pubsub": "6.0.0-alpha.0",
35
+ "lodash": "4.17.21"
36
+ },
37
+ "devDependencies": {
38
+ "@webiny/api-admin-users": "6.0.0-alpha.0",
39
+ "@webiny/api-file-manager": "6.0.0-alpha.0",
40
+ "@webiny/api-i18n-ddb": "6.0.0-alpha.0",
41
+ "@webiny/api-security-so-ddb": "6.0.0-alpha.0",
42
+ "@webiny/api-tenancy-so-ddb": "6.0.0-alpha.0",
43
+ "@webiny/api-wcp": "6.0.0-alpha.0",
44
+ "@webiny/handler-aws": "6.0.0-alpha.0",
45
+ "@webiny/plugins": "6.0.0-alpha.0",
46
+ "@webiny/project-utils": "6.0.0-alpha.0",
47
+ "@webiny/wcp": "6.0.0-alpha.0",
48
+ "graphql": "15.9.0",
49
+ "prettier": "2.8.8",
50
+ "rimraf": "6.0.1",
51
+ "typescript": "5.3.3"
52
+ },
53
+ "gitHead": "a5b28fed7a242d8f56712197a8ea83aa6d2ed101"
54
+ }
@@ -0,0 +1,23 @@
1
+ import { CmsModel, HeadlessCms } from "@webiny/api-headless-cms/types";
2
+ import type { WbPage, WbPagesStorageOperations, WbPagesStorageOperationsCreateParams, WbPagesStorageOperationsCreateRevisionFromParams, WbPagesStorageOperationsDeleteParams, WbPagesStorageOperationsGetParams, WbPagesStorageOperationsListParams, WbPagesStorageOperationsListResponse, WbPagesStorageOperationsMoveParams, WbPagesStorageOperationsPublishParams, WbPagesStorageOperationsUnpublishParams, WbPagesStorageOperationsUpdateParams } from "./page.types";
3
+ export declare class CmsPagesStorage implements WbPagesStorageOperations {
4
+ private readonly cms;
5
+ private readonly model;
6
+ static create(params: {
7
+ pageModel: CmsModel;
8
+ cms: HeadlessCms;
9
+ }): Promise<CmsPagesStorage>;
10
+ private constructor();
11
+ get: (params: WbPagesStorageOperationsGetParams) => Promise<WbPage | null>;
12
+ getById: (id: string) => Promise<WbPage | null>;
13
+ getRevisions: (pageId: string) => Promise<WbPage[]>;
14
+ list: (params: WbPagesStorageOperationsListParams) => Promise<WbPagesStorageOperationsListResponse>;
15
+ create: ({ data }: WbPagesStorageOperationsCreateParams) => Promise<WbPage>;
16
+ update: ({ id, data }: WbPagesStorageOperationsUpdateParams) => Promise<WbPage>;
17
+ publish: ({ id }: WbPagesStorageOperationsPublishParams) => Promise<WbPage>;
18
+ unpublish: ({ id }: WbPagesStorageOperationsUnpublishParams) => Promise<WbPage>;
19
+ move: ({ id, folderId }: WbPagesStorageOperationsMoveParams) => Promise<void>;
20
+ createRevisionFrom: ({ id }: WbPagesStorageOperationsCreateRevisionFromParams) => Promise<WbPage>;
21
+ delete: ({ id }: WbPagesStorageOperationsDeleteParams) => Promise<void>;
22
+ private getWbPageFieldValues;
23
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.CmsPagesStorage = void 0;
8
+ var _omit = _interopRequireDefault(require("lodash/omit"));
9
+ class CmsPagesStorage {
10
+ static async create(params) {
11
+ return new CmsPagesStorage(params.pageModel, params.cms);
12
+ }
13
+ constructor(pageModel, cms) {
14
+ this.model = pageModel;
15
+ this.cms = cms;
16
+ }
17
+ get = async params => {
18
+ const entry = await this.cms.getEntry(this.model, params);
19
+ return entry ? this.getWbPageFieldValues(entry) : null;
20
+ };
21
+ getById = async id => {
22
+ const entry = await this.cms.getEntryById(this.model, id);
23
+ return entry ? this.getWbPageFieldValues(entry) : null;
24
+ };
25
+ getRevisions = async pageId => {
26
+ const revisions = await this.cms.getEntryRevisions(this.model, pageId);
27
+ return revisions.map(entry => this.getWbPageFieldValues(entry));
28
+ };
29
+ list = async params => {
30
+ const [entries, meta] = await this.cms.listEntries(this.model, {
31
+ after: params.after,
32
+ limit: params.limit,
33
+ sort: params.sort,
34
+ where: params.where,
35
+ search: params.search
36
+ });
37
+ return [entries.map(entry => this.getWbPageFieldValues(entry)), meta];
38
+ };
39
+ create = async ({
40
+ data
41
+ }) => {
42
+ const entry = await this.cms.createEntry(this.model, data);
43
+ return this.getWbPageFieldValues(entry);
44
+ };
45
+ update = async ({
46
+ id,
47
+ data
48
+ }) => {
49
+ const entry = await this.cms.getEntryById(this.model, id);
50
+ const values = (0, _omit.default)(data, ["id", "tenant", "locale", "webinyVersion"]);
51
+ const updatedEntry = await this.cms.updateEntry(this.model, entry.id, values);
52
+ return this.getWbPageFieldValues(updatedEntry);
53
+ };
54
+ publish = async ({
55
+ id
56
+ }) => {
57
+ const entry = await this.cms.publishEntry(this.model, id);
58
+ return this.getWbPageFieldValues(entry);
59
+ };
60
+ unpublish = async ({
61
+ id
62
+ }) => {
63
+ const entry = await this.cms.unpublishEntry(this.model, id);
64
+ return this.getWbPageFieldValues(entry);
65
+ };
66
+ move = async ({
67
+ id,
68
+ folderId
69
+ }) => {
70
+ await this.cms.moveEntry(this.model, id, folderId);
71
+ };
72
+ createRevisionFrom = async ({
73
+ id
74
+ }) => {
75
+ const entry = await this.cms.createEntryRevisionFrom(this.model, id, {});
76
+ return this.getWbPageFieldValues(entry);
77
+ };
78
+ delete = async ({
79
+ id
80
+ }) => {
81
+ await this.cms.deleteEntry(this.model, id);
82
+ };
83
+ getWbPageFieldValues(entry) {
84
+ return {
85
+ id: entry.id,
86
+ pageId: entry.entryId,
87
+ wbyAco_location: entry.location,
88
+ status: entry.status,
89
+ version: entry.version,
90
+ createdOn: entry.createdOn,
91
+ createdBy: entry.createdBy,
92
+ savedOn: entry.savedOn,
93
+ savedBy: entry.savedBy,
94
+ modifiedOn: entry.modifiedOn,
95
+ modifiedBy: entry.modifiedBy,
96
+ locked: entry.locked,
97
+ tenant: entry.tenant,
98
+ locale: entry.locale,
99
+ webinyVersion: entry.webinyVersion,
100
+ ...entry.values
101
+ };
102
+ }
103
+ }
104
+ exports.CmsPagesStorage = CmsPagesStorage;
105
+
106
+ //# sourceMappingURL=CmsPagesStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_omit","_interopRequireDefault","require","CmsPagesStorage","create","params","pageModel","cms","constructor","model","get","entry","getEntry","getWbPageFieldValues","getById","id","getEntryById","getRevisions","pageId","revisions","getEntryRevisions","map","list","entries","meta","listEntries","after","limit","sort","where","search","data","createEntry","update","values","omit","updatedEntry","updateEntry","publish","publishEntry","unpublish","unpublishEntry","move","folderId","moveEntry","createRevisionFrom","createEntryRevisionFrom","delete","deleteEntry","entryId","wbyAco_location","location","status","version","createdOn","createdBy","savedOn","savedBy","modifiedOn","modifiedBy","locked","tenant","locale","webinyVersion","exports"],"sources":["CmsPagesStorage.ts"],"sourcesContent":["import omit from \"lodash/omit\";\nimport { CmsEntry, CmsModel, HeadlessCms } from \"@webiny/api-headless-cms/types\";\nimport type {\n WbPage,\n WbPagesStorageOperations,\n WbPagesStorageOperationsCreateParams,\n WbPagesStorageOperationsCreateRevisionFromParams,\n WbPagesStorageOperationsDeleteParams,\n WbPagesStorageOperationsGetParams,\n WbPagesStorageOperationsListParams,\n WbPagesStorageOperationsListResponse,\n WbPagesStorageOperationsMoveParams,\n WbPagesStorageOperationsPublishParams,\n WbPagesStorageOperationsUnpublishParams,\n WbPagesStorageOperationsUpdateParams\n} from \"~/page/page.types\";\n\nexport class CmsPagesStorage implements WbPagesStorageOperations {\n private readonly cms: HeadlessCms;\n private readonly model: CmsModel;\n\n static async create(params: { pageModel: CmsModel; cms: HeadlessCms }) {\n return new CmsPagesStorage(params.pageModel, params.cms);\n }\n\n private constructor(pageModel: CmsModel, cms: HeadlessCms) {\n this.model = pageModel;\n this.cms = cms;\n }\n\n public get = async (params: WbPagesStorageOperationsGetParams): Promise<WbPage | null> => {\n const entry = await this.cms.getEntry(this.model, params);\n return entry ? this.getWbPageFieldValues(entry) : null;\n };\n\n public getById = async (id: string): Promise<WbPage | null> => {\n const entry = await this.cms.getEntryById(this.model, id);\n return entry ? this.getWbPageFieldValues(entry) : null;\n };\n\n public getRevisions = async (pageId: string): Promise<WbPage[]> => {\n const revisions = await this.cms.getEntryRevisions(this.model, pageId);\n return revisions.map(entry => this.getWbPageFieldValues(entry));\n };\n\n public list = async (\n params: WbPagesStorageOperationsListParams\n ): Promise<WbPagesStorageOperationsListResponse> => {\n const [entries, meta] = await this.cms.listEntries(this.model, {\n after: params.after,\n limit: params.limit,\n sort: params.sort,\n where: params.where,\n search: params.search\n });\n\n return [entries.map(entry => this.getWbPageFieldValues(entry)), meta];\n };\n\n public create = async ({ data }: WbPagesStorageOperationsCreateParams): Promise<WbPage> => {\n const entry = await this.cms.createEntry(this.model, data);\n return this.getWbPageFieldValues(entry);\n };\n\n public update = async ({ id, data }: WbPagesStorageOperationsUpdateParams): Promise<WbPage> => {\n const entry = await this.cms.getEntryById(this.model, id);\n\n const values = omit(data, [\"id\", \"tenant\", \"locale\", \"webinyVersion\"]);\n\n const updatedEntry = await this.cms.updateEntry(this.model, entry.id, values);\n\n return this.getWbPageFieldValues(updatedEntry);\n };\n\n public publish = async ({ id }: WbPagesStorageOperationsPublishParams): Promise<WbPage> => {\n const entry = await this.cms.publishEntry(this.model, id);\n return this.getWbPageFieldValues(entry);\n };\n\n public unpublish = async ({ id }: WbPagesStorageOperationsUnpublishParams): Promise<WbPage> => {\n const entry = await this.cms.unpublishEntry(this.model, id);\n return this.getWbPageFieldValues(entry);\n };\n\n public move = async ({ id, folderId }: WbPagesStorageOperationsMoveParams): Promise<void> => {\n await this.cms.moveEntry(this.model, id, folderId);\n };\n\n public createRevisionFrom = async ({\n id\n }: WbPagesStorageOperationsCreateRevisionFromParams): Promise<WbPage> => {\n const entry = await this.cms.createEntryRevisionFrom(this.model, id, {});\n return this.getWbPageFieldValues(entry);\n };\n\n public delete = async ({ id }: WbPagesStorageOperationsDeleteParams): Promise<void> => {\n await this.cms.deleteEntry(this.model, id);\n };\n\n private getWbPageFieldValues(entry: CmsEntry) {\n return {\n id: entry.id,\n pageId: entry.entryId,\n wbyAco_location: entry.location,\n status: entry.status,\n version: entry.version,\n createdOn: entry.createdOn,\n createdBy: entry.createdBy,\n savedOn: entry.savedOn,\n savedBy: entry.savedBy,\n modifiedOn: entry.modifiedOn,\n modifiedBy: entry.modifiedBy,\n locked: entry.locked,\n tenant: entry.tenant,\n locale: entry.locale,\n webinyVersion: entry.webinyVersion,\n ...entry.values\n } as WbPage;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { WbPageCrud } from "./page.types";
2
+ import type { WebsiteBuilderConfig } from "../types";
3
+ export declare const createPagesCrud: (config: WebsiteBuilderConfig) => WbPageCrud;