@webiny/api-website-builder 0.0.0-unstable.e53eceafb5

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 (267) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +33 -0
  3. package/constants.d.ts +3 -0
  4. package/constants.js +11 -0
  5. package/constants.js.map +1 -0
  6. package/context/BaseContext.d.ts +11 -0
  7. package/context/BaseContext.js +41 -0
  8. package/context/BaseContext.js.map +1 -0
  9. package/context/WebsiteBuilder.d.ts +13 -0
  10. package/context/WebsiteBuilder.js +35 -0
  11. package/context/WebsiteBuilder.js.map +1 -0
  12. package/context/pages/PagesStorage.d.ts +26 -0
  13. package/context/pages/PagesStorage.js +114 -0
  14. package/context/pages/PagesStorage.js.map +1 -0
  15. package/context/pages/pages.context.d.ts +11 -0
  16. package/context/pages/pages.context.js +80 -0
  17. package/context/pages/pages.context.js.map +1 -0
  18. package/context/pages/pages.crud.d.ts +3 -0
  19. package/context/pages/pages.crud.js +208 -0
  20. package/context/pages/pages.crud.js.map +1 -0
  21. package/context/pages/pages.types.d.ts +247 -0
  22. package/context/pages/pages.types.js +7 -0
  23. package/context/pages/pages.types.js.map +1 -0
  24. package/context/redirects/RedirectsStorage.d.ts +21 -0
  25. package/context/redirects/RedirectsStorage.js +88 -0
  26. package/context/redirects/RedirectsStorage.js.map +1 -0
  27. package/context/redirects/redirects.context.d.ts +11 -0
  28. package/context/redirects/redirects.context.js +80 -0
  29. package/context/redirects/redirects.context.js.map +1 -0
  30. package/context/redirects/redirects.crud.d.ts +3 -0
  31. package/context/redirects/redirects.crud.js +109 -0
  32. package/context/redirects/redirects.crud.js.map +1 -0
  33. package/context/redirects/redirects.types.d.ts +143 -0
  34. package/context/redirects/redirects.types.js +7 -0
  35. package/context/redirects/redirects.types.js.map +1 -0
  36. package/context/types.d.ts +28 -0
  37. package/context/types.js +7 -0
  38. package/context/types.js.map +1 -0
  39. package/features/pages/CreatePage/CreatePage.d.ts +7 -0
  40. package/features/pages/CreatePage/CreatePage.js +19 -0
  41. package/features/pages/CreatePage/CreatePage.js.map +1 -0
  42. package/features/pages/CreatePage/CreatePageWithEvents.d.ts +9 -0
  43. package/features/pages/CreatePage/CreatePageWithEvents.js +25 -0
  44. package/features/pages/CreatePage/CreatePageWithEvents.js.map +1 -0
  45. package/features/pages/CreatePage/ICreatePage.d.ts +4 -0
  46. package/features/pages/CreatePage/ICreatePage.js +7 -0
  47. package/features/pages/CreatePage/ICreatePage.js.map +1 -0
  48. package/features/pages/CreatePage/index.d.ts +15 -0
  49. package/features/pages/CreatePage/index.js +18 -0
  50. package/features/pages/CreatePage/index.js.map +1 -0
  51. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.d.ts +7 -0
  52. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.js +17 -0
  53. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.js.map +1 -0
  54. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.d.ts +10 -0
  55. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js +32 -0
  56. package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js.map +1 -0
  57. package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.d.ts +4 -0
  58. package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.js +7 -0
  59. package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.js.map +1 -0
  60. package/features/pages/CreatePageRevisionFrom/index.d.ts +16 -0
  61. package/features/pages/CreatePageRevisionFrom/index.js +18 -0
  62. package/features/pages/CreatePageRevisionFrom/index.js.map +1 -0
  63. package/features/pages/DeletePage/DeletePage.d.ts +7 -0
  64. package/features/pages/DeletePage/DeletePage.js +17 -0
  65. package/features/pages/DeletePage/DeletePage.js.map +1 -0
  66. package/features/pages/DeletePage/DeletePageWithEvents.d.ts +10 -0
  67. package/features/pages/DeletePage/DeletePageWithEvents.js +30 -0
  68. package/features/pages/DeletePage/DeletePageWithEvents.js.map +1 -0
  69. package/features/pages/DeletePage/IDeletePage.d.ts +4 -0
  70. package/features/pages/DeletePage/IDeletePage.js +7 -0
  71. package/features/pages/DeletePage/IDeletePage.js.map +1 -0
  72. package/features/pages/DeletePage/index.d.ts +16 -0
  73. package/features/pages/DeletePage/index.js +18 -0
  74. package/features/pages/DeletePage/index.js.map +1 -0
  75. package/features/pages/DuplicatePage/DuplicatePage.d.ts +9 -0
  76. package/features/pages/DuplicatePage/DuplicatePage.js +39 -0
  77. package/features/pages/DuplicatePage/DuplicatePage.js.map +1 -0
  78. package/features/pages/DuplicatePage/DuplicatePageWithEvents.d.ts +10 -0
  79. package/features/pages/DuplicatePage/DuplicatePageWithEvents.js +32 -0
  80. package/features/pages/DuplicatePage/DuplicatePageWithEvents.js.map +1 -0
  81. package/features/pages/DuplicatePage/IDuplicatePage.d.ts +4 -0
  82. package/features/pages/DuplicatePage/IDuplicatePage.js +7 -0
  83. package/features/pages/DuplicatePage/IDuplicatePage.js.map +1 -0
  84. package/features/pages/DuplicatePage/index.d.ts +16 -0
  85. package/features/pages/DuplicatePage/index.js +18 -0
  86. package/features/pages/DuplicatePage/index.js.map +1 -0
  87. package/features/pages/GetPageById/GetPageById.d.ts +7 -0
  88. package/features/pages/GetPageById/GetPageById.js +17 -0
  89. package/features/pages/GetPageById/GetPageById.js.map +1 -0
  90. package/features/pages/GetPageById/IGetPageById.d.ts +4 -0
  91. package/features/pages/GetPageById/IGetPageById.js +7 -0
  92. package/features/pages/GetPageById/IGetPageById.js.map +1 -0
  93. package/features/pages/GetPageById/index.d.ts +9 -0
  94. package/features/pages/GetPageById/index.js +16 -0
  95. package/features/pages/GetPageById/index.js.map +1 -0
  96. package/features/pages/GetPageByPath/GetPageByPath.d.ts +11 -0
  97. package/features/pages/GetPageByPath/GetPageByPath.js +28 -0
  98. package/features/pages/GetPageByPath/GetPageByPath.js.map +1 -0
  99. package/features/pages/GetPageByPath/IGetPageByPath.d.ts +4 -0
  100. package/features/pages/GetPageByPath/IGetPageByPath.js +7 -0
  101. package/features/pages/GetPageByPath/IGetPageByPath.js.map +1 -0
  102. package/features/pages/GetPageByPath/index.d.ts +9 -0
  103. package/features/pages/GetPageByPath/index.js +16 -0
  104. package/features/pages/GetPageByPath/index.js.map +1 -0
  105. package/features/pages/GetPageRevisions/GetPageRevisions.d.ts +7 -0
  106. package/features/pages/GetPageRevisions/GetPageRevisions.js +17 -0
  107. package/features/pages/GetPageRevisions/GetPageRevisions.js.map +1 -0
  108. package/features/pages/GetPageRevisions/IGetPageById.d.ts +4 -0
  109. package/features/pages/GetPageRevisions/IGetPageById.js +7 -0
  110. package/features/pages/GetPageRevisions/IGetPageById.js.map +1 -0
  111. package/features/pages/GetPageRevisions/index.d.ts +9 -0
  112. package/features/pages/GetPageRevisions/index.js +16 -0
  113. package/features/pages/GetPageRevisions/index.js.map +1 -0
  114. package/features/pages/ListPages/IListPages.d.ts +17 -0
  115. package/features/pages/ListPages/IListPages.js +7 -0
  116. package/features/pages/ListPages/IListPages.js.map +1 -0
  117. package/features/pages/ListPages/ListPages.d.ts +7 -0
  118. package/features/pages/ListPages/ListPages.js +17 -0
  119. package/features/pages/ListPages/ListPages.js.map +1 -0
  120. package/features/pages/ListPages/index.d.ts +9 -0
  121. package/features/pages/ListPages/index.js +16 -0
  122. package/features/pages/ListPages/index.js.map +1 -0
  123. package/features/pages/MovePage/IMovePage.d.ts +4 -0
  124. package/features/pages/MovePage/IMovePage.js +7 -0
  125. package/features/pages/MovePage/IMovePage.js.map +1 -0
  126. package/features/pages/MovePage/MovePage.d.ts +7 -0
  127. package/features/pages/MovePage/MovePage.js +17 -0
  128. package/features/pages/MovePage/MovePage.js.map +1 -0
  129. package/features/pages/MovePage/MovePageWithEvents.d.ts +10 -0
  130. package/features/pages/MovePage/MovePageWithEvents.js +32 -0
  131. package/features/pages/MovePage/MovePageWithEvents.js.map +1 -0
  132. package/features/pages/MovePage/index.d.ts +16 -0
  133. package/features/pages/MovePage/index.js +18 -0
  134. package/features/pages/MovePage/index.js.map +1 -0
  135. package/features/pages/PublishPage/IPublishPage.d.ts +4 -0
  136. package/features/pages/PublishPage/IPublishPage.js +7 -0
  137. package/features/pages/PublishPage/IPublishPage.js.map +1 -0
  138. package/features/pages/PublishPage/PublishPage.d.ts +7 -0
  139. package/features/pages/PublishPage/PublishPage.js +17 -0
  140. package/features/pages/PublishPage/PublishPage.js.map +1 -0
  141. package/features/pages/PublishPage/PublishPageWithEvents.d.ts +10 -0
  142. package/features/pages/PublishPage/PublishPageWithEvents.js +31 -0
  143. package/features/pages/PublishPage/PublishPageWithEvents.js.map +1 -0
  144. package/features/pages/PublishPage/index.d.ts +16 -0
  145. package/features/pages/PublishPage/index.js +18 -0
  146. package/features/pages/PublishPage/index.js.map +1 -0
  147. package/features/pages/UnpublishPage/IUnpublishPage.d.ts +4 -0
  148. package/features/pages/UnpublishPage/IUnpublishPage.js +7 -0
  149. package/features/pages/UnpublishPage/IUnpublishPage.js.map +1 -0
  150. package/features/pages/UnpublishPage/UnpublishPage.d.ts +7 -0
  151. package/features/pages/UnpublishPage/UnpublishPage.js +17 -0
  152. package/features/pages/UnpublishPage/UnpublishPage.js.map +1 -0
  153. package/features/pages/UnpublishPage/UnpublishPageWithEvents.d.ts +10 -0
  154. package/features/pages/UnpublishPage/UnpublishPageWithEvents.js +31 -0
  155. package/features/pages/UnpublishPage/UnpublishPageWithEvents.js.map +1 -0
  156. package/features/pages/UnpublishPage/index.d.ts +16 -0
  157. package/features/pages/UnpublishPage/index.js +18 -0
  158. package/features/pages/UnpublishPage/index.js.map +1 -0
  159. package/features/pages/UpdatePage/IUpdatePage.d.ts +4 -0
  160. package/features/pages/UpdatePage/IUpdatePage.js +7 -0
  161. package/features/pages/UpdatePage/IUpdatePage.js.map +1 -0
  162. package/features/pages/UpdatePage/UpdatePage.d.ts +7 -0
  163. package/features/pages/UpdatePage/UpdatePage.js +20 -0
  164. package/features/pages/UpdatePage/UpdatePage.js.map +1 -0
  165. package/features/pages/UpdatePage/UpdatePageWithEvents.d.ts +10 -0
  166. package/features/pages/UpdatePage/UpdatePageWithEvents.js +40 -0
  167. package/features/pages/UpdatePage/UpdatePageWithEvents.js.map +1 -0
  168. package/features/pages/UpdatePage/index.d.ts +16 -0
  169. package/features/pages/UpdatePage/index.js +18 -0
  170. package/features/pages/UpdatePage/index.js.map +1 -0
  171. package/features/pages/index.d.ts +9 -0
  172. package/features/pages/index.js +106 -0
  173. package/features/pages/index.js.map +1 -0
  174. package/features/redirects/CreateRedirect/CreateRedirectWithEvents.d.ts +9 -0
  175. package/features/redirects/CreateRedirect/CreateRedirectWithEvents.js +25 -0
  176. package/features/redirects/CreateRedirect/CreateRedirectWithEvents.js.map +1 -0
  177. package/features/redirects/CreateRedirect/CreateRevision.d.ts +7 -0
  178. package/features/redirects/CreateRedirect/CreateRevision.js +19 -0
  179. package/features/redirects/CreateRedirect/CreateRevision.js.map +1 -0
  180. package/features/redirects/CreateRedirect/ICreateRedirect.d.ts +4 -0
  181. package/features/redirects/CreateRedirect/ICreateRedirect.js +7 -0
  182. package/features/redirects/CreateRedirect/ICreateRedirect.js.map +1 -0
  183. package/features/redirects/CreateRedirect/index.d.ts +15 -0
  184. package/features/redirects/CreateRedirect/index.js +18 -0
  185. package/features/redirects/CreateRedirect/index.js.map +1 -0
  186. package/features/redirects/DeleteRedirect/DeleteRedirect.d.ts +7 -0
  187. package/features/redirects/DeleteRedirect/DeleteRedirect.js +17 -0
  188. package/features/redirects/DeleteRedirect/DeleteRedirect.js.map +1 -0
  189. package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.d.ts +10 -0
  190. package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.js +30 -0
  191. package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.js.map +1 -0
  192. package/features/redirects/DeleteRedirect/IDeleteRedirect.d.ts +4 -0
  193. package/features/redirects/DeleteRedirect/IDeleteRedirect.js +7 -0
  194. package/features/redirects/DeleteRedirect/IDeleteRedirect.js.map +1 -0
  195. package/features/redirects/DeleteRedirect/index.d.ts +16 -0
  196. package/features/redirects/DeleteRedirect/index.js +18 -0
  197. package/features/redirects/DeleteRedirect/index.js.map +1 -0
  198. package/features/redirects/GetRedirectById/GetRedirectById.d.ts +7 -0
  199. package/features/redirects/GetRedirectById/GetRedirectById.js +17 -0
  200. package/features/redirects/GetRedirectById/GetRedirectById.js.map +1 -0
  201. package/features/redirects/GetRedirectById/IGetRedirectById.d.ts +4 -0
  202. package/features/redirects/GetRedirectById/IGetRedirectById.js +7 -0
  203. package/features/redirects/GetRedirectById/IGetRedirectById.js.map +1 -0
  204. package/features/redirects/GetRedirectById/index.d.ts +9 -0
  205. package/features/redirects/GetRedirectById/index.js +16 -0
  206. package/features/redirects/GetRedirectById/index.js.map +1 -0
  207. package/features/redirects/ListRedirects/IListRedirects.d.ts +17 -0
  208. package/features/redirects/ListRedirects/IListRedirects.js +7 -0
  209. package/features/redirects/ListRedirects/IListRedirects.js.map +1 -0
  210. package/features/redirects/ListRedirects/ListRedirects.d.ts +7 -0
  211. package/features/redirects/ListRedirects/ListRedirects.js +17 -0
  212. package/features/redirects/ListRedirects/ListRedirects.js.map +1 -0
  213. package/features/redirects/ListRedirects/index.d.ts +9 -0
  214. package/features/redirects/ListRedirects/index.js +16 -0
  215. package/features/redirects/ListRedirects/index.js.map +1 -0
  216. package/features/redirects/MoveRedirect/IMoveRedirect.d.ts +4 -0
  217. package/features/redirects/MoveRedirect/IMoveRedirect.js +7 -0
  218. package/features/redirects/MoveRedirect/IMoveRedirect.js.map +1 -0
  219. package/features/redirects/MoveRedirect/MoveRedirect.d.ts +7 -0
  220. package/features/redirects/MoveRedirect/MoveRedirect.js +17 -0
  221. package/features/redirects/MoveRedirect/MoveRedirect.js.map +1 -0
  222. package/features/redirects/MoveRedirect/MoveRedirectWithEvents.d.ts +10 -0
  223. package/features/redirects/MoveRedirect/MoveRedirectWithEvents.js +32 -0
  224. package/features/redirects/MoveRedirect/MoveRedirectWithEvents.js.map +1 -0
  225. package/features/redirects/MoveRedirect/index.d.ts +16 -0
  226. package/features/redirects/MoveRedirect/index.js +18 -0
  227. package/features/redirects/MoveRedirect/index.js.map +1 -0
  228. package/features/redirects/UpdateRedirect/IUpdateRedirect.d.ts +4 -0
  229. package/features/redirects/UpdateRedirect/IUpdateRedirect.js +7 -0
  230. package/features/redirects/UpdateRedirect/IUpdateRedirect.js.map +1 -0
  231. package/features/redirects/UpdateRedirect/UpdateRedirect.d.ts +7 -0
  232. package/features/redirects/UpdateRedirect/UpdateRedirect.js +20 -0
  233. package/features/redirects/UpdateRedirect/UpdateRedirect.js.map +1 -0
  234. package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.d.ts +10 -0
  235. package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.js +40 -0
  236. package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.js.map +1 -0
  237. package/features/redirects/UpdateRedirect/index.d.ts +16 -0
  238. package/features/redirects/UpdateRedirect/index.js +18 -0
  239. package/features/redirects/UpdateRedirect/index.js.map +1 -0
  240. package/features/redirects/index.d.ts +6 -0
  241. package/features/redirects/index.js +73 -0
  242. package/features/redirects/index.js.map +1 -0
  243. package/graphql/createGraphQL.d.ts +2 -0
  244. package/graphql/createGraphQL.js +88 -0
  245. package/graphql/createGraphQL.js.map +1 -0
  246. package/graphql/pages/pages.gql.d.ts +3 -0
  247. package/graphql/pages/pages.gql.js +199 -0
  248. package/graphql/pages/pages.gql.js.map +1 -0
  249. package/graphql/pages/pages.typeDefs.d.ts +1 -0
  250. package/graphql/pages/pages.typeDefs.js +248 -0
  251. package/graphql/pages/pages.typeDefs.js.map +1 -0
  252. package/graphql/redirects/redirects.gql.d.ts +3 -0
  253. package/graphql/redirects/redirects.gql.js +80 -0
  254. package/graphql/redirects/redirects.gql.js.map +1 -0
  255. package/graphql/redirects/redirects.typeDefs.d.ts +1 -0
  256. package/graphql/redirects/redirects.typeDefs.js +129 -0
  257. package/graphql/redirects/redirects.typeDefs.js.map +1 -0
  258. package/index.d.ts +2 -0
  259. package/index.js +22 -0
  260. package/index.js.map +1 -0
  261. package/package.json +54 -0
  262. package/utils/ensureAuthentication.d.ts +2 -0
  263. package/utils/ensureAuthentication.js +16 -0
  264. package/utils/ensureAuthentication.js.map +1 -0
  265. package/utils/resolve.d.ts +3 -0
  266. package/utils/resolve.js +26 -0
  267. 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
+ ```
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,11 @@
1
+ import type { SecurityPermission } from "@webiny/api-security/types";
2
+ import type { WebsiteBuilderContext } from "./types";
3
+ export declare abstract class BaseContext {
4
+ protected context: WebsiteBuilderContext;
5
+ protected constructor(context: WebsiteBuilderContext);
6
+ protected getLocaleCode(): string;
7
+ protected getIdentity(): import("@webiny/api-authentication/types").Identity;
8
+ protected getTenantId(): string;
9
+ protected getPermissions<T extends SecurityPermission = SecurityPermission>(name: string): Promise<T[]>;
10
+ protected getModel(modelId: string): Promise<import("@webiny/api-headless-cms/types").CmsModel>;
11
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BaseContext = void 0;
7
+ var _error = require("@webiny/error");
8
+ class BaseContext {
9
+ constructor(context) {
10
+ this.context = context;
11
+ }
12
+ getLocaleCode() {
13
+ const locale = this.context.i18n.getContentLocale();
14
+ if (!locale) {
15
+ throw new _error.WebinyError("Missing locale on context.i18n locale in File Manager API.", "LOCALE_ERROR");
16
+ }
17
+ return locale.code;
18
+ }
19
+ getIdentity() {
20
+ return this.context.security.getIdentity();
21
+ }
22
+ getTenantId() {
23
+ return this.context.tenancy.getCurrentTenant().id;
24
+ }
25
+ async getPermissions(name) {
26
+ return this.context.security.getPermissions(name);
27
+ }
28
+ async getModel(modelId) {
29
+ const model = await this.context.cms.getModel(modelId);
30
+ if (!model) {
31
+ throw new _error.WebinyError({
32
+ code: "MODEL_NOT_FOUND",
33
+ message: `Content model "${modelId}" was not found!`
34
+ });
35
+ }
36
+ return model;
37
+ }
38
+ }
39
+ exports.BaseContext = BaseContext;
40
+
41
+ //# sourceMappingURL=BaseContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","require","BaseContext","constructor","context","getLocaleCode","locale","i18n","getContentLocale","WebinyError","code","getIdentity","security","getTenantId","tenancy","getCurrentTenant","id","getPermissions","name","getModel","modelId","model","cms","message","exports"],"sources":["BaseContext.ts"],"sourcesContent":["import type { SecurityPermission } from \"@webiny/api-security/types\";\nimport { WebinyError } from \"@webiny/error\";\nimport type { WebsiteBuilderContext } from \"./types\";\n\nexport abstract class BaseContext {\n protected context: WebsiteBuilderContext;\n\n protected constructor(context: WebsiteBuilderContext) {\n this.context = context;\n }\n\n protected 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 protected getIdentity() {\n return this.context.security.getIdentity();\n }\n\n protected getTenantId() {\n return this.context.tenancy.getCurrentTenant().id;\n }\n\n protected async getPermissions<T extends SecurityPermission = SecurityPermission>(\n name: string\n ): Promise<T[]> {\n return this.context.security.getPermissions(name);\n }\n\n protected 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":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAeC,WAAW,CAAC;EAGpBC,WAAWA,CAACC,OAA8B,EAAE;IAClD,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEUC,aAAaA,CAAA,EAAG;IACtB,MAAMC,MAAM,GAAG,IAAI,CAACF,OAAO,CAACG,IAAI,CAACC,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAACF,MAAM,EAAE;MACT,MAAM,IAAIG,kBAAW,CACjB,4DAA4D,EAC5D,cACJ,CAAC;IACL;IACA,OAAOH,MAAM,CAACI,IAAI;EACtB;EAEUC,WAAWA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACP,OAAO,CAACQ,QAAQ,CAACD,WAAW,CAAC,CAAC;EAC9C;EAEUE,WAAWA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACT,OAAO,CAACU,OAAO,CAACC,gBAAgB,CAAC,CAAC,CAACC,EAAE;EACrD;EAEA,MAAgBC,cAAcA,CAC1BC,IAAY,EACA;IACZ,OAAO,IAAI,CAACd,OAAO,CAACQ,QAAQ,CAACK,cAAc,CAACC,IAAI,CAAC;EACrD;EAEA,MAAgBC,QAAQA,CAACC,OAAe,EAAE;IACtC,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACjB,OAAO,CAACkB,GAAG,CAACH,QAAQ,CAACC,OAAO,CAAC;IACtD,IAAI,CAACC,KAAK,EAAE;MACR,MAAM,IAAIZ,kBAAW,CAAC;QAClBC,IAAI,EAAE,iBAAiB;QACvBa,OAAO,EAAE,kBAAkBH,OAAO;MACtC,CAAC,CAAC;IACN;IAEA,OAAOC,KAAK;EAChB;AACJ;AAACG,OAAA,CAAAtB,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import type { WebsiteBuilderContext } from "./types";
2
+ import type { WbPageCrud } from "./pages/pages.types";
3
+ import type { WbRedirectCrud } from "./redirects/redirects.types";
4
+ export declare class WebsiteBuilder {
5
+ private readonly context;
6
+ private pagesContext;
7
+ private redirectsContext;
8
+ private constructor();
9
+ private init;
10
+ get pages(): WbPageCrud;
11
+ get redirects(): WbRedirectCrud;
12
+ static create(context: WebsiteBuilderContext): Promise<WebsiteBuilder>;
13
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WebsiteBuilder = void 0;
7
+ var _apiHeadlessCms = require("@webiny/api-headless-cms");
8
+ var _pages = require("./pages/pages.context");
9
+ var _redirects = require("./redirects/redirects.context");
10
+ class WebsiteBuilder {
11
+ constructor(context) {
12
+ this.context = context;
13
+ }
14
+ async init() {
15
+ this.pagesContext = await _pages.PagesContext.create(this.context);
16
+ this.redirectsContext = await _redirects.RedirectsContext.create(this.context);
17
+ }
18
+ get pages() {
19
+ return this.pagesContext;
20
+ }
21
+ get redirects() {
22
+ return this.redirectsContext;
23
+ }
24
+ static async create(context) {
25
+ const websiteBuilder = new WebsiteBuilder(context);
26
+ if (!(await (0, _apiHeadlessCms.isHeadlessCmsReady)(context))) {
27
+ return websiteBuilder;
28
+ }
29
+ await websiteBuilder.init();
30
+ return websiteBuilder;
31
+ }
32
+ }
33
+ exports.WebsiteBuilder = WebsiteBuilder;
34
+
35
+ //# sourceMappingURL=WebsiteBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_apiHeadlessCms","require","_pages","_redirects","WebsiteBuilder","constructor","context","init","pagesContext","PagesContext","create","redirectsContext","RedirectsContext","pages","redirects","websiteBuilder","isHeadlessCmsReady","exports"],"sources":["WebsiteBuilder.ts"],"sourcesContent":["import { isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport type { WebsiteBuilderContext } from \"~/context/types\";\nimport type { WbPageCrud } from \"./pages/pages.types\";\nimport type { WbRedirectCrud } from \"./redirects/redirects.types\";\nimport { PagesContext } from \"./pages/pages.context\";\nimport { RedirectsContext } from \"~/context/redirects/redirects.context\";\n\nexport class WebsiteBuilder {\n private readonly context: WebsiteBuilderContext;\n private pagesContext: WbPageCrud | undefined;\n private redirectsContext: WbRedirectCrud | undefined;\n\n private constructor(context: WebsiteBuilderContext) {\n this.context = context;\n }\n\n private async init() {\n this.pagesContext = await PagesContext.create(this.context);\n this.redirectsContext = await RedirectsContext.create(this.context);\n }\n\n get pages() {\n return this.pagesContext!;\n }\n\n get redirects() {\n return this.redirectsContext!;\n }\n\n static async create(context: WebsiteBuilderContext): Promise<WebsiteBuilder> {\n const websiteBuilder = new WebsiteBuilder(context);\n\n if (!(await isHeadlessCmsReady(context))) {\n return websiteBuilder;\n }\n\n await websiteBuilder.init();\n return websiteBuilder;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEO,MAAMG,cAAc,CAAC;EAKhBC,WAAWA,CAACC,OAA8B,EAAE;IAChD,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAcC,IAAIA,CAAA,EAAG;IACjB,IAAI,CAACC,YAAY,GAAG,MAAMC,mBAAY,CAACC,MAAM,CAAC,IAAI,CAACJ,OAAO,CAAC;IAC3D,IAAI,CAACK,gBAAgB,GAAG,MAAMC,2BAAgB,CAACF,MAAM,CAAC,IAAI,CAACJ,OAAO,CAAC;EACvE;EAEA,IAAIO,KAAKA,CAAA,EAAG;IACR,OAAO,IAAI,CAACL,YAAY;EAC5B;EAEA,IAAIM,SAASA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACH,gBAAgB;EAChC;EAEA,aAAaD,MAAMA,CAACJ,OAA8B,EAA2B;IACzE,MAAMS,cAAc,GAAG,IAAIX,cAAc,CAACE,OAAO,CAAC;IAElD,IAAI,EAAE,MAAM,IAAAU,kCAAkB,EAACV,OAAO,CAAC,CAAC,EAAE;MACtC,OAAOS,cAAc;IACzB;IAEA,MAAMA,cAAc,CAACR,IAAI,CAAC,CAAC;IAC3B,OAAOQ,cAAc;EACzB;AACJ;AAACE,OAAA,CAAAb,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import type { CmsModel, HeadlessCms } from "@webiny/api-headless-cms/types";
2
+ import type { WbPage, WbPagesStorageOperations, WbPagesStorageOperationsCreateParams, WbPagesStorageOperationsCreateRevisionFromParams, WbPagesStorageOperationsDeleteParams, WbPagesStorageOperationsGetParams, WbPagesStorageOperationsListParams, WbPagesStorageOperationsListResponse, WbPagesStorageOperationsMoveParams, WbPagesStorageOperationsPublishParams, WbPagesStorageOperationsUnpublishParams, WbPagesStorageOperationsUpdateParams } from "./pages.types";
3
+ import type { PluginsContainer } from "@webiny/plugins";
4
+ export declare class PagesStorage implements WbPagesStorageOperations {
5
+ private readonly cms;
6
+ private readonly model;
7
+ private readonly plugins;
8
+ static create(params: {
9
+ model: CmsModel;
10
+ cms: HeadlessCms;
11
+ plugins: PluginsContainer;
12
+ }): Promise<PagesStorage>;
13
+ private constructor();
14
+ get: (params: WbPagesStorageOperationsGetParams) => Promise<WbPage | null>;
15
+ getById: (id: string) => Promise<WbPage | null>;
16
+ getRevisions: (pageId: string) => Promise<WbPage[]>;
17
+ list: (params: WbPagesStorageOperationsListParams) => Promise<WbPagesStorageOperationsListResponse>;
18
+ create: ({ data }: WbPagesStorageOperationsCreateParams) => Promise<WbPage>;
19
+ update: ({ id, data }: WbPagesStorageOperationsUpdateParams) => Promise<WbPage>;
20
+ publish: ({ id }: WbPagesStorageOperationsPublishParams) => Promise<WbPage>;
21
+ unpublish: ({ id }: WbPagesStorageOperationsUnpublishParams) => Promise<WbPage>;
22
+ move: ({ id, folderId }: WbPagesStorageOperationsMoveParams) => Promise<void>;
23
+ createRevisionFrom: ({ id }: WbPagesStorageOperationsCreateRevisionFromParams) => Promise<WbPage>;
24
+ delete: ({ id }: WbPagesStorageOperationsDeleteParams) => Promise<void>;
25
+ private getWbPageFieldValues;
26
+ }
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PagesStorage = void 0;
8
+ var _omit = _interopRequireDefault(require("lodash/omit"));
9
+ var _apiHeadlessCms = require("@webiny/api-headless-cms");
10
+ class PagesStorage {
11
+ static async create(params) {
12
+ return new PagesStorage(params.model, params.cms, params.plugins);
13
+ }
14
+ constructor(model, cms, plugins) {
15
+ this.plugins = plugins;
16
+ this.model = model;
17
+ this.cms = cms;
18
+ }
19
+ get = async params => {
20
+ const rawEntry = await this.cms.getEntry(this.model, params);
21
+ const entry = await (0, _apiHeadlessCms.entryFromStorageTransform)({
22
+ plugins: this.plugins
23
+ }, this.model, rawEntry);
24
+ return entry ? this.getWbPageFieldValues(entry) : null;
25
+ };
26
+ getById = async id => {
27
+ const rawEntry = await this.cms.getEntryById(this.model, id);
28
+ const entry = await (0, _apiHeadlessCms.entryFromStorageTransform)({
29
+ plugins: this.plugins
30
+ }, this.model, rawEntry);
31
+ return entry ? this.getWbPageFieldValues(entry) : null;
32
+ };
33
+ getRevisions = async pageId => {
34
+ const revisions = await this.cms.getEntryRevisions(this.model, pageId);
35
+ return revisions.map(entry => this.getWbPageFieldValues(entry));
36
+ };
37
+ list = async params => {
38
+ const [entries, meta] = await this.cms.listEntries(this.model, {
39
+ after: params.after,
40
+ limit: params.limit,
41
+ sort: params.sort,
42
+ where: params.where,
43
+ search: params.search
44
+ });
45
+ return [entries.map(entry => this.getWbPageFieldValues(entry)), meta];
46
+ };
47
+ create = async ({
48
+ data
49
+ }) => {
50
+ const entry = await this.cms.createEntry(this.model, data);
51
+ return this.getWbPageFieldValues(entry);
52
+ };
53
+ update = async ({
54
+ id,
55
+ data
56
+ }) => {
57
+ const entry = await this.cms.getEntryById(this.model, id);
58
+ const values = (0, _omit.default)(data, ["id", "tenant", "locale", "webinyVersion"]);
59
+ const updatedEntry = await this.cms.updateEntry(this.model, entry.id, values);
60
+ return this.getWbPageFieldValues(updatedEntry);
61
+ };
62
+ publish = async ({
63
+ id
64
+ }) => {
65
+ const entry = await this.cms.publishEntry(this.model, id);
66
+ return this.getWbPageFieldValues(entry);
67
+ };
68
+ unpublish = async ({
69
+ id
70
+ }) => {
71
+ const entry = await this.cms.unpublishEntry(this.model, id);
72
+ return this.getWbPageFieldValues(entry);
73
+ };
74
+ move = async ({
75
+ id,
76
+ folderId
77
+ }) => {
78
+ await this.cms.moveEntry(this.model, id, folderId);
79
+ };
80
+ createRevisionFrom = async ({
81
+ id
82
+ }) => {
83
+ const entry = await this.cms.createEntryRevisionFrom(this.model, id, {});
84
+ return this.getWbPageFieldValues(entry);
85
+ };
86
+ delete = async ({
87
+ id
88
+ }) => {
89
+ await this.cms.deleteEntry(this.model, id);
90
+ };
91
+ getWbPageFieldValues(entry) {
92
+ return {
93
+ id: entry.id,
94
+ entryId: entry.entryId,
95
+ wbyAco_location: entry.location,
96
+ status: entry.status,
97
+ version: entry.version,
98
+ createdOn: entry.createdOn,
99
+ createdBy: entry.createdBy,
100
+ savedOn: entry.savedOn,
101
+ savedBy: entry.savedBy,
102
+ modifiedOn: entry.modifiedOn,
103
+ modifiedBy: entry.modifiedBy,
104
+ locked: entry.locked,
105
+ tenant: entry.tenant,
106
+ locale: entry.locale,
107
+ webinyVersion: entry.webinyVersion,
108
+ ...entry.values
109
+ };
110
+ }
111
+ }
112
+ exports.PagesStorage = PagesStorage;
113
+
114
+ //# sourceMappingURL=PagesStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_omit","_interopRequireDefault","require","_apiHeadlessCms","PagesStorage","create","params","model","cms","plugins","constructor","get","rawEntry","getEntry","entry","entryFromStorageTransform","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":["PagesStorage.ts"],"sourcesContent":["import omit from \"lodash/omit\";\nimport type { 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 \"~/context/pages/pages.types\";\nimport { entryFromStorageTransform } from \"@webiny/api-headless-cms\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\n\nexport class PagesStorage implements WbPagesStorageOperations {\n private readonly cms: HeadlessCms;\n private readonly model: CmsModel;\n private readonly plugins: PluginsContainer;\n\n static async create(params: { model: CmsModel; cms: HeadlessCms; plugins: PluginsContainer }) {\n return new PagesStorage(params.model, params.cms, params.plugins);\n }\n\n private constructor(model: CmsModel, cms: HeadlessCms, plugins: PluginsContainer) {\n this.plugins = plugins;\n this.model = model;\n this.cms = cms;\n }\n\n public get = async (params: WbPagesStorageOperationsGetParams): Promise<WbPage | null> => {\n const rawEntry = await this.cms.getEntry(this.model, params);\n\n const entry = await entryFromStorageTransform(\n { plugins: this.plugins },\n this.model,\n rawEntry\n );\n\n return entry ? this.getWbPageFieldValues(entry) : null;\n };\n\n public getById = async (id: string): Promise<WbPage | null> => {\n const rawEntry = await this.cms.getEntryById(this.model, id);\n\n const entry = await entryFromStorageTransform(\n { plugins: this.plugins },\n this.model,\n rawEntry\n );\n\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 entryId: 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,11 @@
1
+ import type { WebsiteBuilderContext } from "../types";
2
+ import type { WbPageCrud } from "./pages.types";
3
+ import { BaseContext } from "../BaseContext";
4
+ export declare const PAGE_MODEL_ID = "wbPage";
5
+ export declare class PagesContext extends BaseContext {
6
+ private constructor();
7
+ private init;
8
+ private setupStorageOperations;
9
+ static create(context: WebsiteBuilderContext): Promise<WbPageCrud>;
10
+ private createModelDefinition;
11
+ }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PagesContext = exports.PAGE_MODEL_ID = void 0;
7
+ var _BaseContext = require("../BaseContext");
8
+ var _apiHeadlessCms = require("@webiny/api-headless-cms");
9
+ var _PagesStorage = require("./PagesStorage");
10
+ var _pages = require("./pages.crud");
11
+ const PAGE_MODEL_ID = exports.PAGE_MODEL_ID = "wbPage";
12
+ class PagesContext extends _BaseContext.BaseContext {
13
+ constructor(context) {
14
+ super(context);
15
+ }
16
+ async init() {
17
+ const storageOperations = await this.setupStorageOperations();
18
+ return (0, _pages.createPagesCrud)({
19
+ storageOperations,
20
+ getTenantId: this.getTenantId.bind(this),
21
+ getLocaleCode: this.getLocaleCode.bind(this),
22
+ getIdentity: this.getIdentity.bind(this),
23
+ getPermissions: this.getPermissions.bind(this)
24
+ });
25
+ }
26
+ async setupStorageOperations() {
27
+ return this.context.security.withoutAuthorization(async () => {
28
+ // This registers code plugins (model group, models)
29
+ const modelDefinition = this.createModelDefinition();
30
+
31
+ // Finally, register all plugins
32
+ this.context.plugins.register([new _apiHeadlessCms.CmsModelPlugin(modelDefinition)]);
33
+
34
+ // Now load the page model registered in the previous step
35
+ const model = await this.getModel(PAGE_MODEL_ID);
36
+
37
+ // Overwrite the original `pages` storage ops
38
+ return await _PagesStorage.PagesStorage.create({
39
+ model,
40
+ cms: this.context.cms,
41
+ plugins: this.context.plugins
42
+ });
43
+ });
44
+ }
45
+ static async create(context) {
46
+ const pagesContext = new PagesContext(context);
47
+ return pagesContext.init();
48
+ }
49
+ createModelDefinition() {
50
+ return (0, _apiHeadlessCms.createPrivateModel)({
51
+ name: "Website Builder - Page",
52
+ modelId: PAGE_MODEL_ID,
53
+ titleFieldId: "properties.title",
54
+ authorization: {
55
+ // Disables base permission checks, but leaves FLP checks enabled.
56
+ permissions: false
57
+ },
58
+ fields: [(0, _apiHeadlessCms.createModelField)({
59
+ label: "Properties",
60
+ type: "searchable-json"
61
+ }), (0, _apiHeadlessCms.createModelField)({
62
+ label: "Metadata",
63
+ type: "searchable-json"
64
+ }), (0, _apiHeadlessCms.createModelField)({
65
+ label: "Bindings",
66
+ type: "json"
67
+ }), (0, _apiHeadlessCms.createModelField)({
68
+ label: "Elements",
69
+ type: "json"
70
+ }), (0, _apiHeadlessCms.createModelField)({
71
+ label: "Extensions",
72
+ fieldId: "extensions",
73
+ type: "searchable-json"
74
+ })]
75
+ });
76
+ }
77
+ }
78
+ exports.PagesContext = PagesContext;
79
+
80
+ //# sourceMappingURL=pages.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_BaseContext","require","_apiHeadlessCms","_PagesStorage","_pages","PAGE_MODEL_ID","exports","PagesContext","BaseContext","constructor","context","init","storageOperations","setupStorageOperations","createPagesCrud","getTenantId","bind","getLocaleCode","getIdentity","getPermissions","security","withoutAuthorization","modelDefinition","createModelDefinition","plugins","register","CmsModelPlugin","model","getModel","PagesStorage","create","cms","pagesContext","createPrivateModel","name","modelId","titleFieldId","authorization","permissions","fields","createModelField","label","type","fieldId"],"sources":["pages.context.ts"],"sourcesContent":["import type { WebsiteBuilderContext } from \"~/context/types\";\nimport type { WbPageCrud } from \"~/context/pages/pages.types\";\nimport { BaseContext } from \"~/context/BaseContext\";\nimport { CmsModelPlugin, createModelField, createPrivateModel } from \"@webiny/api-headless-cms\";\nimport { PagesStorage } from \"~/context/pages/PagesStorage\";\nimport { createPagesCrud } from \"~/context/pages/pages.crud\";\n\nexport const PAGE_MODEL_ID = \"wbPage\";\n\nexport class PagesContext extends BaseContext {\n private constructor(context: WebsiteBuilderContext) {\n super(context);\n }\n\n private async init() {\n const storageOperations = await this.setupStorageOperations();\n\n return createPagesCrud({\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 });\n }\n\n private async setupStorageOperations() {\n return this.context.security.withoutAuthorization(async () => {\n // This registers code plugins (model group, models)\n const modelDefinition = this.createModelDefinition();\n\n // Finally, register all plugins\n this.context.plugins.register([new CmsModelPlugin(modelDefinition)]);\n\n // Now load the page model registered in the previous step\n const model = await this.getModel(PAGE_MODEL_ID);\n\n // Overwrite the original `pages` storage ops\n return await PagesStorage.create({\n model,\n cms: this.context.cms,\n plugins: this.context.plugins\n });\n });\n }\n\n static async create(context: WebsiteBuilderContext): Promise<WbPageCrud> {\n const pagesContext = new PagesContext(context);\n return pagesContext.init();\n }\n\n private createModelDefinition() {\n return createPrivateModel({\n name: \"Website Builder - Page\",\n modelId: PAGE_MODEL_ID,\n titleFieldId: \"properties.title\",\n authorization: {\n // Disables base permission checks, but leaves FLP checks enabled.\n permissions: false\n },\n fields: [\n createModelField({\n label: \"Properties\",\n type: \"searchable-json\"\n }),\n createModelField({\n label: \"Metadata\",\n type: \"searchable-json\"\n }),\n createModelField({\n label: \"Bindings\",\n type: \"json\"\n }),\n createModelField({\n label: \"Elements\",\n type: \"json\"\n }),\n createModelField({\n label: \"Extensions\",\n fieldId: \"extensions\",\n type: \"searchable-json\"\n })\n ]\n });\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEO,MAAMI,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,QAAQ;AAE9B,MAAME,YAAY,SAASC,wBAAW,CAAC;EAClCC,WAAWA,CAACC,OAA8B,EAAE;IAChD,KAAK,CAACA,OAAO,CAAC;EAClB;EAEA,MAAcC,IAAIA,CAAA,EAAG;IACjB,MAAMC,iBAAiB,GAAG,MAAM,IAAI,CAACC,sBAAsB,CAAC,CAAC;IAE7D,OAAO,IAAAC,sBAAe,EAAC;MACnBF,iBAAiB;MACjBG,WAAW,EAAE,IAAI,CAACA,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC;MACxCC,aAAa,EAAE,IAAI,CAACA,aAAa,CAACD,IAAI,CAAC,IAAI,CAAC;MAC5CE,WAAW,EAAE,IAAI,CAACA,WAAW,CAACF,IAAI,CAAC,IAAI,CAAC;MACxCG,cAAc,EAAE,IAAI,CAACA,cAAc,CAACH,IAAI,CAAC,IAAI;IACjD,CAAC,CAAC;EACN;EAEA,MAAcH,sBAAsBA,CAAA,EAAG;IACnC,OAAO,IAAI,CAACH,OAAO,CAACU,QAAQ,CAACC,oBAAoB,CAAC,YAAY;MAC1D;MACA,MAAMC,eAAe,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;;MAEpD;MACA,IAAI,CAACb,OAAO,CAACc,OAAO,CAACC,QAAQ,CAAC,CAAC,IAAIC,8BAAc,CAACJ,eAAe,CAAC,CAAC,CAAC;;MAEpE;MACA,MAAMK,KAAK,GAAG,MAAM,IAAI,CAACC,QAAQ,CAACvB,aAAa,CAAC;;MAEhD;MACA,OAAO,MAAMwB,0BAAY,CAACC,MAAM,CAAC;QAC7BH,KAAK;QACLI,GAAG,EAAE,IAAI,CAACrB,OAAO,CAACqB,GAAG;QACrBP,OAAO,EAAE,IAAI,CAACd,OAAO,CAACc;MAC1B,CAAC,CAAC;IACN,CAAC,CAAC;EACN;EAEA,aAAaM,MAAMA,CAACpB,OAA8B,EAAuB;IACrE,MAAMsB,YAAY,GAAG,IAAIzB,YAAY,CAACG,OAAO,CAAC;IAC9C,OAAOsB,YAAY,CAACrB,IAAI,CAAC,CAAC;EAC9B;EAEQY,qBAAqBA,CAAA,EAAG;IAC5B,OAAO,IAAAU,kCAAkB,EAAC;MACtBC,IAAI,EAAE,wBAAwB;MAC9BC,OAAO,EAAE9B,aAAa;MACtB+B,YAAY,EAAE,kBAAkB;MAChCC,aAAa,EAAE;QACX;QACAC,WAAW,EAAE;MACjB,CAAC;MACDC,MAAM,EAAE,CACJ,IAAAC,gCAAgB,EAAC;QACbC,KAAK,EAAE,YAAY;QACnBC,IAAI,EAAE;MACV,CAAC,CAAC,EACF,IAAAF,gCAAgB,EAAC;QACbC,KAAK,EAAE,UAAU;QACjBC,IAAI,EAAE;MACV,CAAC,CAAC,EACF,IAAAF,gCAAgB,EAAC;QACbC,KAAK,EAAE,UAAU;QACjBC,IAAI,EAAE;MACV,CAAC,CAAC,EACF,IAAAF,gCAAgB,EAAC;QACbC,KAAK,EAAE,UAAU;QACjBC,IAAI,EAAE;MACV,CAAC,CAAC,EACF,IAAAF,gCAAgB,EAAC;QACbC,KAAK,EAAE,YAAY;QACnBE,OAAO,EAAE,YAAY;QACrBD,IAAI,EAAE;MACV,CAAC,CAAC;IAEV,CAAC,CAAC;EACN;AACJ;AAACpC,OAAA,CAAAC,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { WbPageCrud, WbPagesStorageOperations } from "./pages.types";
2
+ import type { WebsiteBuilderConfig } from "../types";
3
+ export declare const createPagesCrud: (config: WebsiteBuilderConfig<WbPagesStorageOperations>) => WbPageCrud;