@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
@@ -0,0 +1,15 @@
1
+ import { Topic } from "@webiny/pubsub/types";
2
+ import { CreatePageWithEvents } from "./CreatePageWithEvents";
3
+ import type { OnWebsiteBuilderPageAfterCreateTopicParams, OnWebsiteBuilderPageBeforeCreateTopicParams, WbPagesStorageOperations } from "../../page.types";
4
+ export interface CreatePageUseCasesTopics {
5
+ onWebsiteBuilderPageBeforeCreate: Topic<OnWebsiteBuilderPageBeforeCreateTopicParams>;
6
+ onWebsiteBuilderPageAfterCreate: Topic<OnWebsiteBuilderPageAfterCreateTopicParams>;
7
+ }
8
+ interface CreatePageUseCasesParams {
9
+ createOperation: WbPagesStorageOperations["create"];
10
+ topics: CreatePageUseCasesTopics;
11
+ }
12
+ export declare const getCreatePageUseCase: (params: CreatePageUseCasesParams) => {
13
+ createPageUseCase: CreatePageWithEvents;
14
+ };
15
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCreatePageUseCase = void 0;
7
+ var _CreatePage = require("./CreatePage");
8
+ var _CreatePageWithEvents = require("./CreatePageWithEvents");
9
+ const getCreatePageUseCase = params => {
10
+ const createPage = new _CreatePage.CreatePage(params.createOperation);
11
+ const createPageUseCase = new _CreatePageWithEvents.CreatePageWithEvents(params.topics, createPage);
12
+ return {
13
+ createPageUseCase
14
+ };
15
+ };
16
+ exports.getCreatePageUseCase = getCreatePageUseCase;
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_CreatePage","require","_CreatePageWithEvents","getCreatePageUseCase","params","createPage","CreatePage","createOperation","createPageUseCase","CreatePageWithEvents","topics","exports"],"sources":["index.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { CreatePage } from \"./CreatePage\";\nimport { CreatePageWithEvents } from \"./CreatePageWithEvents\";\nimport type {\n OnWebsiteBuilderPageAfterCreateTopicParams,\n OnWebsiteBuilderPageBeforeCreateTopicParams,\n WbPagesStorageOperations\n} from \"~/page/page.types\";\n\nexport interface CreatePageUseCasesTopics {\n onWebsiteBuilderPageBeforeCreate: Topic<OnWebsiteBuilderPageBeforeCreateTopicParams>;\n onWebsiteBuilderPageAfterCreate: Topic<OnWebsiteBuilderPageAfterCreateTopicParams>;\n}\n\ninterface CreatePageUseCasesParams {\n createOperation: WbPagesStorageOperations[\"create\"];\n topics: CreatePageUseCasesTopics;\n}\n\nexport const getCreatePageUseCase = (params: CreatePageUseCasesParams) => {\n const createPage = new CreatePage(params.createOperation);\n const createPageUseCase = new CreatePageWithEvents(params.topics, createPage);\n\n return {\n createPageUseCase\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAiBO,MAAME,oBAAoB,GAAIC,MAAgC,IAAK;EACtE,MAAMC,UAAU,GAAG,IAAIC,sBAAU,CAACF,MAAM,CAACG,eAAe,CAAC;EACzD,MAAMC,iBAAiB,GAAG,IAAIC,0CAAoB,CAACL,MAAM,CAACM,MAAM,EAAEL,UAAU,CAAC;EAE7E,OAAO;IACHG;EACJ,CAAC;AACL,CAAC;AAACG,OAAA,CAAAR,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { ICreatePageRevisionFrom } from "./ICreatePageRevisionFrom";
2
+ import type { CreateWbPageRevisionFromParams, WbPage, WbPagesStorageOperations } from "../../page.types";
3
+ export declare class CreatePageRevisionFrom implements ICreatePageRevisionFrom {
4
+ private readonly createRevisionFromOperation;
5
+ constructor(createRevisionFromOperation: WbPagesStorageOperations["createRevisionFrom"]);
6
+ execute(params: CreateWbPageRevisionFromParams): Promise<WbPage>;
7
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CreatePageRevisionFrom = void 0;
7
+ class CreatePageRevisionFrom {
8
+ constructor(createRevisionFromOperation) {
9
+ this.createRevisionFromOperation = createRevisionFromOperation;
10
+ }
11
+ async execute(params) {
12
+ return await this.createRevisionFromOperation(params);
13
+ }
14
+ }
15
+ exports.CreatePageRevisionFrom = CreatePageRevisionFrom;
16
+
17
+ //# sourceMappingURL=CreatePageRevisionFrom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CreatePageRevisionFrom","constructor","createRevisionFromOperation","execute","params","exports"],"sources":["CreatePageRevisionFrom.ts"],"sourcesContent":["import type { ICreatePageRevisionFrom } from \"./ICreatePageRevisionFrom\";\nimport type {\n CreateWbPageRevisionFromParams,\n WbPage,\n WbPagesStorageOperations\n} from \"~/page/page.types\";\n\nexport class CreatePageRevisionFrom implements ICreatePageRevisionFrom {\n private readonly createRevisionFromOperation: WbPagesStorageOperations[\"createRevisionFrom\"];\n\n constructor(createRevisionFromOperation: WbPagesStorageOperations[\"createRevisionFrom\"]) {\n this.createRevisionFromOperation = createRevisionFromOperation;\n }\n\n async execute(params: CreateWbPageRevisionFromParams): Promise<WbPage> {\n return await this.createRevisionFromOperation(params);\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,sBAAsB,CAAoC;EAGnEC,WAAWA,CAACC,2BAA2E,EAAE;IACrF,IAAI,CAACA,2BAA2B,GAAGA,2BAA2B;EAClE;EAEA,MAAMC,OAAOA,CAACC,MAAsC,EAAmB;IACnE,OAAO,MAAM,IAAI,CAACF,2BAA2B,CAACE,MAAM,CAAC;EACzD;AACJ;AAACC,OAAA,CAAAL,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { CreatePageRevisionFromUseCasesTopics } from "./index";
2
+ import type { CreateWbPageRevisionFromParams, WbPagesStorageOperations } from "../../page.types";
3
+ import type { ICreatePageRevisionFrom } from "./ICreatePageRevisionFrom";
4
+ export declare class CreatePageRevisionFromWithEvents implements ICreatePageRevisionFrom {
5
+ private topics;
6
+ private readonly getOperation;
7
+ private readonly decoretee;
8
+ constructor(topics: CreatePageRevisionFromUseCasesTopics, getOperation: WbPagesStorageOperations["getById"], decoretee: ICreatePageRevisionFrom);
9
+ execute(params: CreateWbPageRevisionFromParams): Promise<import("../../page.types").WbPage>;
10
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CreatePageRevisionFromWithEvents = void 0;
7
+ var _error = require("@webiny/error");
8
+ class CreatePageRevisionFromWithEvents {
9
+ constructor(topics, getOperation, decoretee) {
10
+ this.topics = topics;
11
+ this.getOperation = getOperation;
12
+ this.decoretee = decoretee;
13
+ }
14
+ async execute(params) {
15
+ const original = await this.getOperation(params.id);
16
+ if (!original) {
17
+ throw new _error.WebinyError(`Page with id ${params.id} not found`, "CREATE_PAGE_REVISION_FROM_WITH_EVENTS_ERROR");
18
+ }
19
+ await this.topics.onWebsiteBuilderPageBeforeCreateRevisionFrom.publish({
20
+ original
21
+ });
22
+ const page = await this.decoretee.execute(params);
23
+ await this.topics.onWebsiteBuilderPageAfterCreateRevisionFrom.publish({
24
+ original,
25
+ page
26
+ });
27
+ return page;
28
+ }
29
+ }
30
+ exports.CreatePageRevisionFromWithEvents = CreatePageRevisionFromWithEvents;
31
+
32
+ //# sourceMappingURL=CreatePageRevisionFromWithEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","require","CreatePageRevisionFromWithEvents","constructor","topics","getOperation","decoretee","execute","params","original","id","WebinyError","onWebsiteBuilderPageBeforeCreateRevisionFrom","publish","page","onWebsiteBuilderPageAfterCreateRevisionFrom","exports"],"sources":["CreatePageRevisionFromWithEvents.ts"],"sourcesContent":["import type { CreatePageRevisionFromUseCasesTopics } from \"./index\";\nimport type { CreateWbPageRevisionFromParams, WbPagesStorageOperations } from \"~/page/page.types\";\nimport type { ICreatePageRevisionFrom } from \"./ICreatePageRevisionFrom\";\nimport { WebinyError } from \"@webiny/error\";\n\nexport class CreatePageRevisionFromWithEvents implements ICreatePageRevisionFrom {\n private topics: CreatePageRevisionFromUseCasesTopics;\n private readonly getOperation: WbPagesStorageOperations[\"getById\"];\n private readonly decoretee: ICreatePageRevisionFrom;\n\n constructor(\n topics: CreatePageRevisionFromUseCasesTopics,\n getOperation: WbPagesStorageOperations[\"getById\"],\n decoretee: ICreatePageRevisionFrom\n ) {\n this.topics = topics;\n this.getOperation = getOperation;\n this.decoretee = decoretee;\n }\n\n async execute(params: CreateWbPageRevisionFromParams) {\n const original = await this.getOperation(params.id);\n\n if (!original) {\n throw new WebinyError(\n `Page with id ${params.id} not found`,\n \"CREATE_PAGE_REVISION_FROM_WITH_EVENTS_ERROR\"\n );\n }\n\n await this.topics.onWebsiteBuilderPageBeforeCreateRevisionFrom.publish({ original });\n const page = await this.decoretee.execute(params);\n await this.topics.onWebsiteBuilderPageAfterCreateRevisionFrom.publish({ original, page });\n\n return page;\n }\n}\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,gCAAgC,CAAoC;EAK7EC,WAAWA,CACPC,MAA4C,EAC5CC,YAAiD,EACjDC,SAAkC,EACpC;IACE,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAAsC,EAAE;IAClD,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,YAAY,CAACG,MAAM,CAACE,EAAE,CAAC;IAEnD,IAAI,CAACD,QAAQ,EAAE;MACX,MAAM,IAAIE,kBAAW,CACjB,gBAAgBH,MAAM,CAACE,EAAE,YAAY,EACrC,6CACJ,CAAC;IACL;IAEA,MAAM,IAAI,CAACN,MAAM,CAACQ,4CAA4C,CAACC,OAAO,CAAC;MAAEJ;IAAS,CAAC,CAAC;IACpF,MAAMK,IAAI,GAAG,MAAM,IAAI,CAACR,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IACjD,MAAM,IAAI,CAACJ,MAAM,CAACW,2CAA2C,CAACF,OAAO,CAAC;MAAEJ,QAAQ;MAAEK;IAAK,CAAC,CAAC;IAEzF,OAAOA,IAAI;EACf;AACJ;AAACE,OAAA,CAAAd,gCAAA,GAAAA,gCAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { CreateWbPageRevisionFromParams, WbPage } from "../../page.types";
2
+ export interface ICreatePageRevisionFrom {
3
+ execute: (params: CreateWbPageRevisionFromParams) => Promise<WbPage>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=ICreatePageRevisionFrom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ICreatePageRevisionFrom.ts"],"sourcesContent":["import type { CreateWbPageRevisionFromParams, WbPage } from \"~/page/page.types\";\n\nexport interface ICreatePageRevisionFrom {\n execute: (params: CreateWbPageRevisionFromParams) => Promise<WbPage>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import { Topic } from "@webiny/pubsub/types";
2
+ import { CreatePageRevisionFromWithEvents } from "./CreatePageRevisionFromWithEvents";
3
+ import type { OnWebsiteBuilderPageAfterCreateRevisionFromTopicParams, OnWebsiteBuilderPageBeforeCreateRevisionFromTopicParams, WbPagesStorageOperations } from "../../page.types";
4
+ export interface CreatePageRevisionFromUseCasesTopics {
5
+ onWebsiteBuilderPageBeforeCreateRevisionFrom: Topic<OnWebsiteBuilderPageBeforeCreateRevisionFromTopicParams>;
6
+ onWebsiteBuilderPageAfterCreateRevisionFrom: Topic<OnWebsiteBuilderPageAfterCreateRevisionFromTopicParams>;
7
+ }
8
+ interface CreatePageRevisionFromUseCasesParams {
9
+ createRevisionFromOperation: WbPagesStorageOperations["createRevisionFrom"];
10
+ getOperation: WbPagesStorageOperations["getById"];
11
+ topics: CreatePageRevisionFromUseCasesTopics;
12
+ }
13
+ export declare const getCreatePageRevisionFromUseCase: (params: CreatePageRevisionFromUseCasesParams) => {
14
+ createPageRevisionFromUseCase: CreatePageRevisionFromWithEvents;
15
+ };
16
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCreatePageRevisionFromUseCase = void 0;
7
+ var _CreatePageRevisionFrom = require("./CreatePageRevisionFrom");
8
+ var _CreatePageRevisionFromWithEvents = require("./CreatePageRevisionFromWithEvents");
9
+ const getCreatePageRevisionFromUseCase = params => {
10
+ const createPageRevisionFrom = new _CreatePageRevisionFrom.CreatePageRevisionFrom(params.createRevisionFromOperation);
11
+ const createPageRevisionFromUseCase = new _CreatePageRevisionFromWithEvents.CreatePageRevisionFromWithEvents(params.topics, params.getOperation, createPageRevisionFrom);
12
+ return {
13
+ createPageRevisionFromUseCase
14
+ };
15
+ };
16
+ exports.getCreatePageRevisionFromUseCase = getCreatePageRevisionFromUseCase;
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_CreatePageRevisionFrom","require","_CreatePageRevisionFromWithEvents","getCreatePageRevisionFromUseCase","params","createPageRevisionFrom","CreatePageRevisionFrom","createRevisionFromOperation","createPageRevisionFromUseCase","CreatePageRevisionFromWithEvents","topics","getOperation","exports"],"sources":["index.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { CreatePageRevisionFrom } from \"./CreatePageRevisionFrom\";\nimport { CreatePageRevisionFromWithEvents } from \"./CreatePageRevisionFromWithEvents\";\nimport type {\n OnWebsiteBuilderPageAfterCreateRevisionFromTopicParams,\n OnWebsiteBuilderPageBeforeCreateRevisionFromTopicParams,\n WbPagesStorageOperations\n} from \"~/page/page.types\";\n\nexport interface CreatePageRevisionFromUseCasesTopics {\n onWebsiteBuilderPageBeforeCreateRevisionFrom: Topic<OnWebsiteBuilderPageBeforeCreateRevisionFromTopicParams>;\n onWebsiteBuilderPageAfterCreateRevisionFrom: Topic<OnWebsiteBuilderPageAfterCreateRevisionFromTopicParams>;\n}\n\ninterface CreatePageRevisionFromUseCasesParams {\n createRevisionFromOperation: WbPagesStorageOperations[\"createRevisionFrom\"];\n getOperation: WbPagesStorageOperations[\"getById\"];\n topics: CreatePageRevisionFromUseCasesTopics;\n}\n\nexport const getCreatePageRevisionFromUseCase = (params: CreatePageRevisionFromUseCasesParams) => {\n const createPageRevisionFrom = new CreatePageRevisionFrom(params.createRevisionFromOperation);\n const createPageRevisionFromUseCase = new CreatePageRevisionFromWithEvents(\n params.topics,\n params.getOperation,\n createPageRevisionFrom\n );\n\n return {\n createPageRevisionFromUseCase\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,uBAAA,GAAAC,OAAA;AACA,IAAAC,iCAAA,GAAAD,OAAA;AAkBO,MAAME,gCAAgC,GAAIC,MAA4C,IAAK;EAC9F,MAAMC,sBAAsB,GAAG,IAAIC,8CAAsB,CAACF,MAAM,CAACG,2BAA2B,CAAC;EAC7F,MAAMC,6BAA6B,GAAG,IAAIC,kEAAgC,CACtEL,MAAM,CAACM,MAAM,EACbN,MAAM,CAACO,YAAY,EACnBN,sBACJ,CAAC;EAED,OAAO;IACHG;EACJ,CAAC;AACL,CAAC;AAACI,OAAA,CAAAT,gCAAA,GAAAA,gCAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { IDeletePage } from "./IDeletePage";
2
+ import type { DeleteWbPageParams, WbPagesStorageOperations } from "../../page.types";
3
+ export declare class DeletePage implements IDeletePage {
4
+ private readonly deleteOperation;
5
+ constructor(deleteOperation: WbPagesStorageOperations["delete"]);
6
+ execute(params: DeleteWbPageParams): Promise<void>;
7
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeletePage = void 0;
7
+ class DeletePage {
8
+ constructor(deleteOperation) {
9
+ this.deleteOperation = deleteOperation;
10
+ }
11
+ async execute(params) {
12
+ await this.deleteOperation(params);
13
+ }
14
+ }
15
+ exports.DeletePage = DeletePage;
16
+
17
+ //# sourceMappingURL=DeletePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeletePage","constructor","deleteOperation","execute","params","exports"],"sources":["DeletePage.ts"],"sourcesContent":["import type { IDeletePage } from \"./IDeletePage\";\nimport type { DeleteWbPageParams, WbPagesStorageOperations } from \"~/page/page.types\";\n\nexport class DeletePage implements IDeletePage {\n private readonly deleteOperation: WbPagesStorageOperations[\"delete\"];\n\n constructor(deleteOperation: WbPagesStorageOperations[\"delete\"]) {\n this.deleteOperation = deleteOperation;\n }\n\n async execute(params: DeleteWbPageParams) {\n await this.deleteOperation(params);\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,UAAU,CAAwB;EAG3CC,WAAWA,CAACC,eAAmD,EAAE;IAC7D,IAAI,CAACA,eAAe,GAAGA,eAAe;EAC1C;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAM,IAAI,CAACF,eAAe,CAACE,MAAM,CAAC;EACtC;AACJ;AAACC,OAAA,CAAAL,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { DeletePageUseCasesTopics } from "./index";
2
+ import type { DeleteWbPageParams, WbPagesStorageOperations } from "../../page.types";
3
+ import type { IDeletePage } from "./IDeletePage";
4
+ export declare class DeletePageWithEvents implements IDeletePage {
5
+ private topics;
6
+ private readonly getOperation;
7
+ private readonly decoretee;
8
+ constructor(topics: DeletePageUseCasesTopics, getOperation: WbPagesStorageOperations["getById"], decoretee: IDeletePage);
9
+ execute(params: DeleteWbPageParams): Promise<void>;
10
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeletePageWithEvents = void 0;
7
+ var _error = require("@webiny/error");
8
+ class DeletePageWithEvents {
9
+ constructor(topics, getOperation, decoretee) {
10
+ this.topics = topics;
11
+ this.getOperation = getOperation;
12
+ this.decoretee = decoretee;
13
+ }
14
+ async execute(params) {
15
+ const page = await this.getOperation(params.id);
16
+ if (!page) {
17
+ throw new _error.WebinyError(`Page with id ${params.id} not found`, "DELETE_PAGE_WITH_EVENTS_ERROR");
18
+ }
19
+ await this.topics.onWebsiteBuilderPageBeforeDelete.publish({
20
+ page
21
+ });
22
+ await this.decoretee.execute(params);
23
+ await this.topics.onWebsiteBuilderPageAfterDelete.publish({
24
+ page
25
+ });
26
+ }
27
+ }
28
+ exports.DeletePageWithEvents = DeletePageWithEvents;
29
+
30
+ //# sourceMappingURL=DeletePageWithEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","require","DeletePageWithEvents","constructor","topics","getOperation","decoretee","execute","params","page","id","WebinyError","onWebsiteBuilderPageBeforeDelete","publish","onWebsiteBuilderPageAfterDelete","exports"],"sources":["DeletePageWithEvents.ts"],"sourcesContent":["import type { DeletePageUseCasesTopics } from \"./index\";\nimport type { DeleteWbPageParams, WbPagesStorageOperations } from \"~/page/page.types\";\nimport type { IDeletePage } from \"~/page/useCases/DeletePage/IDeletePage\";\nimport { WebinyError } from \"@webiny/error\";\n\nexport class DeletePageWithEvents implements IDeletePage {\n private topics: DeletePageUseCasesTopics;\n private readonly getOperation: WbPagesStorageOperations[\"getById\"];\n private readonly decoretee: IDeletePage;\n\n constructor(\n topics: DeletePageUseCasesTopics,\n getOperation: WbPagesStorageOperations[\"getById\"],\n decoretee: IDeletePage\n ) {\n this.topics = topics;\n this.getOperation = getOperation;\n this.decoretee = decoretee;\n }\n\n async execute(params: DeleteWbPageParams) {\n const page = await this.getOperation(params.id);\n\n if (!page) {\n throw new WebinyError(\n `Page with id ${params.id} not found`,\n \"DELETE_PAGE_WITH_EVENTS_ERROR\"\n );\n }\n\n await this.topics.onWebsiteBuilderPageBeforeDelete.publish({ page });\n await this.decoretee.execute(params);\n await this.topics.onWebsiteBuilderPageAfterDelete.publish({ page });\n }\n}\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,oBAAoB,CAAwB;EAKrDC,WAAWA,CACPC,MAAgC,EAChCC,YAAiD,EACjDC,SAAsB,EACxB;IACE,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACJ,YAAY,CAACG,MAAM,CAACE,EAAE,CAAC;IAE/C,IAAI,CAACD,IAAI,EAAE;MACP,MAAM,IAAIE,kBAAW,CACjB,gBAAgBH,MAAM,CAACE,EAAE,YAAY,EACrC,+BACJ,CAAC;IACL;IAEA,MAAM,IAAI,CAACN,MAAM,CAACQ,gCAAgC,CAACC,OAAO,CAAC;MAAEJ;IAAK,CAAC,CAAC;IACpE,MAAM,IAAI,CAACH,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IACpC,MAAM,IAAI,CAACJ,MAAM,CAACU,+BAA+B,CAACD,OAAO,CAAC;MAAEJ;IAAK,CAAC,CAAC;EACvE;AACJ;AAACM,OAAA,CAAAb,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { DeleteWbPageParams } from "../../page.types";
2
+ export interface IDeletePage {
3
+ execute: (params: DeleteWbPageParams) => Promise<void>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=IDeletePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IDeletePage.ts"],"sourcesContent":["import type { DeleteWbPageParams } from \"~/page/page.types\";\n\nexport interface IDeletePage {\n execute: (params: DeleteWbPageParams) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import { Topic } from "@webiny/pubsub/types";
2
+ import { DeletePageWithEvents } from "./DeletePageWithEvents";
3
+ import type { OnWebsiteBuilderPageAfterDeleteTopicParams, OnWebsiteBuilderPageBeforeDeleteTopicParams, WbPagesStorageOperations } from "../../page.types";
4
+ export interface DeletePageUseCasesTopics {
5
+ onWebsiteBuilderPageBeforeDelete: Topic<OnWebsiteBuilderPageBeforeDeleteTopicParams>;
6
+ onWebsiteBuilderPageAfterDelete: Topic<OnWebsiteBuilderPageAfterDeleteTopicParams>;
7
+ }
8
+ interface DeletePageUseCasesParams {
9
+ deleteOperation: WbPagesStorageOperations["delete"];
10
+ getOperation: WbPagesStorageOperations["getById"];
11
+ topics: DeletePageUseCasesTopics;
12
+ }
13
+ export declare const getDeletePageUseCase: (params: DeletePageUseCasesParams) => {
14
+ deletePageUseCase: DeletePageWithEvents;
15
+ };
16
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDeletePageUseCase = void 0;
7
+ var _DeletePage = require("./DeletePage");
8
+ var _DeletePageWithEvents = require("./DeletePageWithEvents");
9
+ const getDeletePageUseCase = params => {
10
+ const deletePage = new _DeletePage.DeletePage(params.deleteOperation);
11
+ const deletePageUseCase = new _DeletePageWithEvents.DeletePageWithEvents(params.topics, params.getOperation, deletePage);
12
+ return {
13
+ deletePageUseCase
14
+ };
15
+ };
16
+ exports.getDeletePageUseCase = getDeletePageUseCase;
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_DeletePage","require","_DeletePageWithEvents","getDeletePageUseCase","params","deletePage","DeletePage","deleteOperation","deletePageUseCase","DeletePageWithEvents","topics","getOperation","exports"],"sources":["index.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { DeletePage } from \"./DeletePage\";\nimport { DeletePageWithEvents } from \"./DeletePageWithEvents\";\nimport type {\n OnWebsiteBuilderPageAfterDeleteTopicParams,\n OnWebsiteBuilderPageBeforeDeleteTopicParams,\n WbPagesStorageOperations\n} from \"~/page/page.types\";\n\nexport interface DeletePageUseCasesTopics {\n onWebsiteBuilderPageBeforeDelete: Topic<OnWebsiteBuilderPageBeforeDeleteTopicParams>;\n onWebsiteBuilderPageAfterDelete: Topic<OnWebsiteBuilderPageAfterDeleteTopicParams>;\n}\n\ninterface DeletePageUseCasesParams {\n deleteOperation: WbPagesStorageOperations[\"delete\"];\n getOperation: WbPagesStorageOperations[\"getById\"];\n topics: DeletePageUseCasesTopics;\n}\n\nexport const getDeletePageUseCase = (params: DeletePageUseCasesParams) => {\n const deletePage = new DeletePage(params.deleteOperation);\n const deletePageUseCase = new DeletePageWithEvents(\n params.topics,\n params.getOperation,\n deletePage\n );\n\n return {\n deletePageUseCase\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAkBO,MAAME,oBAAoB,GAAIC,MAAgC,IAAK;EACtE,MAAMC,UAAU,GAAG,IAAIC,sBAAU,CAACF,MAAM,CAACG,eAAe,CAAC;EACzD,MAAMC,iBAAiB,GAAG,IAAIC,0CAAoB,CAC9CL,MAAM,CAACM,MAAM,EACbN,MAAM,CAACO,YAAY,EACnBN,UACJ,CAAC;EAED,OAAO;IACHG;EACJ,CAAC;AACL,CAAC;AAACI,OAAA,CAAAT,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { IDuplicatePage } from "./IDuplicatePage";
2
+ import type { DuplicateWbPageParams, WbPage, WbPagesStorageOperations } from "../../page.types";
3
+ export declare class DuplicatePage implements IDuplicatePage {
4
+ private readonly getOperation;
5
+ private readonly createOperation;
6
+ constructor(getOperation: WbPagesStorageOperations["get"], createOperation: WbPagesStorageOperations["create"]);
7
+ execute({ id }: DuplicateWbPageParams): Promise<WbPage>;
8
+ private pickPageData;
9
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DuplicatePage = void 0;
8
+ var _pick = _interopRequireDefault(require("lodash/pick"));
9
+ class DuplicatePage {
10
+ constructor(getOperation, createOperation) {
11
+ this.getOperation = getOperation;
12
+ this.createOperation = createOperation;
13
+ }
14
+ async execute({
15
+ id
16
+ }) {
17
+ const page = await this.getOperation({
18
+ where: {
19
+ id
20
+ }
21
+ });
22
+ if (!page) {
23
+ throw new Error(`Page with id ${id} not found`);
24
+ }
25
+ const data = this.pickPageData(page);
26
+ const newPage = {
27
+ ...data,
28
+ properties: {
29
+ ...data.properties,
30
+ title: "Copy of " + page.properties.title
31
+ }
32
+ };
33
+ return await this.createOperation({
34
+ data: newPage
35
+ });
36
+ }
37
+ pickPageData = page => {
38
+ return (0, _pick.default)(page, ["bindings", "elements", "wbyAco_location", "properties", "metadata"]);
39
+ };
40
+ }
41
+ exports.DuplicatePage = DuplicatePage;
42
+
43
+ //# sourceMappingURL=DuplicatePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_pick","_interopRequireDefault","require","DuplicatePage","constructor","getOperation","createOperation","execute","id","page","where","Error","data","pickPageData","newPage","properties","title","pick","exports"],"sources":["DuplicatePage.ts"],"sourcesContent":["import pick from \"lodash/pick\";\nimport type { IDuplicatePage } from \"./IDuplicatePage\";\nimport type { DuplicateWbPageParams, WbPage, WbPagesStorageOperations } from \"~/page/page.types\";\n\nexport class DuplicatePage implements IDuplicatePage {\n private readonly getOperation: WbPagesStorageOperations[\"get\"];\n private readonly createOperation: WbPagesStorageOperations[\"create\"];\n\n constructor(\n getOperation: WbPagesStorageOperations[\"get\"],\n createOperation: WbPagesStorageOperations[\"create\"]\n ) {\n this.getOperation = getOperation;\n this.createOperation = createOperation;\n }\n\n async execute({ id }: DuplicateWbPageParams): Promise<WbPage> {\n const page = await this.getOperation({ where: { id } });\n\n if (!page) {\n throw new Error(`Page with id ${id} not found`);\n }\n\n const data = this.pickPageData(page);\n\n const newPage = {\n ...data,\n properties: {\n ...data.properties,\n title: \"Copy of \" + page.properties.title\n }\n };\n\n return await this.createOperation({ data: newPage });\n }\n\n private pickPageData = (page: WbPage) => {\n return pick(page, [\"bindings\", \"elements\", \"wbyAco_location\", \"properties\", \"metadata\"]);\n };\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIO,MAAMC,aAAa,CAA2B;EAIjDC,WAAWA,CACPC,YAA6C,EAC7CC,eAAmD,EACrD;IACE,IAAI,CAACD,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,eAAe,GAAGA,eAAe;EAC1C;EAEA,MAAMC,OAAOA,CAAC;IAAEC;EAA0B,CAAC,EAAmB;IAC1D,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACJ,YAAY,CAAC;MAAEK,KAAK,EAAE;QAAEF;MAAG;IAAE,CAAC,CAAC;IAEvD,IAAI,CAACC,IAAI,EAAE;MACP,MAAM,IAAIE,KAAK,CAAC,gBAAgBH,EAAE,YAAY,CAAC;IACnD;IAEA,MAAMI,IAAI,GAAG,IAAI,CAACC,YAAY,CAACJ,IAAI,CAAC;IAEpC,MAAMK,OAAO,GAAG;MACZ,GAAGF,IAAI;MACPG,UAAU,EAAE;QACR,GAAGH,IAAI,CAACG,UAAU;QAClBC,KAAK,EAAE,UAAU,GAAGP,IAAI,CAACM,UAAU,CAACC;MACxC;IACJ,CAAC;IAED,OAAO,MAAM,IAAI,CAACV,eAAe,CAAC;MAAEM,IAAI,EAAEE;IAAQ,CAAC,CAAC;EACxD;EAEQD,YAAY,GAAIJ,IAAY,IAAK;IACrC,OAAO,IAAAQ,aAAI,EAACR,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;EAC5F,CAAC;AACL;AAACS,OAAA,CAAAf,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { DuplicatePageUseCasesTopics } from "./index";
2
+ import type { DuplicateWbPageParams, WbPagesStorageOperations } from "../../page.types";
3
+ import type { IDuplicatePage } from "./IDuplicatePage";
4
+ export declare class DuplicatePageWithEvents implements IDuplicatePage {
5
+ private topics;
6
+ private readonly getOperation;
7
+ private readonly decoretee;
8
+ constructor(topics: DuplicatePageUseCasesTopics, getOperation: WbPagesStorageOperations["get"], decoretee: IDuplicatePage);
9
+ execute(params: DuplicateWbPageParams): Promise<import("../../page.types").WbPage>;
10
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DuplicatePageWithEvents = void 0;
7
+ var _error = require("@webiny/error");
8
+ class DuplicatePageWithEvents {
9
+ constructor(topics, getOperation, decoretee) {
10
+ this.topics = topics;
11
+ this.getOperation = getOperation;
12
+ this.decoretee = decoretee;
13
+ }
14
+ async execute(params) {
15
+ const original = await this.getOperation({
16
+ where: {
17
+ id: params.id
18
+ }
19
+ });
20
+ if (!original) {
21
+ throw new _error.WebinyError(`Page with id ${params.id} not found`, "DUPLICATE_PAGE_WITH_EVENTS_ERROR");
22
+ }
23
+ await this.topics.onWebsiteBuilderPageBeforeDuplicate.publish({
24
+ original
25
+ });
26
+ const page = await this.decoretee.execute(params);
27
+ await this.topics.onWebsiteBuilderPageAfterDuplicate.publish({
28
+ original,
29
+ page
30
+ });
31
+ return page;
32
+ }
33
+ }
34
+ exports.DuplicatePageWithEvents = DuplicatePageWithEvents;
35
+
36
+ //# sourceMappingURL=DuplicatePageWithEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","require","DuplicatePageWithEvents","constructor","topics","getOperation","decoretee","execute","params","original","where","id","WebinyError","onWebsiteBuilderPageBeforeDuplicate","publish","page","onWebsiteBuilderPageAfterDuplicate","exports"],"sources":["DuplicatePageWithEvents.ts"],"sourcesContent":["import type { DuplicatePageUseCasesTopics } from \"./index\";\nimport type { DuplicateWbPageParams, WbPagesStorageOperations } from \"~/page/page.types\";\nimport type { IDuplicatePage } from \"./IDuplicatePage\";\nimport { WebinyError } from \"@webiny/error\";\n\nexport class DuplicatePageWithEvents implements IDuplicatePage {\n private topics: DuplicatePageUseCasesTopics;\n private readonly getOperation: WbPagesStorageOperations[\"get\"];\n private readonly decoretee: IDuplicatePage;\n\n constructor(\n topics: DuplicatePageUseCasesTopics,\n getOperation: WbPagesStorageOperations[\"get\"],\n decoretee: IDuplicatePage\n ) {\n this.topics = topics;\n this.getOperation = getOperation;\n this.decoretee = decoretee;\n }\n\n async execute(params: DuplicateWbPageParams) {\n const original = await this.getOperation({ where: { id: params.id } });\n\n if (!original) {\n throw new WebinyError(\n `Page with id ${params.id} not found`,\n \"DUPLICATE_PAGE_WITH_EVENTS_ERROR\"\n );\n }\n\n await this.topics.onWebsiteBuilderPageBeforeDuplicate.publish({ original });\n const page = await this.decoretee.execute(params);\n await this.topics.onWebsiteBuilderPageAfterDuplicate.publish({ original, page });\n\n return page;\n }\n}\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,uBAAuB,CAA2B;EAK3DC,WAAWA,CACPC,MAAmC,EACnCC,YAA6C,EAC7CC,SAAyB,EAC3B;IACE,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAA6B,EAAE;IACzC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,YAAY,CAAC;MAAEK,KAAK,EAAE;QAAEC,EAAE,EAAEH,MAAM,CAACG;MAAG;IAAE,CAAC,CAAC;IAEtE,IAAI,CAACF,QAAQ,EAAE;MACX,MAAM,IAAIG,kBAAW,CACjB,gBAAgBJ,MAAM,CAACG,EAAE,YAAY,EACrC,kCACJ,CAAC;IACL;IAEA,MAAM,IAAI,CAACP,MAAM,CAACS,mCAAmC,CAACC,OAAO,CAAC;MAAEL;IAAS,CAAC,CAAC;IAC3E,MAAMM,IAAI,GAAG,MAAM,IAAI,CAACT,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IACjD,MAAM,IAAI,CAACJ,MAAM,CAACY,kCAAkC,CAACF,OAAO,CAAC;MAAEL,QAAQ;MAAEM;IAAK,CAAC,CAAC;IAEhF,OAAOA,IAAI;EACf;AACJ;AAACE,OAAA,CAAAf,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { DuplicateWbPageParams, WbPage } from "../../page.types";
2
+ export interface IDuplicatePage {
3
+ execute: (params: DuplicateWbPageParams) => Promise<WbPage>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=IDuplicatePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IDuplicatePage.ts"],"sourcesContent":["import type { DuplicateWbPageParams, WbPage } from \"~/page/page.types\";\n\nexport interface IDuplicatePage {\n execute: (params: DuplicateWbPageParams) => Promise<WbPage>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import { Topic } from "@webiny/pubsub/types";
2
+ import { DuplicatePageWithEvents } from "./DuplicatePageWithEvents";
3
+ import type { OnWebsiteBuilderPageAfterDuplicateTopicParams, OnWebsiteBuilderPageBeforeDuplicateTopicParams, WbPagesStorageOperations } from "../../page.types";
4
+ export interface DuplicatePageUseCasesTopics {
5
+ onWebsiteBuilderPageBeforeDuplicate: Topic<OnWebsiteBuilderPageBeforeDuplicateTopicParams>;
6
+ onWebsiteBuilderPageAfterDuplicate: Topic<OnWebsiteBuilderPageAfterDuplicateTopicParams>;
7
+ }
8
+ interface DuplicatePageUseCasesParams {
9
+ createOperation: WbPagesStorageOperations["create"];
10
+ getOperation: WbPagesStorageOperations["get"];
11
+ topics: DuplicatePageUseCasesTopics;
12
+ }
13
+ export declare const getDuplicatePageUseCase: (params: DuplicatePageUseCasesParams) => {
14
+ duplicatePageUseCase: DuplicatePageWithEvents;
15
+ };
16
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDuplicatePageUseCase = void 0;
7
+ var _DuplicatePage = require("./DuplicatePage");
8
+ var _DuplicatePageWithEvents = require("./DuplicatePageWithEvents");
9
+ const getDuplicatePageUseCase = params => {
10
+ const duplicatePage = new _DuplicatePage.DuplicatePage(params.getOperation, params.createOperation);
11
+ const duplicatePageUseCase = new _DuplicatePageWithEvents.DuplicatePageWithEvents(params.topics, params.getOperation, duplicatePage);
12
+ return {
13
+ duplicatePageUseCase
14
+ };
15
+ };
16
+ exports.getDuplicatePageUseCase = getDuplicatePageUseCase;
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_DuplicatePage","require","_DuplicatePageWithEvents","getDuplicatePageUseCase","params","duplicatePage","DuplicatePage","getOperation","createOperation","duplicatePageUseCase","DuplicatePageWithEvents","topics","exports"],"sources":["index.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { DuplicatePage } from \"./DuplicatePage\";\nimport { DuplicatePageWithEvents } from \"./DuplicatePageWithEvents\";\nimport type {\n OnWebsiteBuilderPageAfterDuplicateTopicParams,\n OnWebsiteBuilderPageBeforeDuplicateTopicParams,\n WbPagesStorageOperations\n} from \"~/page/page.types\";\n\nexport interface DuplicatePageUseCasesTopics {\n onWebsiteBuilderPageBeforeDuplicate: Topic<OnWebsiteBuilderPageBeforeDuplicateTopicParams>;\n onWebsiteBuilderPageAfterDuplicate: Topic<OnWebsiteBuilderPageAfterDuplicateTopicParams>;\n}\n\ninterface DuplicatePageUseCasesParams {\n createOperation: WbPagesStorageOperations[\"create\"];\n getOperation: WbPagesStorageOperations[\"get\"];\n topics: DuplicatePageUseCasesTopics;\n}\n\nexport const getDuplicatePageUseCase = (params: DuplicatePageUseCasesParams) => {\n const duplicatePage = new DuplicatePage(params.getOperation, params.createOperation);\n const duplicatePageUseCase = new DuplicatePageWithEvents(\n params.topics,\n params.getOperation,\n duplicatePage\n );\n\n return {\n duplicatePageUseCase\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AAkBO,MAAME,uBAAuB,GAAIC,MAAmC,IAAK;EAC5E,MAAMC,aAAa,GAAG,IAAIC,4BAAa,CAACF,MAAM,CAACG,YAAY,EAAEH,MAAM,CAACI,eAAe,CAAC;EACpF,MAAMC,oBAAoB,GAAG,IAAIC,gDAAuB,CACpDN,MAAM,CAACO,MAAM,EACbP,MAAM,CAACG,YAAY,EACnBF,aACJ,CAAC;EAED,OAAO;IACHI;EACJ,CAAC;AACL,CAAC;AAACG,OAAA,CAAAT,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { IGetPageById } from "./IGetPageById";
2
+ import type { WbPagesStorageOperations } from "../../page.types";
3
+ export declare class GetPageById implements IGetPageById {
4
+ private readonly getOperation;
5
+ constructor(getOperation: WbPagesStorageOperations["getById"]);
6
+ execute(id: string): Promise<import("../../page.types").WbPage | null>;
7
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GetPageById = void 0;
7
+ class GetPageById {
8
+ constructor(getOperation) {
9
+ this.getOperation = getOperation;
10
+ }
11
+ async execute(id) {
12
+ return await this.getOperation(id);
13
+ }
14
+ }
15
+ exports.GetPageById = GetPageById;
16
+
17
+ //# sourceMappingURL=GetPageById.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GetPageById","constructor","getOperation","execute","id","exports"],"sources":["GetPageById.ts"],"sourcesContent":["import type { IGetPageById } from \"./IGetPageById\";\nimport type { WbPagesStorageOperations } from \"~/page/page.types\";\n\nexport class GetPageById implements IGetPageById {\n private readonly getOperation: WbPagesStorageOperations[\"getById\"];\n\n constructor(getOperation: WbPagesStorageOperations[\"getById\"]) {\n this.getOperation = getOperation;\n }\n\n async execute(id: string) {\n return await this.getOperation(id);\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,WAAW,CAAyB;EAG7CC,WAAWA,CAACC,YAAiD,EAAE;IAC3D,IAAI,CAACA,YAAY,GAAGA,YAAY;EACpC;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAAE;IACtB,OAAO,MAAM,IAAI,CAACF,YAAY,CAACE,EAAE,CAAC;EACtC;AACJ;AAACC,OAAA,CAAAL,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { WbPage } from "../../page.types";
2
+ export interface IGetPageById {
3
+ execute: (id: string) => Promise<WbPage | null>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=IGetPageById.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IGetPageById.ts"],"sourcesContent":["import type { GetWbPageParams, WbPage } from \"~/page/page.types\";\n\nexport interface IGetPageById {\n execute: (id: string) => Promise<WbPage | null>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { GetPageById } from "./GetPageById";
2
+ import type { WbPagesStorageOperations } from "../../page.types";
3
+ interface GetPageByIdUseCasesParams {
4
+ getOperation: WbPagesStorageOperations["getById"];
5
+ }
6
+ export declare const getGetPageByIdUseCase: (params: GetPageByIdUseCasesParams) => {
7
+ getPageByIdUseCase: GetPageById;
8
+ };
9
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getGetPageByIdUseCase = void 0;
7
+ var _GetPageById = require("./GetPageById");
8
+ const getGetPageByIdUseCase = params => {
9
+ const getPageByIdUseCase = new _GetPageById.GetPageById(params.getOperation);
10
+ return {
11
+ getPageByIdUseCase
12
+ };
13
+ };
14
+ exports.getGetPageByIdUseCase = getGetPageByIdUseCase;
15
+
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_GetPageById","require","getGetPageByIdUseCase","params","getPageByIdUseCase","GetPageById","getOperation","exports"],"sources":["index.ts"],"sourcesContent":["import { GetPageById } from \"./GetPageById\";\nimport type { WbPagesStorageOperations } from \"~/page/page.types\";\n\ninterface GetPageByIdUseCasesParams {\n getOperation: WbPagesStorageOperations[\"getById\"];\n}\n\nexport const getGetPageByIdUseCase = (params: GetPageByIdUseCasesParams) => {\n const getPageByIdUseCase = new GetPageById(params.getOperation);\n\n return {\n getPageByIdUseCase\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAOO,MAAMC,qBAAqB,GAAIC,MAAiC,IAAK;EACxE,MAAMC,kBAAkB,GAAG,IAAIC,wBAAW,CAACF,MAAM,CAACG,YAAY,CAAC;EAE/D,OAAO;IACHF;EACJ,CAAC;AACL,CAAC;AAACG,OAAA,CAAAL,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { IGetPageByPath } from "./IGetPageByPath";
2
+ import type { WbPagesStorageOperations } from "../../page.types";
3
+ /**
4
+ * Get published page by path.
5
+ * This use case always returns a published page revision.
6
+ */
7
+ export declare class GetPageByPath implements IGetPageByPath {
8
+ private readonly getOperation;
9
+ constructor(getOperation: WbPagesStorageOperations["get"]);
10
+ execute(path: string): Promise<import("../../page.types").WbPage | null>;
11
+ }