@webiny/api-website-builder 0.0.0-unstable.39223eb3c1
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.
- package/LICENSE +21 -0
- package/README.md +33 -0
- package/constants.d.ts +3 -0
- package/constants.js +11 -0
- package/constants.js.map +1 -0
- package/context/BaseContext.d.ts +11 -0
- package/context/BaseContext.js +41 -0
- package/context/BaseContext.js.map +1 -0
- package/context/WebsiteBuilder.d.ts +13 -0
- package/context/WebsiteBuilder.js +35 -0
- package/context/WebsiteBuilder.js.map +1 -0
- package/context/pages/PagesStorage.d.ts +33 -0
- package/context/pages/PagesStorage.js +123 -0
- package/context/pages/PagesStorage.js.map +1 -0
- package/context/pages/pages.context.d.ts +11 -0
- package/context/pages/pages.context.js +82 -0
- package/context/pages/pages.context.js.map +1 -0
- package/context/pages/pages.crud.d.ts +3 -0
- package/context/pages/pages.crud.js +208 -0
- package/context/pages/pages.crud.js.map +1 -0
- package/context/pages/pages.types.d.ts +247 -0
- package/context/pages/pages.types.js +7 -0
- package/context/pages/pages.types.js.map +1 -0
- package/context/redirects/RedirectsStorage.d.ts +21 -0
- package/context/redirects/RedirectsStorage.js +88 -0
- package/context/redirects/RedirectsStorage.js.map +1 -0
- package/context/redirects/redirects.context.d.ts +11 -0
- package/context/redirects/redirects.context.js +80 -0
- package/context/redirects/redirects.context.js.map +1 -0
- package/context/redirects/redirects.crud.d.ts +3 -0
- package/context/redirects/redirects.crud.js +109 -0
- package/context/redirects/redirects.crud.js.map +1 -0
- package/context/redirects/redirects.types.d.ts +143 -0
- package/context/redirects/redirects.types.js +7 -0
- package/context/redirects/redirects.types.js.map +1 -0
- package/context/types.d.ts +28 -0
- package/context/types.js +7 -0
- package/context/types.js.map +1 -0
- package/features/pages/CreatePage/CreatePage.d.ts +7 -0
- package/features/pages/CreatePage/CreatePage.js +19 -0
- package/features/pages/CreatePage/CreatePage.js.map +1 -0
- package/features/pages/CreatePage/CreatePageWithEvents.d.ts +9 -0
- package/features/pages/CreatePage/CreatePageWithEvents.js +25 -0
- package/features/pages/CreatePage/CreatePageWithEvents.js.map +1 -0
- package/features/pages/CreatePage/ICreatePage.d.ts +4 -0
- package/features/pages/CreatePage/ICreatePage.js +7 -0
- package/features/pages/CreatePage/ICreatePage.js.map +1 -0
- package/features/pages/CreatePage/index.d.ts +15 -0
- package/features/pages/CreatePage/index.js +18 -0
- package/features/pages/CreatePage/index.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.d.ts +7 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.js +17 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.d.ts +10 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js +32 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.d.ts +4 -0
- package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.js +7 -0
- package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/index.d.ts +16 -0
- package/features/pages/CreatePageRevisionFrom/index.js +18 -0
- package/features/pages/CreatePageRevisionFrom/index.js.map +1 -0
- package/features/pages/DeletePage/DeletePage.d.ts +7 -0
- package/features/pages/DeletePage/DeletePage.js +17 -0
- package/features/pages/DeletePage/DeletePage.js.map +1 -0
- package/features/pages/DeletePage/DeletePageWithEvents.d.ts +10 -0
- package/features/pages/DeletePage/DeletePageWithEvents.js +30 -0
- package/features/pages/DeletePage/DeletePageWithEvents.js.map +1 -0
- package/features/pages/DeletePage/IDeletePage.d.ts +4 -0
- package/features/pages/DeletePage/IDeletePage.js +7 -0
- package/features/pages/DeletePage/IDeletePage.js.map +1 -0
- package/features/pages/DeletePage/index.d.ts +16 -0
- package/features/pages/DeletePage/index.js +18 -0
- package/features/pages/DeletePage/index.js.map +1 -0
- package/features/pages/DuplicatePage/DuplicatePage.d.ts +9 -0
- package/features/pages/DuplicatePage/DuplicatePage.js +39 -0
- package/features/pages/DuplicatePage/DuplicatePage.js.map +1 -0
- package/features/pages/DuplicatePage/DuplicatePageWithEvents.d.ts +10 -0
- package/features/pages/DuplicatePage/DuplicatePageWithEvents.js +32 -0
- package/features/pages/DuplicatePage/DuplicatePageWithEvents.js.map +1 -0
- package/features/pages/DuplicatePage/IDuplicatePage.d.ts +4 -0
- package/features/pages/DuplicatePage/IDuplicatePage.js +7 -0
- package/features/pages/DuplicatePage/IDuplicatePage.js.map +1 -0
- package/features/pages/DuplicatePage/index.d.ts +16 -0
- package/features/pages/DuplicatePage/index.js +18 -0
- package/features/pages/DuplicatePage/index.js.map +1 -0
- package/features/pages/GetPageById/GetPageById.d.ts +7 -0
- package/features/pages/GetPageById/GetPageById.js +17 -0
- package/features/pages/GetPageById/GetPageById.js.map +1 -0
- package/features/pages/GetPageById/IGetPageById.d.ts +4 -0
- package/features/pages/GetPageById/IGetPageById.js +7 -0
- package/features/pages/GetPageById/IGetPageById.js.map +1 -0
- package/features/pages/GetPageById/index.d.ts +9 -0
- package/features/pages/GetPageById/index.js +16 -0
- package/features/pages/GetPageById/index.js.map +1 -0
- package/features/pages/GetPageByPath/GetPageByPath.d.ts +11 -0
- package/features/pages/GetPageByPath/GetPageByPath.js +28 -0
- package/features/pages/GetPageByPath/GetPageByPath.js.map +1 -0
- package/features/pages/GetPageByPath/IGetPageByPath.d.ts +4 -0
- package/features/pages/GetPageByPath/IGetPageByPath.js +7 -0
- package/features/pages/GetPageByPath/IGetPageByPath.js.map +1 -0
- package/features/pages/GetPageByPath/index.d.ts +9 -0
- package/features/pages/GetPageByPath/index.js +16 -0
- package/features/pages/GetPageByPath/index.js.map +1 -0
- package/features/pages/GetPageRevisions/GetPageRevisions.d.ts +7 -0
- package/features/pages/GetPageRevisions/GetPageRevisions.js +17 -0
- package/features/pages/GetPageRevisions/GetPageRevisions.js.map +1 -0
- package/features/pages/GetPageRevisions/IGetPageById.d.ts +4 -0
- package/features/pages/GetPageRevisions/IGetPageById.js +7 -0
- package/features/pages/GetPageRevisions/IGetPageById.js.map +1 -0
- package/features/pages/GetPageRevisions/index.d.ts +9 -0
- package/features/pages/GetPageRevisions/index.js +16 -0
- package/features/pages/GetPageRevisions/index.js.map +1 -0
- package/features/pages/ListPages/IListPages.d.ts +17 -0
- package/features/pages/ListPages/IListPages.js +7 -0
- package/features/pages/ListPages/IListPages.js.map +1 -0
- package/features/pages/ListPages/ListPages.d.ts +7 -0
- package/features/pages/ListPages/ListPages.js +17 -0
- package/features/pages/ListPages/ListPages.js.map +1 -0
- package/features/pages/ListPages/index.d.ts +9 -0
- package/features/pages/ListPages/index.js +16 -0
- package/features/pages/ListPages/index.js.map +1 -0
- package/features/pages/MovePage/IMovePage.d.ts +4 -0
- package/features/pages/MovePage/IMovePage.js +7 -0
- package/features/pages/MovePage/IMovePage.js.map +1 -0
- package/features/pages/MovePage/MovePage.d.ts +7 -0
- package/features/pages/MovePage/MovePage.js +17 -0
- package/features/pages/MovePage/MovePage.js.map +1 -0
- package/features/pages/MovePage/MovePageWithEvents.d.ts +10 -0
- package/features/pages/MovePage/MovePageWithEvents.js +32 -0
- package/features/pages/MovePage/MovePageWithEvents.js.map +1 -0
- package/features/pages/MovePage/index.d.ts +16 -0
- package/features/pages/MovePage/index.js +18 -0
- package/features/pages/MovePage/index.js.map +1 -0
- package/features/pages/PublishPage/IPublishPage.d.ts +4 -0
- package/features/pages/PublishPage/IPublishPage.js +7 -0
- package/features/pages/PublishPage/IPublishPage.js.map +1 -0
- package/features/pages/PublishPage/PublishPage.d.ts +7 -0
- package/features/pages/PublishPage/PublishPage.js +17 -0
- package/features/pages/PublishPage/PublishPage.js.map +1 -0
- package/features/pages/PublishPage/PublishPageWithEvents.d.ts +10 -0
- package/features/pages/PublishPage/PublishPageWithEvents.js +31 -0
- package/features/pages/PublishPage/PublishPageWithEvents.js.map +1 -0
- package/features/pages/PublishPage/index.d.ts +16 -0
- package/features/pages/PublishPage/index.js +18 -0
- package/features/pages/PublishPage/index.js.map +1 -0
- package/features/pages/UnpublishPage/IUnpublishPage.d.ts +4 -0
- package/features/pages/UnpublishPage/IUnpublishPage.js +7 -0
- package/features/pages/UnpublishPage/IUnpublishPage.js.map +1 -0
- package/features/pages/UnpublishPage/UnpublishPage.d.ts +7 -0
- package/features/pages/UnpublishPage/UnpublishPage.js +17 -0
- package/features/pages/UnpublishPage/UnpublishPage.js.map +1 -0
- package/features/pages/UnpublishPage/UnpublishPageWithEvents.d.ts +10 -0
- package/features/pages/UnpublishPage/UnpublishPageWithEvents.js +31 -0
- package/features/pages/UnpublishPage/UnpublishPageWithEvents.js.map +1 -0
- package/features/pages/UnpublishPage/index.d.ts +16 -0
- package/features/pages/UnpublishPage/index.js +18 -0
- package/features/pages/UnpublishPage/index.js.map +1 -0
- package/features/pages/UpdatePage/IUpdatePage.d.ts +4 -0
- package/features/pages/UpdatePage/IUpdatePage.js +7 -0
- package/features/pages/UpdatePage/IUpdatePage.js.map +1 -0
- package/features/pages/UpdatePage/UpdatePage.d.ts +7 -0
- package/features/pages/UpdatePage/UpdatePage.js +20 -0
- package/features/pages/UpdatePage/UpdatePage.js.map +1 -0
- package/features/pages/UpdatePage/UpdatePageWithEvents.d.ts +10 -0
- package/features/pages/UpdatePage/UpdatePageWithEvents.js +40 -0
- package/features/pages/UpdatePage/UpdatePageWithEvents.js.map +1 -0
- package/features/pages/UpdatePage/index.d.ts +16 -0
- package/features/pages/UpdatePage/index.js +18 -0
- package/features/pages/UpdatePage/index.js.map +1 -0
- package/features/pages/index.d.ts +9 -0
- package/features/pages/index.js +106 -0
- package/features/pages/index.js.map +1 -0
- package/features/redirects/CreateRedirect/CreateRedirectWithEvents.d.ts +9 -0
- package/features/redirects/CreateRedirect/CreateRedirectWithEvents.js +25 -0
- package/features/redirects/CreateRedirect/CreateRedirectWithEvents.js.map +1 -0
- package/features/redirects/CreateRedirect/CreateRevision.d.ts +7 -0
- package/features/redirects/CreateRedirect/CreateRevision.js +19 -0
- package/features/redirects/CreateRedirect/CreateRevision.js.map +1 -0
- package/features/redirects/CreateRedirect/ICreateRedirect.d.ts +4 -0
- package/features/redirects/CreateRedirect/ICreateRedirect.js +7 -0
- package/features/redirects/CreateRedirect/ICreateRedirect.js.map +1 -0
- package/features/redirects/CreateRedirect/index.d.ts +15 -0
- package/features/redirects/CreateRedirect/index.js +18 -0
- package/features/redirects/CreateRedirect/index.js.map +1 -0
- package/features/redirects/DeleteRedirect/DeleteRedirect.d.ts +7 -0
- package/features/redirects/DeleteRedirect/DeleteRedirect.js +17 -0
- package/features/redirects/DeleteRedirect/DeleteRedirect.js.map +1 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.d.ts +10 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.js +30 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.js.map +1 -0
- package/features/redirects/DeleteRedirect/IDeleteRedirect.d.ts +4 -0
- package/features/redirects/DeleteRedirect/IDeleteRedirect.js +7 -0
- package/features/redirects/DeleteRedirect/IDeleteRedirect.js.map +1 -0
- package/features/redirects/DeleteRedirect/index.d.ts +16 -0
- package/features/redirects/DeleteRedirect/index.js +18 -0
- package/features/redirects/DeleteRedirect/index.js.map +1 -0
- package/features/redirects/GetRedirectById/GetRedirectById.d.ts +7 -0
- package/features/redirects/GetRedirectById/GetRedirectById.js +17 -0
- package/features/redirects/GetRedirectById/GetRedirectById.js.map +1 -0
- package/features/redirects/GetRedirectById/IGetRedirectById.d.ts +4 -0
- package/features/redirects/GetRedirectById/IGetRedirectById.js +7 -0
- package/features/redirects/GetRedirectById/IGetRedirectById.js.map +1 -0
- package/features/redirects/GetRedirectById/index.d.ts +9 -0
- package/features/redirects/GetRedirectById/index.js +16 -0
- package/features/redirects/GetRedirectById/index.js.map +1 -0
- package/features/redirects/ListRedirects/IListRedirects.d.ts +17 -0
- package/features/redirects/ListRedirects/IListRedirects.js +7 -0
- package/features/redirects/ListRedirects/IListRedirects.js.map +1 -0
- package/features/redirects/ListRedirects/ListRedirects.d.ts +7 -0
- package/features/redirects/ListRedirects/ListRedirects.js +17 -0
- package/features/redirects/ListRedirects/ListRedirects.js.map +1 -0
- package/features/redirects/ListRedirects/index.d.ts +9 -0
- package/features/redirects/ListRedirects/index.js +16 -0
- package/features/redirects/ListRedirects/index.js.map +1 -0
- package/features/redirects/MoveRedirect/IMoveRedirect.d.ts +4 -0
- package/features/redirects/MoveRedirect/IMoveRedirect.js +7 -0
- package/features/redirects/MoveRedirect/IMoveRedirect.js.map +1 -0
- package/features/redirects/MoveRedirect/MoveRedirect.d.ts +7 -0
- package/features/redirects/MoveRedirect/MoveRedirect.js +17 -0
- package/features/redirects/MoveRedirect/MoveRedirect.js.map +1 -0
- package/features/redirects/MoveRedirect/MoveRedirectWithEvents.d.ts +10 -0
- package/features/redirects/MoveRedirect/MoveRedirectWithEvents.js +32 -0
- package/features/redirects/MoveRedirect/MoveRedirectWithEvents.js.map +1 -0
- package/features/redirects/MoveRedirect/index.d.ts +16 -0
- package/features/redirects/MoveRedirect/index.js +18 -0
- package/features/redirects/MoveRedirect/index.js.map +1 -0
- package/features/redirects/UpdateRedirect/IUpdateRedirect.d.ts +4 -0
- package/features/redirects/UpdateRedirect/IUpdateRedirect.js +7 -0
- package/features/redirects/UpdateRedirect/IUpdateRedirect.js.map +1 -0
- package/features/redirects/UpdateRedirect/UpdateRedirect.d.ts +7 -0
- package/features/redirects/UpdateRedirect/UpdateRedirect.js +20 -0
- package/features/redirects/UpdateRedirect/UpdateRedirect.js.map +1 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.d.ts +10 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.js +40 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.js.map +1 -0
- package/features/redirects/UpdateRedirect/index.d.ts +16 -0
- package/features/redirects/UpdateRedirect/index.js +18 -0
- package/features/redirects/UpdateRedirect/index.js.map +1 -0
- package/features/redirects/index.d.ts +6 -0
- package/features/redirects/index.js +73 -0
- package/features/redirects/index.js.map +1 -0
- package/graphql/createGraphQL.d.ts +2 -0
- package/graphql/createGraphQL.js +88 -0
- package/graphql/createGraphQL.js.map +1 -0
- package/graphql/pages/pages.gql.d.ts +3 -0
- package/graphql/pages/pages.gql.js +199 -0
- package/graphql/pages/pages.gql.js.map +1 -0
- package/graphql/pages/pages.typeDefs.d.ts +1 -0
- package/graphql/pages/pages.typeDefs.js +248 -0
- package/graphql/pages/pages.typeDefs.js.map +1 -0
- package/graphql/redirects/redirects.gql.d.ts +3 -0
- package/graphql/redirects/redirects.gql.js +80 -0
- package/graphql/redirects/redirects.gql.js.map +1 -0
- package/graphql/redirects/redirects.typeDefs.d.ts +1 -0
- package/graphql/redirects/redirects.typeDefs.js +129 -0
- package/graphql/redirects/redirects.typeDefs.js.map +1 -0
- package/index.d.ts +3 -0
- package/index.js +22 -0
- package/index.js.map +1 -0
- package/package.json +54 -0
- package/utils/ensureAuthentication.d.ts +2 -0
- package/utils/ensureAuthentication.js +16 -0
- package/utils/ensureAuthentication.js.map +1 -0
- package/utils/resolve.d.ts +3 -0
- package/utils/resolve.js +26 -0
- 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://www.npmjs.com/package/@webiny/api-aco)
|
|
4
|
+
[](https://www.npmjs.com/package/@webiny/api-aco)
|
|
5
|
+
[](https://github.com/prettier/prettier)
|
|
6
|
+
[](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
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
|
package/constants.js.map
ADDED
|
@@ -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,33 @@
|
|
|
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
|
+
type PagesStorageParams = {
|
|
5
|
+
model: CmsModel;
|
|
6
|
+
cms: HeadlessCms;
|
|
7
|
+
plugins: PluginsContainer;
|
|
8
|
+
getTenantId: () => string;
|
|
9
|
+
getLocaleCode: () => string;
|
|
10
|
+
};
|
|
11
|
+
export declare class PagesStorage implements WbPagesStorageOperations {
|
|
12
|
+
private readonly cms;
|
|
13
|
+
private readonly model;
|
|
14
|
+
private readonly plugins;
|
|
15
|
+
private getTenantId;
|
|
16
|
+
private getLocaleCode;
|
|
17
|
+
static create(params: PagesStorageParams): Promise<PagesStorage>;
|
|
18
|
+
private constructor();
|
|
19
|
+
get: (params: WbPagesStorageOperationsGetParams) => Promise<WbPage | null>;
|
|
20
|
+
getById: (id: string) => Promise<WbPage | null>;
|
|
21
|
+
getRevisions: (pageId: string) => Promise<WbPage[]>;
|
|
22
|
+
list: (params: WbPagesStorageOperationsListParams) => Promise<WbPagesStorageOperationsListResponse>;
|
|
23
|
+
create: ({ data }: WbPagesStorageOperationsCreateParams) => Promise<WbPage>;
|
|
24
|
+
update: ({ id, data }: WbPagesStorageOperationsUpdateParams) => Promise<WbPage>;
|
|
25
|
+
publish: ({ id }: WbPagesStorageOperationsPublishParams) => Promise<WbPage>;
|
|
26
|
+
unpublish: ({ id }: WbPagesStorageOperationsUnpublishParams) => Promise<WbPage>;
|
|
27
|
+
move: ({ id, folderId }: WbPagesStorageOperationsMoveParams) => Promise<void>;
|
|
28
|
+
createRevisionFrom: ({ id }: WbPagesStorageOperationsCreateRevisionFromParams) => Promise<WbPage>;
|
|
29
|
+
delete: ({ id }: WbPagesStorageOperationsDeleteParams) => Promise<void>;
|
|
30
|
+
private getModel;
|
|
31
|
+
private getWbPageFieldValues;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,123 @@
|
|
|
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);
|
|
13
|
+
}
|
|
14
|
+
constructor(params) {
|
|
15
|
+
this.plugins = params.plugins;
|
|
16
|
+
this.model = params.model;
|
|
17
|
+
this.cms = params.cms;
|
|
18
|
+
this.getTenantId = params.getTenantId;
|
|
19
|
+
this.getLocaleCode = params.getLocaleCode;
|
|
20
|
+
}
|
|
21
|
+
get = async params => {
|
|
22
|
+
const rawEntry = await this.cms.getEntry(this.getModel(), params);
|
|
23
|
+
const entry = await (0, _apiHeadlessCms.entryFromStorageTransform)({
|
|
24
|
+
plugins: this.plugins
|
|
25
|
+
}, this.getModel(), rawEntry);
|
|
26
|
+
return entry ? this.getWbPageFieldValues(entry) : null;
|
|
27
|
+
};
|
|
28
|
+
getById = async id => {
|
|
29
|
+
const rawEntry = await this.cms.getEntryById(this.getModel(), id);
|
|
30
|
+
const entry = await (0, _apiHeadlessCms.entryFromStorageTransform)({
|
|
31
|
+
plugins: this.plugins
|
|
32
|
+
}, this.getModel(), rawEntry);
|
|
33
|
+
return entry ? this.getWbPageFieldValues(entry) : null;
|
|
34
|
+
};
|
|
35
|
+
getRevisions = async pageId => {
|
|
36
|
+
const revisions = await this.cms.getEntryRevisions(this.getModel(), pageId);
|
|
37
|
+
return revisions.map(entry => this.getWbPageFieldValues(entry));
|
|
38
|
+
};
|
|
39
|
+
list = async params => {
|
|
40
|
+
const [entries, meta] = await this.cms.listEntries(this.getModel(), {
|
|
41
|
+
after: params.after,
|
|
42
|
+
limit: params.limit,
|
|
43
|
+
sort: params.sort,
|
|
44
|
+
where: params.where,
|
|
45
|
+
search: params.search
|
|
46
|
+
});
|
|
47
|
+
return [entries.map(entry => this.getWbPageFieldValues(entry)), meta];
|
|
48
|
+
};
|
|
49
|
+
create = async ({
|
|
50
|
+
data
|
|
51
|
+
}) => {
|
|
52
|
+
const entry = await this.cms.createEntry(this.getModel(), data);
|
|
53
|
+
return this.getWbPageFieldValues(entry);
|
|
54
|
+
};
|
|
55
|
+
update = async ({
|
|
56
|
+
id,
|
|
57
|
+
data
|
|
58
|
+
}) => {
|
|
59
|
+
const entry = await this.cms.getEntryById(this.getModel(), id);
|
|
60
|
+
const values = (0, _omit.default)(data, ["id", "tenant", "locale", "webinyVersion"]);
|
|
61
|
+
const updatedEntry = await this.cms.updateEntry(this.getModel(), entry.id, values);
|
|
62
|
+
return this.getWbPageFieldValues(updatedEntry);
|
|
63
|
+
};
|
|
64
|
+
publish = async ({
|
|
65
|
+
id
|
|
66
|
+
}) => {
|
|
67
|
+
const entry = await this.cms.publishEntry(this.getModel(), id);
|
|
68
|
+
return this.getWbPageFieldValues(entry);
|
|
69
|
+
};
|
|
70
|
+
unpublish = async ({
|
|
71
|
+
id
|
|
72
|
+
}) => {
|
|
73
|
+
const entry = await this.cms.unpublishEntry(this.getModel(), id);
|
|
74
|
+
return this.getWbPageFieldValues(entry);
|
|
75
|
+
};
|
|
76
|
+
move = async ({
|
|
77
|
+
id,
|
|
78
|
+
folderId
|
|
79
|
+
}) => {
|
|
80
|
+
await this.cms.moveEntry(this.getModel(), id, folderId);
|
|
81
|
+
};
|
|
82
|
+
createRevisionFrom = async ({
|
|
83
|
+
id
|
|
84
|
+
}) => {
|
|
85
|
+
const entry = await this.cms.createEntryRevisionFrom(this.getModel(), id, {});
|
|
86
|
+
return this.getWbPageFieldValues(entry);
|
|
87
|
+
};
|
|
88
|
+
delete = async ({
|
|
89
|
+
id
|
|
90
|
+
}) => {
|
|
91
|
+
await this.cms.deleteEntry(this.getModel(), id);
|
|
92
|
+
};
|
|
93
|
+
getModel() {
|
|
94
|
+
return {
|
|
95
|
+
...this.model,
|
|
96
|
+
tenant: this.getTenantId(),
|
|
97
|
+
locale: this.getLocaleCode()
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
getWbPageFieldValues(entry) {
|
|
101
|
+
return {
|
|
102
|
+
id: entry.id,
|
|
103
|
+
entryId: entry.entryId,
|
|
104
|
+
wbyAco_location: entry.location,
|
|
105
|
+
status: entry.status,
|
|
106
|
+
version: entry.version,
|
|
107
|
+
createdOn: entry.createdOn,
|
|
108
|
+
createdBy: entry.createdBy,
|
|
109
|
+
savedOn: entry.savedOn,
|
|
110
|
+
savedBy: entry.savedBy,
|
|
111
|
+
modifiedOn: entry.modifiedOn,
|
|
112
|
+
modifiedBy: entry.modifiedBy,
|
|
113
|
+
locked: entry.locked,
|
|
114
|
+
tenant: entry.tenant,
|
|
115
|
+
locale: entry.locale,
|
|
116
|
+
webinyVersion: entry.webinyVersion,
|
|
117
|
+
...entry.values
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.PagesStorage = PagesStorage;
|
|
122
|
+
|
|
123
|
+
//# sourceMappingURL=PagesStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_omit","_interopRequireDefault","require","_apiHeadlessCms","PagesStorage","create","params","constructor","plugins","model","cms","getTenantId","getLocaleCode","get","rawEntry","getEntry","getModel","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","tenant","locale","entryId","wbyAco_location","location","status","version","createdOn","createdBy","savedOn","savedBy","modifiedOn","modifiedBy","locked","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\ntype PagesStorageParams = {\n model: CmsModel;\n cms: HeadlessCms;\n plugins: PluginsContainer;\n getTenantId: () => string;\n getLocaleCode: () => string;\n};\n\nexport class PagesStorage implements WbPagesStorageOperations {\n private readonly cms: HeadlessCms;\n private readonly model: CmsModel;\n private readonly plugins: PluginsContainer;\n private getTenantId: () => string;\n private getLocaleCode: () => string;\n\n static async create(params: PagesStorageParams) {\n return new PagesStorage(params);\n }\n\n private constructor(params: PagesStorageParams) {\n this.plugins = params.plugins;\n this.model = params.model;\n this.cms = params.cms;\n this.getTenantId = params.getTenantId;\n this.getLocaleCode = params.getLocaleCode;\n }\n\n public get = async (params: WbPagesStorageOperationsGetParams): Promise<WbPage | null> => {\n const rawEntry = await this.cms.getEntry(this.getModel(), params);\n\n const entry = await entryFromStorageTransform(\n { plugins: this.plugins },\n this.getModel(),\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.getModel(), id);\n\n const entry = await entryFromStorageTransform(\n { plugins: this.plugins },\n this.getModel(),\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.getModel(), 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.getModel(), {\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.getModel(), 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.getModel(), id);\n\n const values = omit(data, [\"id\", \"tenant\", \"locale\", \"webinyVersion\"]);\n\n const updatedEntry = await this.cms.updateEntry(this.getModel(), 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.getModel(), id);\n return this.getWbPageFieldValues(entry);\n };\n\n public unpublish = async ({ id }: WbPagesStorageOperationsUnpublishParams): Promise<WbPage> => {\n const entry = await this.cms.unpublishEntry(this.getModel(), id);\n return this.getWbPageFieldValues(entry);\n };\n\n public move = async ({ id, folderId }: WbPagesStorageOperationsMoveParams): Promise<void> => {\n await this.cms.moveEntry(this.getModel(), id, folderId);\n };\n\n public createRevisionFrom = async ({\n id\n }: WbPagesStorageOperationsCreateRevisionFromParams): Promise<WbPage> => {\n const entry = await this.cms.createEntryRevisionFrom(this.getModel(), id, {});\n return this.getWbPageFieldValues(entry);\n };\n\n public delete = async ({ id }: WbPagesStorageOperationsDeleteParams): Promise<void> => {\n await this.cms.deleteEntry(this.getModel(), id);\n };\n\n private getModel() {\n return { ...this.model, tenant: this.getTenantId(), locale: this.getLocaleCode() };\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,82 @@
|
|
|
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
|
+
getTenantId: this.getTenantId.bind(this),
|
|
43
|
+
getLocaleCode: this.getLocaleCode.bind(this)
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
static async create(context) {
|
|
48
|
+
const pagesContext = new PagesContext(context);
|
|
49
|
+
return pagesContext.init();
|
|
50
|
+
}
|
|
51
|
+
createModelDefinition() {
|
|
52
|
+
return (0, _apiHeadlessCms.createPrivateModel)({
|
|
53
|
+
name: "Website Builder - Page",
|
|
54
|
+
modelId: PAGE_MODEL_ID,
|
|
55
|
+
titleFieldId: "properties.title",
|
|
56
|
+
authorization: {
|
|
57
|
+
// Disables base permission checks, but leaves FLP checks enabled.
|
|
58
|
+
permissions: false
|
|
59
|
+
},
|
|
60
|
+
fields: [(0, _apiHeadlessCms.createModelField)({
|
|
61
|
+
label: "Properties",
|
|
62
|
+
type: "searchable-json"
|
|
63
|
+
}), (0, _apiHeadlessCms.createModelField)({
|
|
64
|
+
label: "Metadata",
|
|
65
|
+
type: "searchable-json"
|
|
66
|
+
}), (0, _apiHeadlessCms.createModelField)({
|
|
67
|
+
label: "Bindings",
|
|
68
|
+
type: "json"
|
|
69
|
+
}), (0, _apiHeadlessCms.createModelField)({
|
|
70
|
+
label: "Elements",
|
|
71
|
+
type: "json"
|
|
72
|
+
}), (0, _apiHeadlessCms.createModelField)({
|
|
73
|
+
label: "Extensions",
|
|
74
|
+
fieldId: "extensions",
|
|
75
|
+
type: "searchable-json"
|
|
76
|
+
})]
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.PagesContext = PagesContext;
|
|
81
|
+
|
|
82
|
+
//# 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 getTenantId: this.getTenantId.bind(this),\n getLocaleCode: this.getLocaleCode.bind(this)\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":"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","ignoreList":[]}
|