@webiny/api-website-builder 0.0.0-unstable.06b2ede40f
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 +116 -0
- package/context/redirects/redirects.crud.js.map +1 -0
- package/context/redirects/redirects.types.d.ts +147 -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/GetActiveRedirects/GetActiveRedirects.d.ts +7 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirects.js +26 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirects.js.map +1 -0
- package/features/redirects/GetActiveRedirects/IGetActiveRedirects.d.ts +4 -0
- package/features/redirects/GetActiveRedirects/IGetActiveRedirects.js +7 -0
- package/features/redirects/GetActiveRedirects/IGetActiveRedirects.js.map +1 -0
- package/features/redirects/GetActiveRedirects/index.d.ts +7 -0
- package/features/redirects/GetActiveRedirects/index.js +13 -0
- package/features/redirects/GetActiveRedirects/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/ActiveRedirectGqlDto.d.ts +6 -0
- package/graphql/redirects/ActiveRedirectGqlDto.js +7 -0
- package/graphql/redirects/ActiveRedirectGqlDto.js.map +1 -0
- package/graphql/redirects/ActiveRedirectGqlMapper.d.ts +5 -0
- package/graphql/redirects/ActiveRedirectGqlMapper.js +19 -0
- package/graphql/redirects/ActiveRedirectGqlMapper.js.map +1 -0
- package/graphql/redirects/redirects.gql.d.ts +3 -0
- package/graphql/redirects/redirects.gql.js +90 -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 +158 -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
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RedirectsContext = exports.REDIRECT_MODEL_ID = void 0;
|
|
7
|
+
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
8
|
+
var _BaseContext = require("../BaseContext");
|
|
9
|
+
var _RedirectsStorage = require("./RedirectsStorage");
|
|
10
|
+
var _redirects = require("./redirects.crud");
|
|
11
|
+
const REDIRECT_MODEL_ID = exports.REDIRECT_MODEL_ID = "wbRedirect";
|
|
12
|
+
class RedirectsContext extends _BaseContext.BaseContext {
|
|
13
|
+
constructor(context) {
|
|
14
|
+
super(context);
|
|
15
|
+
}
|
|
16
|
+
async init() {
|
|
17
|
+
const storageOperations = await this.setupStorageOperations();
|
|
18
|
+
return (0, _redirects.createRedirectsCrud)({
|
|
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(REDIRECT_MODEL_ID);
|
|
36
|
+
|
|
37
|
+
// Overwrite the original `pages` storage ops
|
|
38
|
+
return await _RedirectsStorage.RedirectsStorage.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 RedirectsContext(context);
|
|
47
|
+
return pagesContext.init();
|
|
48
|
+
}
|
|
49
|
+
createModelDefinition() {
|
|
50
|
+
return (0, _apiHeadlessCms.createPrivateModel)({
|
|
51
|
+
name: "Website Builder - Redirect",
|
|
52
|
+
modelId: REDIRECT_MODEL_ID,
|
|
53
|
+
titleFieldId: "from",
|
|
54
|
+
authorization: {
|
|
55
|
+
// Disables base permission checks, but leaves FLP checks enabled.
|
|
56
|
+
permissions: false
|
|
57
|
+
},
|
|
58
|
+
fields: [(0, _apiHeadlessCms.createModelField)({
|
|
59
|
+
fieldId: "redirectFrom",
|
|
60
|
+
label: "Redirect From",
|
|
61
|
+
type: "text"
|
|
62
|
+
}), (0, _apiHeadlessCms.createModelField)({
|
|
63
|
+
fieldId: "redirectTo",
|
|
64
|
+
label: "Redirect To",
|
|
65
|
+
type: "text"
|
|
66
|
+
}), (0, _apiHeadlessCms.createModelField)({
|
|
67
|
+
fieldId: "redirectType",
|
|
68
|
+
label: "Redirect Type",
|
|
69
|
+
type: "text"
|
|
70
|
+
}), (0, _apiHeadlessCms.createModelField)({
|
|
71
|
+
fieldId: "isEnabled",
|
|
72
|
+
label: "Is enabled?",
|
|
73
|
+
type: "boolean"
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.RedirectsContext = RedirectsContext;
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=redirects.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_apiHeadlessCms","require","_BaseContext","_RedirectsStorage","_redirects","REDIRECT_MODEL_ID","exports","RedirectsContext","BaseContext","constructor","context","init","storageOperations","setupStorageOperations","createRedirectsCrud","getTenantId","bind","getLocaleCode","getIdentity","getPermissions","security","withoutAuthorization","modelDefinition","createModelDefinition","plugins","register","CmsModelPlugin","model","getModel","RedirectsStorage","create","cms","pagesContext","createPrivateModel","name","modelId","titleFieldId","authorization","permissions","fields","createModelField","fieldId","label","type"],"sources":["redirects.context.ts"],"sourcesContent":["import { CmsModelPlugin, createModelField, createPrivateModel } from \"@webiny/api-headless-cms\";\nimport type { WebsiteBuilderContext } from \"~/context/types\";\nimport { BaseContext } from \"~/context/BaseContext\";\nimport { RedirectsStorage } from \"./RedirectsStorage\";\nimport type { WbRedirectCrud } from \"~/context/redirects/redirects.types\";\nimport { createRedirectsCrud } from \"~/context/redirects/redirects.crud\";\n\nexport const REDIRECT_MODEL_ID = \"wbRedirect\";\n\nexport class RedirectsContext 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 createRedirectsCrud({\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(REDIRECT_MODEL_ID);\n\n // Overwrite the original `pages` storage ops\n return await RedirectsStorage.create({\n model,\n cms: this.context.cms,\n plugins: this.context.plugins\n });\n });\n }\n\n static async create(context: WebsiteBuilderContext): Promise<WbRedirectCrud> {\n const pagesContext = new RedirectsContext(context);\n return pagesContext.init();\n }\n\n private createModelDefinition() {\n return createPrivateModel({\n name: \"Website Builder - Redirect\",\n modelId: REDIRECT_MODEL_ID,\n titleFieldId: \"from\",\n authorization: {\n // Disables base permission checks, but leaves FLP checks enabled.\n permissions: false\n },\n fields: [\n createModelField({\n fieldId: \"redirectFrom\",\n label: \"Redirect From\",\n type: \"text\"\n }),\n createModelField({\n fieldId: \"redirectTo\",\n label: \"Redirect To\",\n type: \"text\"\n }),\n createModelField({\n fieldId: \"redirectType\",\n label: \"Redirect Type\",\n type: \"text\"\n }),\n createModelField({\n fieldId: \"isEnabled\",\n label: \"Is enabled?\",\n type: \"boolean\"\n })\n ]\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AAEO,MAAMI,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,YAAY;AAEtC,MAAME,gBAAgB,SAASC,wBAAW,CAAC;EACtCC,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,8BAAmB,EAAC;MACvBF,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,iBAAiB,CAAC;;MAEpD;MACA,OAAO,MAAMwB,kCAAgB,CAACC,MAAM,CAAC;QACjCH,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,EAA2B;IACzE,MAAMsB,YAAY,GAAG,IAAIzB,gBAAgB,CAACG,OAAO,CAAC;IAClD,OAAOsB,YAAY,CAACrB,IAAI,CAAC,CAAC;EAC9B;EAEQY,qBAAqBA,CAAA,EAAG;IAC5B,OAAO,IAAAU,kCAAkB,EAAC;MACtBC,IAAI,EAAE,4BAA4B;MAClCC,OAAO,EAAE9B,iBAAiB;MAC1B+B,YAAY,EAAE,MAAM;MACpBC,aAAa,EAAE;QACX;QACAC,WAAW,EAAE;MACjB,CAAC;MACDC,MAAM,EAAE,CACJ,IAAAC,gCAAgB,EAAC;QACbC,OAAO,EAAE,cAAc;QACvBC,KAAK,EAAE,eAAe;QACtBC,IAAI,EAAE;MACV,CAAC,CAAC,EACF,IAAAH,gCAAgB,EAAC;QACbC,OAAO,EAAE,YAAY;QACrBC,KAAK,EAAE,aAAa;QACpBC,IAAI,EAAE;MACV,CAAC,CAAC,EACF,IAAAH,gCAAgB,EAAC;QACbC,OAAO,EAAE,cAAc;QACvBC,KAAK,EAAE,eAAe;QACtBC,IAAI,EAAE;MACV,CAAC,CAAC,EACF,IAAAH,gCAAgB,EAAC;QACbC,OAAO,EAAE,WAAW;QACpBC,KAAK,EAAE,aAAa;QACpBC,IAAI,EAAE;MACV,CAAC,CAAC;IAEV,CAAC,CAAC;EACN;AACJ;AAACrC,OAAA,CAAAC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createRedirectsCrud = void 0;
|
|
7
|
+
var _pubsub = require("@webiny/pubsub");
|
|
8
|
+
var _redirects = require("../../features/redirects");
|
|
9
|
+
var _GetActiveRedirects = require("../../features/redirects/GetActiveRedirects");
|
|
10
|
+
const createRedirectsCrud = config => {
|
|
11
|
+
// create
|
|
12
|
+
const onRedirectBeforeCreate = (0, _pubsub.createTopic)("wb.onRedirectBeforeCreate");
|
|
13
|
+
const onRedirectAfterCreate = (0, _pubsub.createTopic)("wb.onRedirectAfterCreate");
|
|
14
|
+
const {
|
|
15
|
+
createRedirectUseCase
|
|
16
|
+
} = (0, _redirects.getCreateRedirectUseCase)({
|
|
17
|
+
createOperation: config.storageOperations.create,
|
|
18
|
+
topics: {
|
|
19
|
+
onRedirectBeforeCreate,
|
|
20
|
+
onRedirectAfterCreate
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const getActiveRedirectsUseCase = (0, _GetActiveRedirects.getGetActiveRedirectsUseCase)({
|
|
24
|
+
listOperation: config.storageOperations.list
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
// update
|
|
28
|
+
const onRedirectBeforeUpdate = (0, _pubsub.createTopic)("wb.onRedirectBeforeUpdate");
|
|
29
|
+
const onRedirectAfterUpdate = (0, _pubsub.createTopic)("wb.onRedirectAfterUpdate");
|
|
30
|
+
const {
|
|
31
|
+
updateRedirectUseCase
|
|
32
|
+
} = (0, _redirects.getUpdateRedirectUseCase)({
|
|
33
|
+
updateOperation: config.storageOperations.update,
|
|
34
|
+
getOperation: config.storageOperations.getById,
|
|
35
|
+
topics: {
|
|
36
|
+
onRedirectBeforeUpdate,
|
|
37
|
+
onRedirectAfterUpdate
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// move
|
|
42
|
+
const onRedirectBeforeMove = (0, _pubsub.createTopic)("wb.onRedirectBeforeMove");
|
|
43
|
+
const onRedirectAfterMove = (0, _pubsub.createTopic)("wb.onRedirectAfterMove");
|
|
44
|
+
const {
|
|
45
|
+
moveRedirectUseCase
|
|
46
|
+
} = (0, _redirects.getMoveRedirectUseCase)({
|
|
47
|
+
moveOperation: config.storageOperations.move,
|
|
48
|
+
getOperation: config.storageOperations.getById,
|
|
49
|
+
topics: {
|
|
50
|
+
onRedirectBeforeMove,
|
|
51
|
+
onRedirectAfterMove
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// delete
|
|
56
|
+
const onRedirectBeforeDelete = (0, _pubsub.createTopic)("wb.onRedirectBeforeDelete");
|
|
57
|
+
const onRedirectAfterDelete = (0, _pubsub.createTopic)("wb.onRedirectAfterDelete");
|
|
58
|
+
const {
|
|
59
|
+
deleteRedirectUseCase
|
|
60
|
+
} = (0, _redirects.getDeleteRedirectUseCase)({
|
|
61
|
+
deleteOperation: config.storageOperations.delete,
|
|
62
|
+
getOperation: config.storageOperations.getById,
|
|
63
|
+
topics: {
|
|
64
|
+
onRedirectBeforeDelete,
|
|
65
|
+
onRedirectAfterDelete
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
// get by id
|
|
70
|
+
const {
|
|
71
|
+
getRedirectByIdUseCase
|
|
72
|
+
} = (0, _redirects.getGetRedirectByIdUseCase)({
|
|
73
|
+
getOperation: config.storageOperations.getById
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
// list
|
|
77
|
+
const {
|
|
78
|
+
listRedirectsUseCase
|
|
79
|
+
} = (0, _redirects.getListRedirectsUseCase)({
|
|
80
|
+
listOperation: config.storageOperations.list
|
|
81
|
+
});
|
|
82
|
+
return {
|
|
83
|
+
onRedirectBeforeCreate,
|
|
84
|
+
onRedirectAfterCreate,
|
|
85
|
+
onRedirectBeforeUpdate,
|
|
86
|
+
onRedirectAfterUpdate,
|
|
87
|
+
onRedirectBeforeMove,
|
|
88
|
+
onRedirectAfterMove,
|
|
89
|
+
onRedirectBeforeDelete,
|
|
90
|
+
onRedirectAfterDelete,
|
|
91
|
+
list: async params => {
|
|
92
|
+
return listRedirectsUseCase.execute(params);
|
|
93
|
+
},
|
|
94
|
+
getActiveRedirects: async () => {
|
|
95
|
+
return getActiveRedirectsUseCase.execute();
|
|
96
|
+
},
|
|
97
|
+
getById: async id => {
|
|
98
|
+
return getRedirectByIdUseCase.execute(id);
|
|
99
|
+
},
|
|
100
|
+
create: async data => {
|
|
101
|
+
return createRedirectUseCase.execute(data);
|
|
102
|
+
},
|
|
103
|
+
update: async (id, data) => {
|
|
104
|
+
return updateRedirectUseCase.execute(id, data);
|
|
105
|
+
},
|
|
106
|
+
move: async params => {
|
|
107
|
+
return moveRedirectUseCase.execute(params);
|
|
108
|
+
},
|
|
109
|
+
delete: async params => {
|
|
110
|
+
return deleteRedirectUseCase.execute(params);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
exports.createRedirectsCrud = createRedirectsCrud;
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=redirects.crud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_pubsub","require","_redirects","_GetActiveRedirects","createRedirectsCrud","config","onRedirectBeforeCreate","createTopic","onRedirectAfterCreate","createRedirectUseCase","getCreateRedirectUseCase","createOperation","storageOperations","create","topics","getActiveRedirectsUseCase","getGetActiveRedirectsUseCase","listOperation","list","onRedirectBeforeUpdate","onRedirectAfterUpdate","updateRedirectUseCase","getUpdateRedirectUseCase","updateOperation","update","getOperation","getById","onRedirectBeforeMove","onRedirectAfterMove","moveRedirectUseCase","getMoveRedirectUseCase","moveOperation","move","onRedirectBeforeDelete","onRedirectAfterDelete","deleteRedirectUseCase","getDeleteRedirectUseCase","deleteOperation","delete","getRedirectByIdUseCase","getGetRedirectByIdUseCase","listRedirectsUseCase","getListRedirectsUseCase","params","execute","getActiveRedirects","id","data","exports"],"sources":["redirects.crud.ts"],"sourcesContent":["import { createTopic } from \"@webiny/pubsub\";\nimport {\n getCreateRedirectUseCase,\n getDeleteRedirectUseCase,\n getListRedirectsUseCase,\n getUpdateRedirectUseCase,\n getMoveRedirectUseCase,\n getGetRedirectByIdUseCase\n} from \"~/features/redirects\";\nimport type {\n OnRedirectAfterCreateTopicParams,\n OnRedirectAfterDeleteTopicParams,\n OnRedirectAfterMoveTopicParams,\n OnRedirectAfterUpdateTopicParams,\n OnRedirectBeforeCreateTopicParams,\n OnRedirectBeforeDeleteTopicParams,\n OnRedirectBeforeMoveTopicParams,\n OnRedirectBeforeUpdateTopicParams,\n UpdateWbRedirectData,\n WbRedirectCrud,\n WbRedirectsStorageOperations\n} from \"~/context/redirects/redirects.types\";\nimport type { WebsiteBuilderConfig } from \"~/context/types\";\nimport { getGetActiveRedirectsUseCase } from \"~/features/redirects/GetActiveRedirects\";\n\nexport const createRedirectsCrud = (\n config: WebsiteBuilderConfig<WbRedirectsStorageOperations>\n): WbRedirectCrud => {\n // create\n const onRedirectBeforeCreate = createTopic<OnRedirectBeforeCreateTopicParams>(\n \"wb.onRedirectBeforeCreate\"\n );\n const onRedirectAfterCreate = createTopic<OnRedirectAfterCreateTopicParams>(\n \"wb.onRedirectAfterCreate\"\n );\n\n const { createRedirectUseCase } = getCreateRedirectUseCase({\n createOperation: config.storageOperations.create,\n topics: {\n onRedirectBeforeCreate,\n onRedirectAfterCreate\n }\n });\n\n const getActiveRedirectsUseCase = getGetActiveRedirectsUseCase({\n listOperation: config.storageOperations.list\n });\n\n // update\n const onRedirectBeforeUpdate = createTopic<OnRedirectBeforeUpdateTopicParams>(\n \"wb.onRedirectBeforeUpdate\"\n );\n const onRedirectAfterUpdate = createTopic<OnRedirectAfterUpdateTopicParams>(\n \"wb.onRedirectAfterUpdate\"\n );\n\n const { updateRedirectUseCase } = getUpdateRedirectUseCase({\n updateOperation: config.storageOperations.update,\n getOperation: config.storageOperations.getById,\n topics: {\n onRedirectBeforeUpdate,\n onRedirectAfterUpdate\n }\n });\n\n // move\n const onRedirectBeforeMove =\n createTopic<OnRedirectBeforeMoveTopicParams>(\"wb.onRedirectBeforeMove\");\n const onRedirectAfterMove =\n createTopic<OnRedirectAfterMoveTopicParams>(\"wb.onRedirectAfterMove\");\n\n const { moveRedirectUseCase } = getMoveRedirectUseCase({\n moveOperation: config.storageOperations.move,\n getOperation: config.storageOperations.getById,\n topics: {\n onRedirectBeforeMove,\n onRedirectAfterMove\n }\n });\n\n // delete\n const onRedirectBeforeDelete = createTopic<OnRedirectBeforeDeleteTopicParams>(\n \"wb.onRedirectBeforeDelete\"\n );\n const onRedirectAfterDelete = createTopic<OnRedirectAfterDeleteTopicParams>(\n \"wb.onRedirectAfterDelete\"\n );\n\n const { deleteRedirectUseCase } = getDeleteRedirectUseCase({\n deleteOperation: config.storageOperations.delete,\n getOperation: config.storageOperations.getById,\n topics: {\n onRedirectBeforeDelete,\n onRedirectAfterDelete\n }\n });\n\n // get by id\n const { getRedirectByIdUseCase } = getGetRedirectByIdUseCase({\n getOperation: config.storageOperations.getById\n });\n\n // list\n const { listRedirectsUseCase } = getListRedirectsUseCase({\n listOperation: config.storageOperations.list\n });\n\n return {\n onRedirectBeforeCreate,\n onRedirectAfterCreate,\n onRedirectBeforeUpdate,\n onRedirectAfterUpdate,\n onRedirectBeforeMove,\n onRedirectAfterMove,\n onRedirectBeforeDelete,\n onRedirectAfterDelete,\n\n list: async params => {\n return listRedirectsUseCase.execute(params);\n },\n getActiveRedirects: async () => {\n return getActiveRedirectsUseCase.execute();\n },\n getById: async id => {\n return getRedirectByIdUseCase.execute(id);\n },\n create: async data => {\n return createRedirectUseCase.execute(data);\n },\n update: async (id: string, data: UpdateWbRedirectData) => {\n return updateRedirectUseCase.execute(id, data);\n },\n move: async params => {\n return moveRedirectUseCase.execute(params);\n },\n delete: async params => {\n return deleteRedirectUseCase.execute(params);\n }\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAsBA,IAAAE,mBAAA,GAAAF,OAAA;AAEO,MAAMG,mBAAmB,GAC5BC,MAA0D,IACzC;EACjB;EACA,MAAMC,sBAAsB,GAAG,IAAAC,mBAAW,EACtC,2BACJ,CAAC;EACD,MAAMC,qBAAqB,GAAG,IAAAD,mBAAW,EACrC,0BACJ,CAAC;EAED,MAAM;IAAEE;EAAsB,CAAC,GAAG,IAAAC,mCAAwB,EAAC;IACvDC,eAAe,EAAEN,MAAM,CAACO,iBAAiB,CAACC,MAAM;IAChDC,MAAM,EAAE;MACJR,sBAAsB;MACtBE;IACJ;EACJ,CAAC,CAAC;EAEF,MAAMO,yBAAyB,GAAG,IAAAC,gDAA4B,EAAC;IAC3DC,aAAa,EAAEZ,MAAM,CAACO,iBAAiB,CAACM;EAC5C,CAAC,CAAC;;EAEF;EACA,MAAMC,sBAAsB,GAAG,IAAAZ,mBAAW,EACtC,2BACJ,CAAC;EACD,MAAMa,qBAAqB,GAAG,IAAAb,mBAAW,EACrC,0BACJ,CAAC;EAED,MAAM;IAAEc;EAAsB,CAAC,GAAG,IAAAC,mCAAwB,EAAC;IACvDC,eAAe,EAAElB,MAAM,CAACO,iBAAiB,CAACY,MAAM;IAChDC,YAAY,EAAEpB,MAAM,CAACO,iBAAiB,CAACc,OAAO;IAC9CZ,MAAM,EAAE;MACJK,sBAAsB;MACtBC;IACJ;EACJ,CAAC,CAAC;;EAEF;EACA,MAAMO,oBAAoB,GACtB,IAAApB,mBAAW,EAAkC,yBAAyB,CAAC;EAC3E,MAAMqB,mBAAmB,GACrB,IAAArB,mBAAW,EAAiC,wBAAwB,CAAC;EAEzE,MAAM;IAAEsB;EAAoB,CAAC,GAAG,IAAAC,iCAAsB,EAAC;IACnDC,aAAa,EAAE1B,MAAM,CAACO,iBAAiB,CAACoB,IAAI;IAC5CP,YAAY,EAAEpB,MAAM,CAACO,iBAAiB,CAACc,OAAO;IAC9CZ,MAAM,EAAE;MACJa,oBAAoB;MACpBC;IACJ;EACJ,CAAC,CAAC;;EAEF;EACA,MAAMK,sBAAsB,GAAG,IAAA1B,mBAAW,EACtC,2BACJ,CAAC;EACD,MAAM2B,qBAAqB,GAAG,IAAA3B,mBAAW,EACrC,0BACJ,CAAC;EAED,MAAM;IAAE4B;EAAsB,CAAC,GAAG,IAAAC,mCAAwB,EAAC;IACvDC,eAAe,EAAEhC,MAAM,CAACO,iBAAiB,CAAC0B,MAAM;IAChDb,YAAY,EAAEpB,MAAM,CAACO,iBAAiB,CAACc,OAAO;IAC9CZ,MAAM,EAAE;MACJmB,sBAAsB;MACtBC;IACJ;EACJ,CAAC,CAAC;;EAEF;EACA,MAAM;IAAEK;EAAuB,CAAC,GAAG,IAAAC,oCAAyB,EAAC;IACzDf,YAAY,EAAEpB,MAAM,CAACO,iBAAiB,CAACc;EAC3C,CAAC,CAAC;;EAEF;EACA,MAAM;IAAEe;EAAqB,CAAC,GAAG,IAAAC,kCAAuB,EAAC;IACrDzB,aAAa,EAAEZ,MAAM,CAACO,iBAAiB,CAACM;EAC5C,CAAC,CAAC;EAEF,OAAO;IACHZ,sBAAsB;IACtBE,qBAAqB;IACrBW,sBAAsB;IACtBC,qBAAqB;IACrBO,oBAAoB;IACpBC,mBAAmB;IACnBK,sBAAsB;IACtBC,qBAAqB;IAErBhB,IAAI,EAAE,MAAMyB,MAAM,IAAI;MAClB,OAAOF,oBAAoB,CAACG,OAAO,CAACD,MAAM,CAAC;IAC/C,CAAC;IACDE,kBAAkB,EAAE,MAAAA,CAAA,KAAY;MAC5B,OAAO9B,yBAAyB,CAAC6B,OAAO,CAAC,CAAC;IAC9C,CAAC;IACDlB,OAAO,EAAE,MAAMoB,EAAE,IAAI;MACjB,OAAOP,sBAAsB,CAACK,OAAO,CAACE,EAAE,CAAC;IAC7C,CAAC;IACDjC,MAAM,EAAE,MAAMkC,IAAI,IAAI;MAClB,OAAOtC,qBAAqB,CAACmC,OAAO,CAACG,IAAI,CAAC;IAC9C,CAAC;IACDvB,MAAM,EAAE,MAAAA,CAAOsB,EAAU,EAAEC,IAA0B,KAAK;MACtD,OAAO1B,qBAAqB,CAACuB,OAAO,CAACE,EAAE,EAAEC,IAAI,CAAC;IAClD,CAAC;IACDf,IAAI,EAAE,MAAMW,MAAM,IAAI;MAClB,OAAOd,mBAAmB,CAACe,OAAO,CAACD,MAAM,CAAC;IAC9C,CAAC;IACDL,MAAM,EAAE,MAAMK,MAAM,IAAI;MACpB,OAAOR,qBAAqB,CAACS,OAAO,CAACD,MAAM,CAAC;IAChD;EACJ,CAAC;AACL,CAAC;AAACK,OAAA,CAAA5C,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import type { WbIdentity, WbLocation } from "../types";
|
|
2
|
+
import type { CmsEntryListSort, CmsEntryListWhere } from "@webiny/api-headless-cms/types";
|
|
3
|
+
import type { Topic } from "@webiny/pubsub/types";
|
|
4
|
+
import type { ListWbRedirectsParams, WbListMeta } from "../../features/redirects/ListRedirects/IListRedirects";
|
|
5
|
+
export interface WbRedirect {
|
|
6
|
+
id: string;
|
|
7
|
+
wbyAco_location: WbLocation;
|
|
8
|
+
createdOn: string;
|
|
9
|
+
createdBy: WbIdentity;
|
|
10
|
+
savedOn: string;
|
|
11
|
+
savedBy: WbIdentity;
|
|
12
|
+
modifiedOn: string;
|
|
13
|
+
modifiedBy: WbIdentity;
|
|
14
|
+
tenant: string;
|
|
15
|
+
locale: string;
|
|
16
|
+
redirectFrom: string;
|
|
17
|
+
redirectTo: string;
|
|
18
|
+
redirectType: string;
|
|
19
|
+
isEnabled: boolean;
|
|
20
|
+
}
|
|
21
|
+
export type CreateWbRedirectData = Pick<WbRedirect, "redirectFrom" | "redirectTo" | "redirectType" | "isEnabled">;
|
|
22
|
+
export interface UpdateWbRedirectData {
|
|
23
|
+
location?: WbLocation;
|
|
24
|
+
redirectFrom?: string;
|
|
25
|
+
redirectTo?: string;
|
|
26
|
+
redirectType?: string;
|
|
27
|
+
isEnabled?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface DeleteWbRedirectParams {
|
|
30
|
+
id: string;
|
|
31
|
+
}
|
|
32
|
+
export interface MoveWbRedirectParams {
|
|
33
|
+
id: string;
|
|
34
|
+
folderId: string;
|
|
35
|
+
}
|
|
36
|
+
export interface WbRedirectsStorageOperationsCreateParams {
|
|
37
|
+
data: CreateWbRedirectData;
|
|
38
|
+
}
|
|
39
|
+
export interface WbRedirectsStorageOperationsUpdateParams {
|
|
40
|
+
id: string;
|
|
41
|
+
data: UpdateWbRedirectData;
|
|
42
|
+
}
|
|
43
|
+
export interface WbRedirectsStorageOperationsDeleteParams {
|
|
44
|
+
id: string;
|
|
45
|
+
}
|
|
46
|
+
export type WbRedirectsStorageOperationsMoveParams = MoveWbRedirectParams;
|
|
47
|
+
export interface WbRedirectsStorageOperationsListParams {
|
|
48
|
+
where: CmsEntryListWhere;
|
|
49
|
+
sort: CmsEntryListSort;
|
|
50
|
+
limit: number;
|
|
51
|
+
after: string | null;
|
|
52
|
+
search?: string;
|
|
53
|
+
}
|
|
54
|
+
export type WbRedirectsStorageOperationsListResponse = [WbRedirect[], WbListMeta];
|
|
55
|
+
export interface OnRedirectBeforeCreateTopicParams {
|
|
56
|
+
input: CreateWbRedirectData;
|
|
57
|
+
}
|
|
58
|
+
export interface OnRedirectAfterCreateTopicParams {
|
|
59
|
+
redirect: WbRedirect;
|
|
60
|
+
}
|
|
61
|
+
export interface OnRedirectBeforeUpdateTopicParams {
|
|
62
|
+
original: WbRedirect;
|
|
63
|
+
input: Record<string, any>;
|
|
64
|
+
}
|
|
65
|
+
export interface OnRedirectAfterUpdateTopicParams {
|
|
66
|
+
original: WbRedirect;
|
|
67
|
+
redirect: WbRedirect;
|
|
68
|
+
input: Record<string, any>;
|
|
69
|
+
}
|
|
70
|
+
export interface OnRedirectBeforeMoveTopicParams {
|
|
71
|
+
redirect: WbRedirect;
|
|
72
|
+
folderId: string;
|
|
73
|
+
}
|
|
74
|
+
export interface OnRedirectAfterMoveTopicParams {
|
|
75
|
+
redirect: WbRedirect;
|
|
76
|
+
folderId: string;
|
|
77
|
+
}
|
|
78
|
+
export interface OnRedirectBeforeDeleteTopicParams {
|
|
79
|
+
redirect: WbRedirect;
|
|
80
|
+
}
|
|
81
|
+
export interface OnRedirectAfterDeleteTopicParams {
|
|
82
|
+
redirect: WbRedirect;
|
|
83
|
+
}
|
|
84
|
+
export interface WbRedirectsStorageOperations {
|
|
85
|
+
/**
|
|
86
|
+
* Get a single redirect by ID (can be draft or published).
|
|
87
|
+
*/
|
|
88
|
+
getById: (id: string) => Promise<WbRedirect | null>;
|
|
89
|
+
/**
|
|
90
|
+
* Get a list of redirects filtered by given parameters.
|
|
91
|
+
*/
|
|
92
|
+
list: (params: WbRedirectsStorageOperationsListParams) => Promise<WbRedirectsStorageOperationsListResponse>;
|
|
93
|
+
/**
|
|
94
|
+
* Insert the redirect data into the database.
|
|
95
|
+
*/
|
|
96
|
+
create: (params: WbRedirectsStorageOperationsCreateParams) => Promise<WbRedirect>;
|
|
97
|
+
/**
|
|
98
|
+
* Update the redirect data in the database.
|
|
99
|
+
*/
|
|
100
|
+
update: (params: WbRedirectsStorageOperationsUpdateParams) => Promise<WbRedirect>;
|
|
101
|
+
/**
|
|
102
|
+
* Move the redirect into a folder and store the information in the database.
|
|
103
|
+
*/
|
|
104
|
+
move: (params: MoveWbRedirectParams) => Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Delete the redirect from the database.
|
|
107
|
+
*/
|
|
108
|
+
delete: (params: WbRedirectsStorageOperationsDeleteParams) => Promise<void>;
|
|
109
|
+
}
|
|
110
|
+
export interface WbRedirectCrud {
|
|
111
|
+
/**
|
|
112
|
+
* Get a single redirect with given ID from the storage.
|
|
113
|
+
*/
|
|
114
|
+
getById(id: string): Promise<WbRedirect | null>;
|
|
115
|
+
/**
|
|
116
|
+
* Get all active redirects.
|
|
117
|
+
*/
|
|
118
|
+
getActiveRedirects(): Promise<WbRedirect[]>;
|
|
119
|
+
/**
|
|
120
|
+
* Get a list of redirects filtered by given parameters.
|
|
121
|
+
*/
|
|
122
|
+
list(params: ListWbRedirectsParams): Promise<[WbRedirect[], WbListMeta]>;
|
|
123
|
+
/**
|
|
124
|
+
* Create a new redirect in the storage.
|
|
125
|
+
*/
|
|
126
|
+
create(data: CreateWbRedirectData): Promise<WbRedirect>;
|
|
127
|
+
/**
|
|
128
|
+
* Update an existing redirect in the storage.
|
|
129
|
+
*/
|
|
130
|
+
update(id: string, data: UpdateWbRedirectData): Promise<WbRedirect>;
|
|
131
|
+
/**
|
|
132
|
+
* Move a redirect into a folder
|
|
133
|
+
*/
|
|
134
|
+
move(params: MoveWbRedirectParams): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Delete a redirect from the storage.
|
|
137
|
+
*/
|
|
138
|
+
delete(params: DeleteWbRedirectParams): Promise<void>;
|
|
139
|
+
onRedirectBeforeCreate: Topic<OnRedirectBeforeCreateTopicParams>;
|
|
140
|
+
onRedirectAfterCreate: Topic<OnRedirectAfterCreateTopicParams>;
|
|
141
|
+
onRedirectBeforeUpdate: Topic<OnRedirectBeforeUpdateTopicParams>;
|
|
142
|
+
onRedirectAfterUpdate: Topic<OnRedirectAfterUpdateTopicParams>;
|
|
143
|
+
onRedirectBeforeMove: Topic<OnRedirectBeforeMoveTopicParams>;
|
|
144
|
+
onRedirectAfterMove: Topic<OnRedirectAfterMoveTopicParams>;
|
|
145
|
+
onRedirectBeforeDelete: Topic<OnRedirectBeforeDeleteTopicParams>;
|
|
146
|
+
onRedirectAfterDelete: Topic<OnRedirectAfterDeleteTopicParams>;
|
|
147
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["redirects.types.ts"],"sourcesContent":["import type { WbIdentity, WbLocation } from \"~/context/types\";\nimport type { CmsEntryListSort, CmsEntryListWhere } from \"@webiny/api-headless-cms/types\";\nimport type { Topic } from \"@webiny/pubsub/types\";\nimport type {\n ListWbRedirectsParams,\n WbListMeta\n} from \"~/features/redirects/ListRedirects/IListRedirects\";\n\nexport interface WbRedirect {\n id: string;\n wbyAco_location: WbLocation;\n createdOn: string;\n createdBy: WbIdentity;\n savedOn: string;\n savedBy: WbIdentity;\n modifiedOn: string;\n modifiedBy: WbIdentity;\n tenant: string;\n locale: string;\n\n redirectFrom: string;\n redirectTo: string;\n redirectType: string;\n isEnabled: boolean;\n}\n\nexport type CreateWbRedirectData = Pick<\n WbRedirect,\n \"redirectFrom\" | \"redirectTo\" | \"redirectType\" | \"isEnabled\"\n>;\n\nexport interface UpdateWbRedirectData {\n location?: WbLocation;\n redirectFrom?: string;\n redirectTo?: string;\n redirectType?: string;\n isEnabled?: boolean;\n}\n\nexport interface DeleteWbRedirectParams {\n id: string;\n}\n\nexport interface MoveWbRedirectParams {\n id: string;\n folderId: string;\n}\n\nexport interface WbRedirectsStorageOperationsCreateParams {\n data: CreateWbRedirectData;\n}\n\nexport interface WbRedirectsStorageOperationsUpdateParams {\n id: string;\n data: UpdateWbRedirectData;\n}\n\nexport interface WbRedirectsStorageOperationsDeleteParams {\n id: string;\n}\n\nexport type WbRedirectsStorageOperationsMoveParams = MoveWbRedirectParams;\n\nexport interface WbRedirectsStorageOperationsListParams {\n where: CmsEntryListWhere;\n sort: CmsEntryListSort;\n limit: number;\n after: string | null;\n search?: string;\n}\n\nexport type WbRedirectsStorageOperationsListResponse = [WbRedirect[], WbListMeta];\n\nexport interface OnRedirectBeforeCreateTopicParams {\n input: CreateWbRedirectData;\n}\n\nexport interface OnRedirectAfterCreateTopicParams {\n redirect: WbRedirect;\n}\n\nexport interface OnRedirectBeforeUpdateTopicParams {\n original: WbRedirect;\n input: Record<string, any>;\n}\n\nexport interface OnRedirectAfterUpdateTopicParams {\n original: WbRedirect;\n redirect: WbRedirect;\n input: Record<string, any>;\n}\n\nexport interface OnRedirectBeforeMoveTopicParams {\n redirect: WbRedirect;\n folderId: string;\n}\n\nexport interface OnRedirectAfterMoveTopicParams {\n redirect: WbRedirect;\n folderId: string;\n}\n\nexport interface OnRedirectBeforeDeleteTopicParams {\n redirect: WbRedirect;\n}\n\nexport interface OnRedirectAfterDeleteTopicParams {\n redirect: WbRedirect;\n}\n\nexport interface WbRedirectsStorageOperations {\n /**\n * Get a single redirect by ID (can be draft or published).\n */\n getById: (id: string) => Promise<WbRedirect | null>;\n /**\n * Get a list of redirects filtered by given parameters.\n */\n list: (\n params: WbRedirectsStorageOperationsListParams\n ) => Promise<WbRedirectsStorageOperationsListResponse>;\n /**\n * Insert the redirect data into the database.\n */\n create: (params: WbRedirectsStorageOperationsCreateParams) => Promise<WbRedirect>;\n /**\n * Update the redirect data in the database.\n */\n update: (params: WbRedirectsStorageOperationsUpdateParams) => Promise<WbRedirect>;\n /**\n * Move the redirect into a folder and store the information in the database.\n */\n move: (params: MoveWbRedirectParams) => Promise<void>;\n /**\n * Delete the redirect from the database.\n */\n delete: (params: WbRedirectsStorageOperationsDeleteParams) => Promise<void>;\n}\n\nexport interface WbRedirectCrud {\n /**\n * Get a single redirect with given ID from the storage.\n */\n getById(id: string): Promise<WbRedirect | null>;\n /**\n * Get all active redirects.\n */\n getActiveRedirects(): Promise<WbRedirect[]>;\n /**\n * Get a list of redirects filtered by given parameters.\n */\n list(params: ListWbRedirectsParams): Promise<[WbRedirect[], WbListMeta]>;\n /**\n * Create a new redirect in the storage.\n */\n create(data: CreateWbRedirectData): Promise<WbRedirect>;\n /**\n * Update an existing redirect in the storage.\n */\n update(id: string, data: UpdateWbRedirectData): Promise<WbRedirect>;\n /**\n * Move a redirect into a folder\n */\n move(params: MoveWbRedirectParams): Promise<void>;\n /**\n * Delete a redirect from the storage.\n */\n delete(params: DeleteWbRedirectParams): Promise<void>;\n\n onRedirectBeforeCreate: Topic<OnRedirectBeforeCreateTopicParams>;\n onRedirectAfterCreate: Topic<OnRedirectAfterCreateTopicParams>;\n onRedirectBeforeUpdate: Topic<OnRedirectBeforeUpdateTopicParams>;\n onRedirectAfterUpdate: Topic<OnRedirectAfterUpdateTopicParams>;\n onRedirectBeforeMove: Topic<OnRedirectBeforeMoveTopicParams>;\n onRedirectAfterMove: Topic<OnRedirectAfterMoveTopicParams>;\n onRedirectBeforeDelete: Topic<OnRedirectBeforeDeleteTopicParams>;\n onRedirectAfterDelete: Topic<OnRedirectAfterDeleteTopicParams>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { TenancyContext } from "@webiny/api-tenancy/types";
|
|
2
|
+
import type { Context as BaseContext } from "@webiny/handler/types";
|
|
3
|
+
import type { I18NContext } from "@webiny/api-i18n/types";
|
|
4
|
+
import type { SecurityContext } from "@webiny/api-security/types";
|
|
5
|
+
import { type GetPermissions, type SecurityIdentity } from "@webiny/api-security/types";
|
|
6
|
+
import type { AdminUsersContext } from "@webiny/api-admin-users/types";
|
|
7
|
+
import type { CmsContext } from "@webiny/api-headless-cms/types";
|
|
8
|
+
import { type CmsIdentity } from "@webiny/api-headless-cms/types";
|
|
9
|
+
import type { WbPageCrud } from "./pages/pages.types";
|
|
10
|
+
import type { WbRedirectCrud } from "./redirects/redirects.types";
|
|
11
|
+
export interface WbLocation {
|
|
12
|
+
folderId: string;
|
|
13
|
+
}
|
|
14
|
+
export type WbIdentity = CmsIdentity;
|
|
15
|
+
export interface WebsiteBuilderContextObject {
|
|
16
|
+
pages: WbPageCrud;
|
|
17
|
+
redirects: WbRedirectCrud;
|
|
18
|
+
}
|
|
19
|
+
export interface WebsiteBuilderContext extends BaseContext, I18NContext, TenancyContext, SecurityContext, AdminUsersContext, CmsContext {
|
|
20
|
+
websiteBuilder: WebsiteBuilderContextObject;
|
|
21
|
+
}
|
|
22
|
+
export interface WebsiteBuilderConfig<TStorageOperations> {
|
|
23
|
+
storageOperations: TStorageOperations;
|
|
24
|
+
getTenantId: () => string;
|
|
25
|
+
getLocaleCode: () => string;
|
|
26
|
+
getIdentity: () => SecurityIdentity;
|
|
27
|
+
getPermissions: GetPermissions;
|
|
28
|
+
}
|
package/context/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { TenancyContext } from \"@webiny/api-tenancy/types\";\nimport type { Context as BaseContext } from \"@webiny/handler/types\";\nimport type { I18NContext } from \"@webiny/api-i18n/types\";\nimport type { SecurityContext } from \"@webiny/api-security/types\";\nimport { type GetPermissions, type SecurityIdentity } from \"@webiny/api-security/types\";\nimport type { AdminUsersContext } from \"@webiny/api-admin-users/types\";\nimport type { CmsContext } from \"@webiny/api-headless-cms/types\";\nimport { type CmsIdentity } from \"@webiny/api-headless-cms/types\";\nimport type { WbPageCrud } from \"~/context/pages/pages.types\";\nimport type { WbRedirectCrud } from \"~/context/redirects/redirects.types\";\n\nexport interface WbLocation {\n folderId: string;\n}\n\nexport type WbIdentity = CmsIdentity;\n\nexport interface WebsiteBuilderContextObject {\n pages: WbPageCrud;\n redirects: WbRedirectCrud;\n}\n\nexport interface WebsiteBuilderContext\n extends BaseContext,\n I18NContext,\n TenancyContext,\n SecurityContext,\n AdminUsersContext,\n CmsContext {\n websiteBuilder: WebsiteBuilderContextObject;\n}\n\nexport interface WebsiteBuilderConfig<TStorageOperations> {\n storageOperations: TStorageOperations;\n getTenantId: () => string;\n getLocaleCode: () => string;\n getIdentity: () => SecurityIdentity;\n getPermissions: GetPermissions;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ICreatePage } from "./ICreatePage";
|
|
2
|
+
import type { CreateWbPageData, WbPagesStorageOperations } from "../../../context/pages/pages.types";
|
|
3
|
+
export declare class CreatePage implements ICreatePage {
|
|
4
|
+
private readonly createOperation;
|
|
5
|
+
constructor(createOperation: WbPagesStorageOperations["create"]);
|
|
6
|
+
execute(data: CreateWbPageData): Promise<import("../../../context/pages/pages.types").WbPage>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CreatePage = void 0;
|
|
7
|
+
class CreatePage {
|
|
8
|
+
constructor(createOperation) {
|
|
9
|
+
this.createOperation = createOperation;
|
|
10
|
+
}
|
|
11
|
+
async execute(data) {
|
|
12
|
+
return await this.createOperation({
|
|
13
|
+
data
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.CreatePage = CreatePage;
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=CreatePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CreatePage","constructor","createOperation","execute","data","exports"],"sources":["CreatePage.ts"],"sourcesContent":["import type { ICreatePage } from \"./ICreatePage\";\nimport type { CreateWbPageData, WbPagesStorageOperations } from \"~/context/pages/pages.types\";\n\nexport class CreatePage implements ICreatePage {\n private readonly createOperation: WbPagesStorageOperations[\"create\"];\n\n constructor(createOperation: WbPagesStorageOperations[\"create\"]) {\n this.createOperation = createOperation;\n }\n\n async execute(data: CreateWbPageData) {\n return await this.createOperation({ data });\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,UAAU,CAAwB;EAG3CC,WAAWA,CAACC,eAAmD,EAAE;IAC7D,IAAI,CAACA,eAAe,GAAGA,eAAe;EAC1C;EAEA,MAAMC,OAAOA,CAACC,IAAsB,EAAE;IAClC,OAAO,MAAM,IAAI,CAACF,eAAe,CAAC;MAAEE;IAAK,CAAC,CAAC;EAC/C;AACJ;AAACC,OAAA,CAAAL,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ICreatePage } from "./ICreatePage";
|
|
2
|
+
import type { CreatePageUseCasesTopics } from "./index";
|
|
3
|
+
import type { CreateWbPageData } from "../../../context/pages/pages.types";
|
|
4
|
+
export declare class CreatePageWithEvents implements ICreatePage {
|
|
5
|
+
private topics;
|
|
6
|
+
private readonly decoretee;
|
|
7
|
+
constructor(topics: CreatePageUseCasesTopics, decoretee: ICreatePage);
|
|
8
|
+
execute(data: CreateWbPageData): Promise<import("../../../context/pages/pages.types").WbPage>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CreatePageWithEvents = void 0;
|
|
7
|
+
class CreatePageWithEvents {
|
|
8
|
+
constructor(topics, decoretee) {
|
|
9
|
+
this.topics = topics;
|
|
10
|
+
this.decoretee = decoretee;
|
|
11
|
+
}
|
|
12
|
+
async execute(data) {
|
|
13
|
+
await this.topics.onPageBeforeCreate.publish({
|
|
14
|
+
input: data
|
|
15
|
+
});
|
|
16
|
+
const page = await this.decoretee.execute(data);
|
|
17
|
+
await this.topics.onPageAfterCreate.publish({
|
|
18
|
+
page
|
|
19
|
+
});
|
|
20
|
+
return page;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.CreatePageWithEvents = CreatePageWithEvents;
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=CreatePageWithEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CreatePageWithEvents","constructor","topics","decoretee","execute","data","onPageBeforeCreate","publish","input","page","onPageAfterCreate","exports"],"sources":["CreatePageWithEvents.ts"],"sourcesContent":["import type { ICreatePage } from \"./ICreatePage\";\nimport type { CreatePageUseCasesTopics } from \"./index\";\nimport type { CreateWbPageData } from \"~/context/pages/pages.types\";\n\nexport class CreatePageWithEvents implements ICreatePage {\n private topics: CreatePageUseCasesTopics;\n private readonly decoretee: ICreatePage;\n\n constructor(topics: CreatePageUseCasesTopics, decoretee: ICreatePage) {\n this.topics = topics;\n this.decoretee = decoretee;\n }\n\n async execute(data: CreateWbPageData) {\n await this.topics.onPageBeforeCreate.publish({ input: data });\n const page = await this.decoretee.execute(data);\n await this.topics.onPageAfterCreate.publish({ page });\n return page;\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,oBAAoB,CAAwB;EAIrDC,WAAWA,CAACC,MAAgC,EAAEC,SAAsB,EAAE;IAClE,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,IAAsB,EAAE;IAClC,MAAM,IAAI,CAACH,MAAM,CAACI,kBAAkB,CAACC,OAAO,CAAC;MAAEC,KAAK,EAAEH;IAAK,CAAC,CAAC;IAC7D,MAAMI,IAAI,GAAG,MAAM,IAAI,CAACN,SAAS,CAACC,OAAO,CAACC,IAAI,CAAC;IAC/C,MAAM,IAAI,CAACH,MAAM,CAACQ,iBAAiB,CAACH,OAAO,CAAC;MAAEE;IAAK,CAAC,CAAC;IACrD,OAAOA,IAAI;EACf;AACJ;AAACE,OAAA,CAAAX,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["ICreatePage.ts"],"sourcesContent":["import type { CreateWbPageData, WbPage } from \"~/context/pages/pages.types\";\n\nexport interface ICreatePage {\n execute: (data: CreateWbPageData) => Promise<WbPage>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Topic } from "@webiny/pubsub/types";
|
|
2
|
+
import { CreatePageWithEvents } from "./CreatePageWithEvents";
|
|
3
|
+
import type { OnPageAfterCreateTopicParams, OnPageBeforeCreateTopicParams, WbPagesStorageOperations } from "../../../context/pages/pages.types";
|
|
4
|
+
export interface CreatePageUseCasesTopics {
|
|
5
|
+
onPageBeforeCreate: Topic<OnPageBeforeCreateTopicParams>;
|
|
6
|
+
onPageAfterCreate: Topic<OnPageAfterCreateTopicParams>;
|
|
7
|
+
}
|
|
8
|
+
interface CreatePageUseCasesParams {
|
|
9
|
+
createOperation: WbPagesStorageOperations["create"];
|
|
10
|
+
topics: CreatePageUseCasesTopics;
|
|
11
|
+
}
|
|
12
|
+
export declare const getCreatePageUseCase: (params: CreatePageUseCasesParams) => {
|
|
13
|
+
createPageUseCase: CreatePageWithEvents;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getCreatePageUseCase = void 0;
|
|
7
|
+
var _CreatePage = require("./CreatePage");
|
|
8
|
+
var _CreatePageWithEvents = require("./CreatePageWithEvents");
|
|
9
|
+
const getCreatePageUseCase = params => {
|
|
10
|
+
const createPage = new _CreatePage.CreatePage(params.createOperation);
|
|
11
|
+
const createPageUseCase = new _CreatePageWithEvents.CreatePageWithEvents(params.topics, createPage);
|
|
12
|
+
return {
|
|
13
|
+
createPageUseCase
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
exports.getCreatePageUseCase = getCreatePageUseCase;
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_CreatePage","require","_CreatePageWithEvents","getCreatePageUseCase","params","createPage","CreatePage","createOperation","createPageUseCase","CreatePageWithEvents","topics","exports"],"sources":["index.ts"],"sourcesContent":["import type { Topic } from \"@webiny/pubsub/types\";\nimport { CreatePage } from \"./CreatePage\";\nimport { CreatePageWithEvents } from \"./CreatePageWithEvents\";\nimport type {\n OnPageAfterCreateTopicParams,\n OnPageBeforeCreateTopicParams,\n WbPagesStorageOperations\n} from \"~/context/pages/pages.types\";\n\nexport interface CreatePageUseCasesTopics {\n onPageBeforeCreate: Topic<OnPageBeforeCreateTopicParams>;\n onPageAfterCreate: Topic<OnPageAfterCreateTopicParams>;\n}\n\ninterface CreatePageUseCasesParams {\n createOperation: WbPagesStorageOperations[\"create\"];\n topics: CreatePageUseCasesTopics;\n}\n\nexport const getCreatePageUseCase = (params: CreatePageUseCasesParams) => {\n const createPage = new CreatePage(params.createOperation);\n const createPageUseCase = new CreatePageWithEvents(params.topics, createPage);\n\n return {\n createPageUseCase\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAiBO,MAAME,oBAAoB,GAAIC,MAAgC,IAAK;EACtE,MAAMC,UAAU,GAAG,IAAIC,sBAAU,CAACF,MAAM,CAACG,eAAe,CAAC;EACzD,MAAMC,iBAAiB,GAAG,IAAIC,0CAAoB,CAACL,MAAM,CAACM,MAAM,EAAEL,UAAU,CAAC;EAE7E,OAAO;IACHG;EACJ,CAAC;AACL,CAAC;AAACG,OAAA,CAAAR,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ICreatePageRevisionFrom } from "./ICreatePageRevisionFrom";
|
|
2
|
+
import type { CreateWbPageRevisionFromParams, WbPage, WbPagesStorageOperations } from "../../../context/pages/pages.types";
|
|
3
|
+
export declare class CreatePageRevisionFrom implements ICreatePageRevisionFrom {
|
|
4
|
+
private readonly createRevisionFromOperation;
|
|
5
|
+
constructor(createRevisionFromOperation: WbPagesStorageOperations["createRevisionFrom"]);
|
|
6
|
+
execute(params: CreateWbPageRevisionFromParams): Promise<WbPage>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CreatePageRevisionFrom = void 0;
|
|
7
|
+
class CreatePageRevisionFrom {
|
|
8
|
+
constructor(createRevisionFromOperation) {
|
|
9
|
+
this.createRevisionFromOperation = createRevisionFromOperation;
|
|
10
|
+
}
|
|
11
|
+
async execute(params) {
|
|
12
|
+
return await this.createRevisionFromOperation(params);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.CreatePageRevisionFrom = CreatePageRevisionFrom;
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=CreatePageRevisionFrom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CreatePageRevisionFrom","constructor","createRevisionFromOperation","execute","params","exports"],"sources":["CreatePageRevisionFrom.ts"],"sourcesContent":["import type { ICreatePageRevisionFrom } from \"./ICreatePageRevisionFrom\";\nimport type {\n CreateWbPageRevisionFromParams,\n WbPage,\n WbPagesStorageOperations\n} from \"~/context/pages/pages.types\";\n\nexport class CreatePageRevisionFrom implements ICreatePageRevisionFrom {\n private readonly createRevisionFromOperation: WbPagesStorageOperations[\"createRevisionFrom\"];\n\n constructor(createRevisionFromOperation: WbPagesStorageOperations[\"createRevisionFrom\"]) {\n this.createRevisionFromOperation = createRevisionFromOperation;\n }\n\n async execute(params: CreateWbPageRevisionFromParams): Promise<WbPage> {\n return await this.createRevisionFromOperation(params);\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,sBAAsB,CAAoC;EAGnEC,WAAWA,CAACC,2BAA2E,EAAE;IACrF,IAAI,CAACA,2BAA2B,GAAGA,2BAA2B;EAClE;EAEA,MAAMC,OAAOA,CAACC,MAAsC,EAAmB;IACnE,OAAO,MAAM,IAAI,CAACF,2BAA2B,CAACE,MAAM,CAAC;EACzD;AACJ;AAACC,OAAA,CAAAL,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CreatePageRevisionFromUseCasesTopics } from "./index";
|
|
2
|
+
import type { CreateWbPageRevisionFromParams, WbPagesStorageOperations } from "../../../context/pages/pages.types";
|
|
3
|
+
import type { ICreatePageRevisionFrom } from "./ICreatePageRevisionFrom";
|
|
4
|
+
export declare class CreatePageRevisionFromWithEvents implements ICreatePageRevisionFrom {
|
|
5
|
+
private topics;
|
|
6
|
+
private readonly getOperation;
|
|
7
|
+
private readonly decoretee;
|
|
8
|
+
constructor(topics: CreatePageRevisionFromUseCasesTopics, getOperation: WbPagesStorageOperations["getById"], decoretee: ICreatePageRevisionFrom);
|
|
9
|
+
execute(params: CreateWbPageRevisionFromParams): Promise<import("../../../context/pages/pages.types").WbPage>;
|
|
10
|
+
}
|