@webiny/api-website-builder 6.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +33 -0
- package/WebsiteBuilderContextSetup.d.ts +12 -0
- package/WebsiteBuilderContextSetup.js +91 -0
- package/WebsiteBuilderContextSetup.js.map +1 -0
- package/constants.d.ts +3 -0
- package/constants.js +11 -0
- package/constants.js.map +1 -0
- package/createWebsiteBuilder.d.ts +2 -0
- package/createWebsiteBuilder.js +16 -0
- package/createWebsiteBuilder.js.map +1 -0
- package/createWebsiteBuilderGraphQL.d.ts +4 -0
- package/createWebsiteBuilderGraphQL.js +124 -0
- package/createWebsiteBuilderGraphQL.js.map +1 -0
- package/index.d.ts +3 -0
- package/index.js +23 -0
- package/index.js.map +1 -0
- package/package.json +54 -0
- package/page/CmsPagesStorage.d.ts +23 -0
- package/page/CmsPagesStorage.js +106 -0
- package/page/CmsPagesStorage.js.map +1 -0
- package/page/page.crud.d.ts +3 -0
- package/page/page.crud.js +208 -0
- package/page/page.crud.js.map +1 -0
- package/page/page.gql.d.ts +10 -0
- package/page/page.gql.js +380 -0
- package/page/page.gql.js.map +1 -0
- package/page/page.model.d.ts +3 -0
- package/page/page.model.js +50 -0
- package/page/page.model.js.map +1 -0
- package/page/page.modelModifier.d.ts +23 -0
- package/page/page.modelModifier.js +56 -0
- package/page/page.modelModifier.js.map +1 -0
- package/page/page.types.d.ts +307 -0
- package/page/page.types.js +7 -0
- package/page/page.types.js.map +1 -0
- package/page/useCases/CreatePage/CreatePage.d.ts +7 -0
- package/page/useCases/CreatePage/CreatePage.js +19 -0
- package/page/useCases/CreatePage/CreatePage.js.map +1 -0
- package/page/useCases/CreatePage/CreatePageWithEvents.d.ts +9 -0
- package/page/useCases/CreatePage/CreatePageWithEvents.js +25 -0
- package/page/useCases/CreatePage/CreatePageWithEvents.js.map +1 -0
- package/page/useCases/CreatePage/ICreatePage.d.ts +4 -0
- package/page/useCases/CreatePage/ICreatePage.js +7 -0
- package/page/useCases/CreatePage/ICreatePage.js.map +1 -0
- package/page/useCases/CreatePage/index.d.ts +15 -0
- package/page/useCases/CreatePage/index.js +18 -0
- package/page/useCases/CreatePage/index.js.map +1 -0
- package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFrom.d.ts +7 -0
- package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFrom.js +17 -0
- package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFrom.js.map +1 -0
- package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.d.ts +10 -0
- package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js +32 -0
- package/page/useCases/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js.map +1 -0
- package/page/useCases/CreatePageRevisionFrom/ICreatePageRevisionFrom.d.ts +4 -0
- package/page/useCases/CreatePageRevisionFrom/ICreatePageRevisionFrom.js +7 -0
- package/page/useCases/CreatePageRevisionFrom/ICreatePageRevisionFrom.js.map +1 -0
- package/page/useCases/CreatePageRevisionFrom/index.d.ts +16 -0
- package/page/useCases/CreatePageRevisionFrom/index.js +18 -0
- package/page/useCases/CreatePageRevisionFrom/index.js.map +1 -0
- package/page/useCases/DeletePage/DeletePage.d.ts +7 -0
- package/page/useCases/DeletePage/DeletePage.js +17 -0
- package/page/useCases/DeletePage/DeletePage.js.map +1 -0
- package/page/useCases/DeletePage/DeletePageWithEvents.d.ts +10 -0
- package/page/useCases/DeletePage/DeletePageWithEvents.js +30 -0
- package/page/useCases/DeletePage/DeletePageWithEvents.js.map +1 -0
- package/page/useCases/DeletePage/IDeletePage.d.ts +4 -0
- package/page/useCases/DeletePage/IDeletePage.js +7 -0
- package/page/useCases/DeletePage/IDeletePage.js.map +1 -0
- package/page/useCases/DeletePage/index.d.ts +16 -0
- package/page/useCases/DeletePage/index.js +18 -0
- package/page/useCases/DeletePage/index.js.map +1 -0
- package/page/useCases/DuplicatePage/DuplicatePage.d.ts +9 -0
- package/page/useCases/DuplicatePage/DuplicatePage.js +43 -0
- package/page/useCases/DuplicatePage/DuplicatePage.js.map +1 -0
- package/page/useCases/DuplicatePage/DuplicatePageWithEvents.d.ts +10 -0
- package/page/useCases/DuplicatePage/DuplicatePageWithEvents.js +36 -0
- package/page/useCases/DuplicatePage/DuplicatePageWithEvents.js.map +1 -0
- package/page/useCases/DuplicatePage/IDuplicatePage.d.ts +4 -0
- package/page/useCases/DuplicatePage/IDuplicatePage.js +7 -0
- package/page/useCases/DuplicatePage/IDuplicatePage.js.map +1 -0
- package/page/useCases/DuplicatePage/index.d.ts +16 -0
- package/page/useCases/DuplicatePage/index.js +18 -0
- package/page/useCases/DuplicatePage/index.js.map +1 -0
- package/page/useCases/GetPageById/GetPageById.d.ts +7 -0
- package/page/useCases/GetPageById/GetPageById.js +17 -0
- package/page/useCases/GetPageById/GetPageById.js.map +1 -0
- package/page/useCases/GetPageById/IGetPageById.d.ts +4 -0
- package/page/useCases/GetPageById/IGetPageById.js +7 -0
- package/page/useCases/GetPageById/IGetPageById.js.map +1 -0
- package/page/useCases/GetPageById/index.d.ts +9 -0
- package/page/useCases/GetPageById/index.js +16 -0
- package/page/useCases/GetPageById/index.js.map +1 -0
- package/page/useCases/GetPageByPath/GetPageByPath.d.ts +11 -0
- package/page/useCases/GetPageByPath/GetPageByPath.js +28 -0
- package/page/useCases/GetPageByPath/GetPageByPath.js.map +1 -0
- package/page/useCases/GetPageByPath/IGetPageByPath.d.ts +4 -0
- package/page/useCases/GetPageByPath/IGetPageByPath.js +7 -0
- package/page/useCases/GetPageByPath/IGetPageByPath.js.map +1 -0
- package/page/useCases/GetPageByPath/index.d.ts +9 -0
- package/page/useCases/GetPageByPath/index.js +16 -0
- package/page/useCases/GetPageByPath/index.js.map +1 -0
- package/page/useCases/GetPageRevisions/GetPageRevisions.d.ts +7 -0
- package/page/useCases/GetPageRevisions/GetPageRevisions.js +17 -0
- package/page/useCases/GetPageRevisions/GetPageRevisions.js.map +1 -0
- package/page/useCases/GetPageRevisions/IGetPageById.d.ts +4 -0
- package/page/useCases/GetPageRevisions/IGetPageById.js +7 -0
- package/page/useCases/GetPageRevisions/IGetPageById.js.map +1 -0
- package/page/useCases/GetPageRevisions/index.d.ts +9 -0
- package/page/useCases/GetPageRevisions/index.js +16 -0
- package/page/useCases/GetPageRevisions/index.js.map +1 -0
- package/page/useCases/ListPages/IListPages.d.ts +5 -0
- package/page/useCases/ListPages/IListPages.js +7 -0
- package/page/useCases/ListPages/IListPages.js.map +1 -0
- package/page/useCases/ListPages/ListPages.d.ts +8 -0
- package/page/useCases/ListPages/ListPages.js +17 -0
- package/page/useCases/ListPages/ListPages.js.map +1 -0
- package/page/useCases/ListPages/index.d.ts +9 -0
- package/page/useCases/ListPages/index.js +16 -0
- package/page/useCases/ListPages/index.js.map +1 -0
- package/page/useCases/MovePage/IMovePage.d.ts +4 -0
- package/page/useCases/MovePage/IMovePage.js +7 -0
- package/page/useCases/MovePage/IMovePage.js.map +1 -0
- package/page/useCases/MovePage/MovePage.d.ts +7 -0
- package/page/useCases/MovePage/MovePage.js +17 -0
- package/page/useCases/MovePage/MovePage.js.map +1 -0
- package/page/useCases/MovePage/MovePageWithEvents.d.ts +10 -0
- package/page/useCases/MovePage/MovePageWithEvents.js +36 -0
- package/page/useCases/MovePage/MovePageWithEvents.js.map +1 -0
- package/page/useCases/MovePage/index.d.ts +16 -0
- package/page/useCases/MovePage/index.js +18 -0
- package/page/useCases/MovePage/index.js.map +1 -0
- package/page/useCases/PublishPage/IPublishPage.d.ts +4 -0
- package/page/useCases/PublishPage/IPublishPage.js +7 -0
- package/page/useCases/PublishPage/IPublishPage.js.map +1 -0
- package/page/useCases/PublishPage/PublishPage.d.ts +7 -0
- package/page/useCases/PublishPage/PublishPage.js +17 -0
- package/page/useCases/PublishPage/PublishPage.js.map +1 -0
- package/page/useCases/PublishPage/PublishPageWithEvents.d.ts +10 -0
- package/page/useCases/PublishPage/PublishPageWithEvents.js +31 -0
- package/page/useCases/PublishPage/PublishPageWithEvents.js.map +1 -0
- package/page/useCases/PublishPage/index.d.ts +16 -0
- package/page/useCases/PublishPage/index.js +18 -0
- package/page/useCases/PublishPage/index.js.map +1 -0
- package/page/useCases/UnpublishPage/IUnpublishPage.d.ts +4 -0
- package/page/useCases/UnpublishPage/IUnpublishPage.js +7 -0
- package/page/useCases/UnpublishPage/IUnpublishPage.js.map +1 -0
- package/page/useCases/UnpublishPage/UnpublishPage.d.ts +7 -0
- package/page/useCases/UnpublishPage/UnpublishPage.js +17 -0
- package/page/useCases/UnpublishPage/UnpublishPage.js.map +1 -0
- package/page/useCases/UnpublishPage/UnpublishPageWithEvents.d.ts +10 -0
- package/page/useCases/UnpublishPage/UnpublishPageWithEvents.js +31 -0
- package/page/useCases/UnpublishPage/UnpublishPageWithEvents.js.map +1 -0
- package/page/useCases/UnpublishPage/index.d.ts +16 -0
- package/page/useCases/UnpublishPage/index.js +18 -0
- package/page/useCases/UnpublishPage/index.js.map +1 -0
- package/page/useCases/UpdatePage/IUpdatePage.d.ts +4 -0
- package/page/useCases/UpdatePage/IUpdatePage.js +7 -0
- package/page/useCases/UpdatePage/IUpdatePage.js.map +1 -0
- package/page/useCases/UpdatePage/UpdatePage.d.ts +7 -0
- package/page/useCases/UpdatePage/UpdatePage.js +20 -0
- package/page/useCases/UpdatePage/UpdatePage.js.map +1 -0
- package/page/useCases/UpdatePage/UpdatePageWithEvents.d.ts +10 -0
- package/page/useCases/UpdatePage/UpdatePageWithEvents.js +40 -0
- package/page/useCases/UpdatePage/UpdatePageWithEvents.js.map +1 -0
- package/page/useCases/UpdatePage/index.d.ts +16 -0
- package/page/useCases/UpdatePage/index.js +18 -0
- package/page/useCases/UpdatePage/index.js.map +1 -0
- package/page/useCases/index.d.ts +9 -0
- package/page/useCases/index.js +106 -0
- package/page/useCases/index.js.map +1 -0
- package/types.d.ts +33 -0
- package/types.js +7 -0
- package/types.js.map +1 -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 @@
|
|
|
1
|
+
{"version":3,"names":["_renderFields","require","_renderInputFields","_renderListFilterFields","_renderSortEnum","_apiAdminSettings","_handlerGraphql","_ensureAuthentication","_resolve","_page","_constants","_constants2","removeFieldRequiredValidation","field","validation","filter","name","listValidation","v","createUpdateFields","fields","reduce","collection","push","createPageTypeDefs","params","model","models","plugins","fieldTypePlugins","fieldTypes","renderFields","type","inputCreateFields","renderInputFields","inputUpdateFields","listFilterFieldsRender","renderListFilterFields","onByMetaGqlFields","ENTRY_META_FIELDS","map","fieldType","isDateTimeEntryMetaField","join","sortEnumRender","renderSortEnum","f","typeDefs","exports","createPagesSchema","pageGraphQL","GraphQLSchemaPlugin","resolvers","WbQuery","getPageModel","_","__","context","resolve","ensureAuthentication","cms","getModel","PAGE_MODEL_ID","getPageByPath","path","page","websiteBuilder","getByPath","NotFoundError","id","properties","bindings","elements","getPageById","getById","getPageRevisions","pageId","revisions","version","title","status","locked","savedOn","listPages","args","entries","meta","list","ListResponse","e","ErrorResponse","getSettings","GetSettings","create","settings","execute","WEBSITE_BUILDER_SETTINGS","data","getData","Response","previewDomain","getIntegrations","WEBSITE_BUILDER_INTEGRATIONS","WbMutation","createPage","updatePage","update","duplicatePage","duplicate","publishPage","publish","unpublishPage","unpublish","movePage","folderId","move","createPageRevisionFrom","createRevisionFrom","deletePage","delete","updateSettings","saveSettings","SaveSettings","updateIntegrations"],"sources":["page.gql.ts"],"sourcesContent":["import { renderFields } from \"@webiny/api-headless-cms/utils/renderFields\";\nimport { renderInputFields } from \"@webiny/api-headless-cms/utils/renderInputFields\";\nimport { renderListFilterFields } from \"@webiny/api-headless-cms/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"@webiny/api-headless-cms/utils/renderSortEnum\";\nimport { GetSettings, SaveSettings } from \"@webiny/api-admin-settings\";\nimport {\n ErrorResponse,\n GraphQLSchemaPlugin,\n ListResponse,\n NotFoundError,\n Response\n} from \"@webiny/handler-graphql\";\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication\";\nimport { resolve } from \"~/utils/resolve\";\nimport { PAGE_MODEL_ID } from \"~/page/page.model\";\nimport type { CmsFieldTypePlugins, CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport type { WebsiteBuilderContext } from \"~/types\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"@webiny/api-headless-cms/constants\";\nimport { WEBSITE_BUILDER_INTEGRATIONS, WEBSITE_BUILDER_SETTINGS } from \"~/constants\";\n\nexport interface CreatePageTypeDefsParams {\n model: CmsModel;\n models: CmsModel[];\n plugins: CmsFieldTypePlugins;\n}\n\nconst removeFieldRequiredValidation = (field: CmsModelField) => {\n if (field.validation) {\n field.validation = field.validation.filter(validation => validation.name !== \"required\");\n }\n if (field.listValidation) {\n field.listValidation = field.listValidation.filter(v => v.name !== \"required\");\n }\n return field;\n};\n\nconst createUpdateFields = (fields: CmsModelField[]): CmsModelField[] => {\n return fields.reduce<CmsModelField[]>((collection, field) => {\n collection.push(removeFieldRequiredValidation({ ...field }));\n return collection;\n }, []);\n};\n\nexport const createPageTypeDefs = (params: CreatePageTypeDefsParams): string => {\n const { model, models, plugins: fieldTypePlugins } = params;\n const { fields } = model;\n\n const fieldTypes = renderFields({\n models,\n model,\n fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const inputCreateFields = renderInputFields({\n models,\n model,\n fields,\n fieldTypePlugins\n });\n\n const inputUpdateFields = renderInputFields({\n models,\n model,\n fields: createUpdateFields(fields),\n fieldTypePlugins\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"WbIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldTypePlugins\n });\n\n return /* GraphQL */ `\n ${fieldTypes.map(f => f.typeDefs).join(\"\\n\")}\n\n type WbPage {\n id: ID!\n pageId: String!\n wbyAco_location: WbLocation\n status: String!\n version: Number!\n locked: Boolean!\n ${onByMetaGqlFields}\n ${fieldTypes.map(f => f.fields).join(\"\\n\")}\n }\n\n ${inputCreateFields.map(f => f.typeDefs).join(\"\\n\")}\n\n input WbPageCreateInput {\n wbyAco_location: WbLocationInput\n ${inputCreateFields.map(f => f.fields).join(\"\\n\")}\n }\n\n input WbPageUpdateInput {\n ${inputUpdateFields.map(f => f.fields).join(\"\\n\")}\n }\n\n input WbPagesListWhereInput {\n wbyAco_location: WbLocationWhereInput\n latest: Boolean\n published: Boolean\n ${listFilterFieldsRender}\n AND: [WbPagesListWhereInput!]\n OR: [WbPagesListWhereInput!]\n }\n\n type WbSettings {\n previewDomain: String!\n }\n\n type WbPageResponse {\n data: WbPage\n error: WbError\n }\n\n type WbSettingsResponse {\n data: WbSettings\n error: WbError\n }\n\n type WbIntegrationsResponse {\n data: JSON!\n error: WbError\n }\n\n input WbSettingsInput {\n previewDomain: String!\n }\n \n type WbPagesListResponse {\n data: [WbPage]\n error: WbError\n meta: WbMeta\n }\n\n type WbPageModelResponse {\n data: JSON\n error: WbError\n }\n \n enum WbPageListSorter {\n ${sortEnumRender}\n }\n \n type WbPageRevision {\n id: ID!\n pageId: ID!\n version: Int!\n title: String!\n status: String!\n locked: Boolean!\n savedOn: DateTime!\n }\n \n type WbPageRevisionsResponse {\n data: [WbPageRevision!]\n error: WbError\n }\n\n extend type WbQuery {\n getPageModel: WbPageModelResponse\n getPageByPath(path: String!): WbPageResponse\n getPageById(id: ID!): WbPageResponse\n getPageRevisions(pageId: ID!): WbPageRevisionsResponse\n listPages(\n where: WbPagesListWhereInput\n limit: Int\n after: String\n sort: [WbPageListSorter]\n search: String\n ): WbPagesListResponse\n getSettings: WbSettingsResponse\n getIntegrations: WbIntegrationsResponse\n }\n\n extend type WbMutation {\n createPage(data: WbPageCreateInput!): WbPageResponse\n updatePage(id: ID!, data: WbPageUpdateInput!): WbPageResponse\n publishPage(id: ID!): WbPageResponse\n unpublishPage(id: ID!): WbPageResponse\n duplicatePage(id: ID!): WbPageResponse\n movePage(id: ID!, folderId: ID!): WbBooleanResponse\n createPageRevisionFrom(id: ID!): WbPageResponse\n deletePage(id: ID!): WbBooleanResponse\n updateSettings(data: WbSettingsInput!): BooleanResponse\n updateIntegrations(data: JSON!): BooleanResponse\n }\n `;\n};\n\nexport const createPagesSchema = (params: CreatePageTypeDefsParams) => {\n const pageGraphQL = new GraphQLSchemaPlugin<WebsiteBuilderContext>({\n typeDefs: createPageTypeDefs(params),\n resolvers: {\n WbQuery: {\n getPageModel: async (_, __, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.cms.getModel(PAGE_MODEL_ID);\n });\n },\n getPageByPath: async (_, { path }, context) => {\n return resolve(async () => {\n ensureAuthentication(context);\n\n const page = await context.websiteBuilder.page.getByPath(path);\n\n if (!page) {\n throw new NotFoundError(`Page ${path} was not found!`);\n }\n\n return {\n id: page.id,\n properties: page.properties,\n bindings: page.bindings,\n elements: page.elements\n };\n });\n },\n getPageById: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.websiteBuilder.page.getById(id);\n });\n },\n getPageRevisions: async (_, { pageId }, context) => {\n return resolve(async () => {\n ensureAuthentication(context);\n const revisions = await context.websiteBuilder.page.getPageRevisions(\n pageId\n );\n\n return revisions.map(page => {\n return {\n id: page.id,\n pageId: page.pageId,\n version: page.version,\n title: page.properties.title,\n status: page.status,\n locked: page.locked,\n savedOn: page.savedOn\n };\n });\n });\n },\n listPages: async (_, args: any, context) => {\n try {\n ensureAuthentication(context);\n const [entries, meta] = await context.websiteBuilder.page.list(args);\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n getSettings: async (_, args, context) => {\n ensureAuthentication(context);\n const getSettings = GetSettings.create(context);\n const settings = await getSettings.execute(WEBSITE_BUILDER_SETTINGS);\n const data = settings.getData();\n\n return new Response({\n previewDomain: data.previewDomain ?? \"\"\n });\n },\n getIntegrations: async (_, args, context) => {\n ensureAuthentication(context);\n const getSettings = GetSettings.create(context);\n const settings = await getSettings.execute(WEBSITE_BUILDER_INTEGRATIONS);\n return new Response(settings.getData());\n }\n },\n WbMutation: {\n createPage: async (_, { data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.websiteBuilder.page.create(data);\n });\n },\n updatePage: async (_, { id, data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.websiteBuilder.page.update(id, data);\n });\n },\n duplicatePage: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.websiteBuilder.page.duplicate({ id });\n });\n },\n publishPage: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.websiteBuilder.page.publish({ id });\n });\n },\n unpublishPage: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.websiteBuilder.page.unpublish({ id });\n });\n },\n movePage: async (_, { id, folderId }, context) => {\n ensureAuthentication(context);\n await context.websiteBuilder.page.move({ id, folderId });\n return new Response(true);\n },\n createPageRevisionFrom: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.websiteBuilder.page.createRevisionFrom({ id });\n });\n },\n deletePage: async (_, { id }, context) => {\n ensureAuthentication(context);\n await context.websiteBuilder.page.delete({ id });\n return new Response(true);\n },\n updateSettings: async (_, args, context) => {\n ensureAuthentication(context);\n const saveSettings = SaveSettings.create(context);\n await saveSettings.execute({\n name: WEBSITE_BUILDER_SETTINGS,\n settings: args.data\n });\n return new Response(true);\n },\n updateIntegrations: async (_, args, context) => {\n ensureAuthentication(context);\n const saveSettings = SaveSettings.create(context);\n await saveSettings.execute({\n name: WEBSITE_BUILDER_INTEGRATIONS,\n settings: args.data\n });\n return new Response(true);\n }\n }\n }\n });\n\n pageGraphQL.name = \"wb.graphql.pages\";\n\n return pageGraphQL;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.elementsField = exports.createPageModel = exports.PAGE_MODEL_ID = void 0;
|
|
7
|
+
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
8
|
+
const propertiesField = () => (0, _apiHeadlessCms.createModelField)({
|
|
9
|
+
label: "Properties",
|
|
10
|
+
type: "searchable-json"
|
|
11
|
+
});
|
|
12
|
+
const metadataField = () => (0, _apiHeadlessCms.createModelField)({
|
|
13
|
+
label: "Metadata",
|
|
14
|
+
type: "json"
|
|
15
|
+
});
|
|
16
|
+
const bindingsField = () => (0, _apiHeadlessCms.createModelField)({
|
|
17
|
+
label: "Bindings",
|
|
18
|
+
type: "json"
|
|
19
|
+
});
|
|
20
|
+
const elementsField = () => (0, _apiHeadlessCms.createModelField)({
|
|
21
|
+
label: "Elements",
|
|
22
|
+
type: "json"
|
|
23
|
+
});
|
|
24
|
+
exports.elementsField = elementsField;
|
|
25
|
+
const extensionsField = () => (0, _apiHeadlessCms.createModelField)({
|
|
26
|
+
label: "Extensions",
|
|
27
|
+
fieldId: "extensions",
|
|
28
|
+
type: "object",
|
|
29
|
+
settings: {
|
|
30
|
+
layout: [],
|
|
31
|
+
fields: []
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
const PAGE_MODEL_ID = exports.PAGE_MODEL_ID = "wbPage";
|
|
35
|
+
const createPageModel = () => {
|
|
36
|
+
const fields = [propertiesField(), metadataField(), bindingsField(), elementsField(), extensionsField()];
|
|
37
|
+
return (0, _apiHeadlessCms.createPrivateModel)({
|
|
38
|
+
name: "Website Builder - Page",
|
|
39
|
+
modelId: PAGE_MODEL_ID,
|
|
40
|
+
titleFieldId: "properties.title",
|
|
41
|
+
authorization: {
|
|
42
|
+
// Disables base permission checks, but leaves FLP checks enabled.
|
|
43
|
+
permissions: false
|
|
44
|
+
},
|
|
45
|
+
fields
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
exports.createPageModel = createPageModel;
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=page.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_apiHeadlessCms","require","propertiesField","createModelField","label","type","metadataField","bindingsField","elementsField","exports","extensionsField","fieldId","settings","layout","fields","PAGE_MODEL_ID","createPageModel","createPrivateModel","name","modelId","titleFieldId","authorization","permissions"],"sources":["page.model.ts"],"sourcesContent":["import { createPrivateModel, createModelField } from \"@webiny/api-headless-cms\";\n\nconst propertiesField = () =>\n createModelField({\n label: \"Properties\",\n type: \"searchable-json\"\n });\n\nconst metadataField = () =>\n createModelField({\n label: \"Metadata\",\n type: \"json\"\n });\n\nconst bindingsField = () =>\n createModelField({\n label: \"Bindings\",\n type: \"json\"\n });\n\nexport const elementsField = () =>\n createModelField({\n label: \"Elements\",\n type: \"json\"\n });\n\nconst extensionsField = () =>\n createModelField({\n label: \"Extensions\",\n fieldId: \"extensions\",\n type: \"object\",\n settings: {\n layout: [],\n fields: []\n }\n });\n\nexport const PAGE_MODEL_ID = \"wbPage\";\n\nexport const createPageModel = () => {\n const fields = [\n propertiesField(),\n metadataField(),\n bindingsField(),\n elementsField(),\n extensionsField()\n ];\n\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 });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEA,MAAMC,eAAe,GAAGA,CAAA,KACpB,IAAAC,gCAAgB,EAAC;EACbC,KAAK,EAAE,YAAY;EACnBC,IAAI,EAAE;AACV,CAAC,CAAC;AAEN,MAAMC,aAAa,GAAGA,CAAA,KAClB,IAAAH,gCAAgB,EAAC;EACbC,KAAK,EAAE,UAAU;EACjBC,IAAI,EAAE;AACV,CAAC,CAAC;AAEN,MAAME,aAAa,GAAGA,CAAA,KAClB,IAAAJ,gCAAgB,EAAC;EACbC,KAAK,EAAE,UAAU;EACjBC,IAAI,EAAE;AACV,CAAC,CAAC;AAEC,MAAMG,aAAa,GAAGA,CAAA,KACzB,IAAAL,gCAAgB,EAAC;EACbC,KAAK,EAAE,UAAU;EACjBC,IAAI,EAAE;AACV,CAAC,CAAC;AAACI,OAAA,CAAAD,aAAA,GAAAA,aAAA;AAEP,MAAME,eAAe,GAAGA,CAAA,KACpB,IAAAP,gCAAgB,EAAC;EACbC,KAAK,EAAE,YAAY;EACnBO,OAAO,EAAE,YAAY;EACrBN,IAAI,EAAE,QAAQ;EACdO,QAAQ,EAAE;IACNC,MAAM,EAAE,EAAE;IACVC,MAAM,EAAE;EACZ;AACJ,CAAC,CAAC;AAEC,MAAMC,aAAa,GAAAN,OAAA,CAAAM,aAAA,GAAG,QAAQ;AAE9B,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACjC,MAAMF,MAAM,GAAG,CACXZ,eAAe,CAAC,CAAC,EACjBI,aAAa,CAAC,CAAC,EACfC,aAAa,CAAC,CAAC,EACfC,aAAa,CAAC,CAAC,EACfE,eAAe,CAAC,CAAC,CACpB;EAED,OAAO,IAAAO,kCAAkB,EAAC;IACtBC,IAAI,EAAE,wBAAwB;IAC9BC,OAAO,EAAEJ,aAAa;IACtBK,YAAY,EAAE,kBAAkB;IAChCC,aAAa,EAAE;MACX;MACAC,WAAW,EAAE;IACjB,CAAC;IACDR;EACJ,CAAC,CAAC;AACN,CAAC;AAACL,OAAA,CAAAO,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Plugin } from "@webiny/plugins";
|
|
2
|
+
import { CmsPrivateModelFull } from "@webiny/api-headless-cms";
|
|
3
|
+
import type { CmsModelField } from "@webiny/api-headless-cms/types";
|
|
4
|
+
declare class CmsModelFieldsModifier {
|
|
5
|
+
private fields;
|
|
6
|
+
constructor(fields: CmsModelField[]);
|
|
7
|
+
addField(field: CmsModelField): void;
|
|
8
|
+
}
|
|
9
|
+
interface CmsModelModifierCallableParams {
|
|
10
|
+
modifier: CmsModelFieldsModifier;
|
|
11
|
+
}
|
|
12
|
+
interface CmsModelModifierCallable {
|
|
13
|
+
(params: CmsModelModifierCallableParams): Promise<void> | void;
|
|
14
|
+
}
|
|
15
|
+
export declare class CmsModelModifierPlugin extends Plugin {
|
|
16
|
+
static type: string;
|
|
17
|
+
private readonly modelId;
|
|
18
|
+
private readonly cb;
|
|
19
|
+
constructor(modelId: string, cb: CmsModelModifierCallable);
|
|
20
|
+
modifyModel(model: CmsPrivateModelFull): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
export declare const createPageModelModifier: (cb: CmsModelModifierCallable) => CmsModelModifierPlugin;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createPageModelModifier = exports.CmsModelModifierPlugin = void 0;
|
|
7
|
+
var _plugins = require("@webiny/plugins");
|
|
8
|
+
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
9
|
+
var _page = require("./page.model");
|
|
10
|
+
class CmsModelFieldsModifier {
|
|
11
|
+
constructor(fields) {
|
|
12
|
+
this.fields = fields;
|
|
13
|
+
}
|
|
14
|
+
addField(field) {
|
|
15
|
+
this.fields.push({
|
|
16
|
+
...field,
|
|
17
|
+
storageId: `${field.type}@${field.id}`
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
class CmsModelModifierPlugin extends _plugins.Plugin {
|
|
22
|
+
static type = "wb-page.cms-model-modifier";
|
|
23
|
+
constructor(modelId, cb) {
|
|
24
|
+
super();
|
|
25
|
+
this.modelId = modelId;
|
|
26
|
+
this.cb = cb;
|
|
27
|
+
}
|
|
28
|
+
async modifyModel(model) {
|
|
29
|
+
if (model.modelId !== this.modelId) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
let extensionsField = model.fields.find(field => field.fieldId === "extensions");
|
|
33
|
+
if (!extensionsField) {
|
|
34
|
+
extensionsField = (0, _apiHeadlessCms.createModelField)({
|
|
35
|
+
label: "Extensions",
|
|
36
|
+
type: "object",
|
|
37
|
+
settings: {
|
|
38
|
+
layout: [],
|
|
39
|
+
fields: []
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
model.fields.push(extensionsField);
|
|
43
|
+
}
|
|
44
|
+
const modifier = new CmsModelFieldsModifier(extensionsField.settings.fields);
|
|
45
|
+
await this.cb({
|
|
46
|
+
modifier
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.CmsModelModifierPlugin = CmsModelModifierPlugin;
|
|
51
|
+
const createPageModelModifier = cb => {
|
|
52
|
+
return new CmsModelModifierPlugin(_page.PAGE_MODEL_ID, cb);
|
|
53
|
+
};
|
|
54
|
+
exports.createPageModelModifier = createPageModelModifier;
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=page.modelModifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_plugins","require","_apiHeadlessCms","_page","CmsModelFieldsModifier","constructor","fields","addField","field","push","storageId","type","id","CmsModelModifierPlugin","Plugin","modelId","cb","modifyModel","model","extensionsField","find","fieldId","createModelField","label","settings","layout","modifier","exports","createPageModelModifier","PAGE_MODEL_ID"],"sources":["page.modelModifier.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport { CmsPrivateModelFull, createModelField } from \"@webiny/api-headless-cms\";\nimport type { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { PAGE_MODEL_ID } from \"~/page/page.model\";\n\nclass CmsModelFieldsModifier {\n private fields: CmsModelField[];\n\n constructor(fields: CmsModelField[]) {\n this.fields = fields;\n }\n\n addField(field: CmsModelField) {\n this.fields.push({\n ...field,\n storageId: `${field.type}@${field.id}`\n });\n }\n}\n\ninterface CmsModelModifierCallableParams {\n modifier: CmsModelFieldsModifier;\n}\n\ninterface CmsModelModifierCallable {\n (params: CmsModelModifierCallableParams): Promise<void> | void;\n}\n\nexport class CmsModelModifierPlugin extends Plugin {\n public static override type = \"wb-page.cms-model-modifier\";\n private readonly modelId: string;\n private readonly cb: CmsModelModifierCallable;\n\n constructor(modelId: string, cb: CmsModelModifierCallable) {\n super();\n this.modelId = modelId;\n this.cb = cb;\n }\n\n async modifyModel(model: CmsPrivateModelFull): Promise<void> {\n if (model.modelId !== this.modelId) {\n return;\n }\n\n let extensionsField = model.fields.find(field => field.fieldId === \"extensions\");\n if (!extensionsField) {\n extensionsField = createModelField({\n label: \"Extensions\",\n type: \"object\",\n settings: {\n layout: [],\n fields: []\n }\n });\n model.fields.push(extensionsField);\n }\n\n const modifier = new CmsModelFieldsModifier(extensionsField.settings!.fields!);\n await this.cb({ modifier });\n }\n}\n\nexport const createPageModelModifier = (cb: CmsModelModifierCallable) => {\n return new CmsModelModifierPlugin(PAGE_MODEL_ID, cb);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AAEA,MAAMG,sBAAsB,CAAC;EAGzBC,WAAWA,CAACC,MAAuB,EAAE;IACjC,IAAI,CAACA,MAAM,GAAGA,MAAM;EACxB;EAEAC,QAAQA,CAACC,KAAoB,EAAE;IAC3B,IAAI,CAACF,MAAM,CAACG,IAAI,CAAC;MACb,GAAGD,KAAK;MACRE,SAAS,EAAE,GAAGF,KAAK,CAACG,IAAI,IAAIH,KAAK,CAACI,EAAE;IACxC,CAAC,CAAC;EACN;AACJ;AAUO,MAAMC,sBAAsB,SAASC,eAAM,CAAC;EAC/C,OAAuBH,IAAI,GAAG,4BAA4B;EAI1DN,WAAWA,CAACU,OAAe,EAAEC,EAA4B,EAAE;IACvD,KAAK,CAAC,CAAC;IACP,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,EAAE,GAAGA,EAAE;EAChB;EAEA,MAAMC,WAAWA,CAACC,KAA0B,EAAiB;IACzD,IAAIA,KAAK,CAACH,OAAO,KAAK,IAAI,CAACA,OAAO,EAAE;MAChC;IACJ;IAEA,IAAII,eAAe,GAAGD,KAAK,CAACZ,MAAM,CAACc,IAAI,CAACZ,KAAK,IAAIA,KAAK,CAACa,OAAO,KAAK,YAAY,CAAC;IAChF,IAAI,CAACF,eAAe,EAAE;MAClBA,eAAe,GAAG,IAAAG,gCAAgB,EAAC;QAC/BC,KAAK,EAAE,YAAY;QACnBZ,IAAI,EAAE,QAAQ;QACda,QAAQ,EAAE;UACNC,MAAM,EAAE,EAAE;UACVnB,MAAM,EAAE;QACZ;MACJ,CAAC,CAAC;MACFY,KAAK,CAACZ,MAAM,CAACG,IAAI,CAACU,eAAe,CAAC;IACtC;IAEA,MAAMO,QAAQ,GAAG,IAAItB,sBAAsB,CAACe,eAAe,CAACK,QAAQ,CAAElB,MAAO,CAAC;IAC9E,MAAM,IAAI,CAACU,EAAE,CAAC;MAAEU;IAAS,CAAC,CAAC;EAC/B;AACJ;AAACC,OAAA,CAAAd,sBAAA,GAAAA,sBAAA;AAEM,MAAMe,uBAAuB,GAAIZ,EAA4B,IAAK;EACrE,OAAO,IAAIH,sBAAsB,CAACgB,mBAAa,EAAEb,EAAE,CAAC;AACxD,CAAC;AAACW,OAAA,CAAAC,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import type { WbIdentity, WbListMeta, WbLocation } from "../types";
|
|
2
|
+
import { CmsEntryGetParams, CmsEntryListSort, CmsEntryListWhere } from "@webiny/api-headless-cms/types";
|
|
3
|
+
import type { Topic } from "@webiny/pubsub/types";
|
|
4
|
+
export interface WbPage {
|
|
5
|
+
id: string;
|
|
6
|
+
pageId: string;
|
|
7
|
+
wbyAco_location: WbLocation;
|
|
8
|
+
status: string;
|
|
9
|
+
version: number;
|
|
10
|
+
locked: boolean;
|
|
11
|
+
createdOn: string;
|
|
12
|
+
createdBy: WbIdentity;
|
|
13
|
+
savedOn: string;
|
|
14
|
+
savedBy: WbIdentity;
|
|
15
|
+
modifiedOn: string;
|
|
16
|
+
modifiedBy: WbIdentity;
|
|
17
|
+
tenant: string;
|
|
18
|
+
locale: string;
|
|
19
|
+
webinyVersion: string;
|
|
20
|
+
properties: Record<string, any>;
|
|
21
|
+
metadata: Record<string, any>;
|
|
22
|
+
bindings: Record<string, any>;
|
|
23
|
+
elements: Record<string, any>;
|
|
24
|
+
extensions?: Record<string, any>;
|
|
25
|
+
}
|
|
26
|
+
export interface ListWbPagesParams {
|
|
27
|
+
where: CmsEntryListWhere;
|
|
28
|
+
sort: CmsEntryListSort;
|
|
29
|
+
limit: number;
|
|
30
|
+
after: string | null;
|
|
31
|
+
search?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface GetWbPageParams {
|
|
34
|
+
id: string;
|
|
35
|
+
}
|
|
36
|
+
export type CreateWbPageData = Pick<WbPage, "properties" | "metadata" | "bindings" | "elements" | "wbyAco_location" | "extensions">;
|
|
37
|
+
export interface UpdateWbPageData {
|
|
38
|
+
location?: WbLocation;
|
|
39
|
+
properties?: Record<string, any>;
|
|
40
|
+
metadata?: Record<string, any>;
|
|
41
|
+
bindings?: Record<string, any>;
|
|
42
|
+
elements?: Record<string, any>;
|
|
43
|
+
}
|
|
44
|
+
export interface DeleteWbPageParams {
|
|
45
|
+
id: string;
|
|
46
|
+
}
|
|
47
|
+
export interface DuplicateWbPageParams {
|
|
48
|
+
id: string;
|
|
49
|
+
}
|
|
50
|
+
export interface PublishWbPageParams {
|
|
51
|
+
id: string;
|
|
52
|
+
}
|
|
53
|
+
export interface UnpublishWbPageParams {
|
|
54
|
+
id: string;
|
|
55
|
+
}
|
|
56
|
+
export interface MoveWbPageParams {
|
|
57
|
+
id: string;
|
|
58
|
+
folderId: string;
|
|
59
|
+
}
|
|
60
|
+
export interface CreateWbPageRevisionFromParams {
|
|
61
|
+
id: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* @category StorageOperations
|
|
65
|
+
* @category PagesStorageOperations
|
|
66
|
+
* @category PagesStorageOperationsParams
|
|
67
|
+
*/
|
|
68
|
+
export interface WbPagesStorageOperationsGetParams extends CmsEntryGetParams {
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @category StorageOperations
|
|
72
|
+
* @category PagesStorageOperations
|
|
73
|
+
* @category PagesStorageOperationsParams
|
|
74
|
+
*/
|
|
75
|
+
export interface WbPagesStorageOperationsCreateParams {
|
|
76
|
+
data: CreateWbPageData;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* @category StorageOperations
|
|
80
|
+
* @category PagesStorageOperations
|
|
81
|
+
* @category PagesStorageOperationsParams
|
|
82
|
+
*/
|
|
83
|
+
export interface WbPagesStorageOperationsUpdateParams {
|
|
84
|
+
id: string;
|
|
85
|
+
data: UpdateWbPageData;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @category StorageOperations
|
|
89
|
+
* @category PagesStorageOperations
|
|
90
|
+
* @category PagesStorageOperationsParams
|
|
91
|
+
*/
|
|
92
|
+
export type WbPagesStorageOperationsPublishParams = PublishWbPageParams;
|
|
93
|
+
/**
|
|
94
|
+
* @category StorageOperations
|
|
95
|
+
* @category PagesStorageOperations
|
|
96
|
+
* @category PagesStorageOperationsParams
|
|
97
|
+
*/
|
|
98
|
+
export type WbPagesStorageOperationsUnpublishParams = UnpublishWbPageParams;
|
|
99
|
+
/**
|
|
100
|
+
* @category StorageOperations
|
|
101
|
+
* @category PagesStorageOperations
|
|
102
|
+
* @category PagesStorageOperationsParams
|
|
103
|
+
*/
|
|
104
|
+
export type WbPagesStorageOperationsMoveParams = MoveWbPageParams;
|
|
105
|
+
/**
|
|
106
|
+
* @category StorageOperations
|
|
107
|
+
* @category PagesStorageOperations
|
|
108
|
+
* @category PagesStorageOperationsParams
|
|
109
|
+
*/
|
|
110
|
+
export type WbPagesStorageOperationsCreateRevisionFromParams = CreateWbPageRevisionFromParams;
|
|
111
|
+
/**
|
|
112
|
+
* @category StorageOperations
|
|
113
|
+
* @category PagesStorageOperations
|
|
114
|
+
* @category PagesStorageOperationsParams
|
|
115
|
+
*/
|
|
116
|
+
export interface WbPagesStorageOperationsDeleteParams {
|
|
117
|
+
id: string;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* @category StorageOperations
|
|
121
|
+
* @category PagesStorageOperations
|
|
122
|
+
* @category PagesStorageOperationsParams
|
|
123
|
+
*/
|
|
124
|
+
export interface WbPagesStorageOperationsListParams {
|
|
125
|
+
where: CmsEntryListWhere;
|
|
126
|
+
sort: CmsEntryListSort;
|
|
127
|
+
limit: number;
|
|
128
|
+
after: string | null;
|
|
129
|
+
search?: string;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* @category StorageOperations
|
|
133
|
+
* @category PagesStorageOperations
|
|
134
|
+
* @category PagesStorageOperationsResponse
|
|
135
|
+
*/
|
|
136
|
+
export type WbPagesStorageOperationsListResponse = [WbPage[], WbListMeta];
|
|
137
|
+
export interface OnWebsiteBuilderPageBeforeCreateTopicParams {
|
|
138
|
+
input: CreateWbPageData;
|
|
139
|
+
}
|
|
140
|
+
export interface OnWebsiteBuilderPageAfterCreateTopicParams {
|
|
141
|
+
page: WbPage;
|
|
142
|
+
}
|
|
143
|
+
export interface OnWebsiteBuilderPageBeforeUpdateTopicParams {
|
|
144
|
+
original: WbPage;
|
|
145
|
+
input: Record<string, any>;
|
|
146
|
+
}
|
|
147
|
+
export interface OnWebsiteBuilderPageAfterUpdateTopicParams {
|
|
148
|
+
original: WbPage;
|
|
149
|
+
page: WbPage;
|
|
150
|
+
input: Record<string, any>;
|
|
151
|
+
}
|
|
152
|
+
export interface OnWebsiteBuilderPageBeforePublishTopicParams {
|
|
153
|
+
page: WbPage;
|
|
154
|
+
}
|
|
155
|
+
export interface OnWebsiteBuilderPageAfterPublishTopicParams {
|
|
156
|
+
page: WbPage;
|
|
157
|
+
}
|
|
158
|
+
export interface OnWebsiteBuilderPageBeforeUnpublishTopicParams {
|
|
159
|
+
page: WbPage;
|
|
160
|
+
}
|
|
161
|
+
export interface OnWebsiteBuilderPageAfterUnpublishTopicParams {
|
|
162
|
+
page: WbPage;
|
|
163
|
+
}
|
|
164
|
+
export interface OnWebsiteBuilderPageBeforeDuplicateTopicParams {
|
|
165
|
+
original: WbPage;
|
|
166
|
+
}
|
|
167
|
+
export interface OnWebsiteBuilderPageAfterDuplicateTopicParams {
|
|
168
|
+
original: WbPage;
|
|
169
|
+
page: WbPage;
|
|
170
|
+
}
|
|
171
|
+
export interface OnWebsiteBuilderPageBeforeCreateRevisionFromTopicParams {
|
|
172
|
+
original: WbPage;
|
|
173
|
+
}
|
|
174
|
+
export interface OnWebsiteBuilderPageAfterCreateRevisionFromTopicParams {
|
|
175
|
+
original: WbPage;
|
|
176
|
+
page: WbPage;
|
|
177
|
+
}
|
|
178
|
+
export interface OnWebsiteBuilderPageBeforeMoveTopicParams {
|
|
179
|
+
page: WbPage;
|
|
180
|
+
folderId: string;
|
|
181
|
+
}
|
|
182
|
+
export interface OnWebsiteBuilderPageAfterMoveTopicParams {
|
|
183
|
+
page: WbPage;
|
|
184
|
+
folderId: string;
|
|
185
|
+
}
|
|
186
|
+
export interface OnWebsiteBuilderPageBeforeDeleteTopicParams {
|
|
187
|
+
page: WbPage;
|
|
188
|
+
}
|
|
189
|
+
export interface OnWebsiteBuilderPageAfterDeleteTopicParams {
|
|
190
|
+
page: WbPage;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* @category StorageOperations
|
|
194
|
+
* @category PagesStorageOperations
|
|
195
|
+
*/
|
|
196
|
+
export interface WbPagesStorageOperations {
|
|
197
|
+
/**
|
|
198
|
+
* Get a published page using a filter.
|
|
199
|
+
*/
|
|
200
|
+
get: (params: WbPagesStorageOperationsGetParams) => Promise<WbPage | null>;
|
|
201
|
+
/**
|
|
202
|
+
* Get a single page by ID (can be draft or published).
|
|
203
|
+
*/
|
|
204
|
+
getById: (id: string) => Promise<WbPage | null>;
|
|
205
|
+
/**
|
|
206
|
+
* Get all revisions for the given page.
|
|
207
|
+
*/
|
|
208
|
+
getRevisions: (pageId: string) => Promise<WbPage[]>;
|
|
209
|
+
/**
|
|
210
|
+
* Get a list of pages filtered by given parameters.
|
|
211
|
+
*/
|
|
212
|
+
list: (params: WbPagesStorageOperationsListParams) => Promise<WbPagesStorageOperationsListResponse>;
|
|
213
|
+
/**
|
|
214
|
+
* Insert the page data into the database.
|
|
215
|
+
*/
|
|
216
|
+
create: (params: WbPagesStorageOperationsCreateParams) => Promise<WbPage>;
|
|
217
|
+
/**
|
|
218
|
+
* Update the page data in the database.
|
|
219
|
+
*/
|
|
220
|
+
update: (params: WbPagesStorageOperationsUpdateParams) => Promise<WbPage>;
|
|
221
|
+
/**
|
|
222
|
+
* Publish the page and store the information in the database.
|
|
223
|
+
*/
|
|
224
|
+
publish: (params: WbPagesStorageOperationsPublishParams) => Promise<WbPage>;
|
|
225
|
+
/**
|
|
226
|
+
* Unpublish the page and store the information in the database.
|
|
227
|
+
*/
|
|
228
|
+
unpublish: (params: WbPagesStorageOperationsUnpublishParams) => Promise<WbPage>;
|
|
229
|
+
/**
|
|
230
|
+
* Move the page into a folder and store the information in the database.
|
|
231
|
+
*/
|
|
232
|
+
move: (params: MoveWbPageParams) => Promise<void>;
|
|
233
|
+
/**
|
|
234
|
+
* Create a page revision and store the information in the database.
|
|
235
|
+
*/
|
|
236
|
+
createRevisionFrom: (params: CreateWbPageRevisionFromParams) => Promise<WbPage>;
|
|
237
|
+
/**
|
|
238
|
+
* Delete the page from the database.
|
|
239
|
+
*/
|
|
240
|
+
delete: (params: WbPagesStorageOperationsDeleteParams) => Promise<void>;
|
|
241
|
+
}
|
|
242
|
+
export interface WbPageCrud {
|
|
243
|
+
/**
|
|
244
|
+
* Get a single page with given ID from the storage.
|
|
245
|
+
*/
|
|
246
|
+
getById(id: string): Promise<WbPage | null>;
|
|
247
|
+
/**
|
|
248
|
+
* Get a single published page by given path.
|
|
249
|
+
*/
|
|
250
|
+
getByPath(path: string): Promise<WbPage | null>;
|
|
251
|
+
/**
|
|
252
|
+
* Get information about page revisions.
|
|
253
|
+
*/
|
|
254
|
+
getPageRevisions(pageID: string): Promise<WbPage[]>;
|
|
255
|
+
/**
|
|
256
|
+
* Get a list of pages filtered by given parameters.
|
|
257
|
+
*/
|
|
258
|
+
list(params: ListWbPagesParams): Promise<[WbPage[], WbListMeta]>;
|
|
259
|
+
/**
|
|
260
|
+
* Create a new page in the storage.
|
|
261
|
+
*/
|
|
262
|
+
create(data: CreateWbPageData): Promise<WbPage>;
|
|
263
|
+
/**
|
|
264
|
+
* Update an existing page in the storage.
|
|
265
|
+
*/
|
|
266
|
+
update(id: string, data: UpdateWbPageData): Promise<WbPage>;
|
|
267
|
+
/**
|
|
268
|
+
* Duplicate a page and store it as a new page in the storage.
|
|
269
|
+
*/
|
|
270
|
+
duplicate(params: DuplicateWbPageParams): Promise<WbPage>;
|
|
271
|
+
/**
|
|
272
|
+
* Publish a page.
|
|
273
|
+
*/
|
|
274
|
+
publish(params: PublishWbPageParams): Promise<WbPage>;
|
|
275
|
+
/**
|
|
276
|
+
* Unpublish a page.
|
|
277
|
+
*/
|
|
278
|
+
unpublish(params: UnpublishWbPageParams): Promise<WbPage>;
|
|
279
|
+
/**
|
|
280
|
+
* Move a page into a folder
|
|
281
|
+
*/
|
|
282
|
+
move(params: MoveWbPageParams): Promise<void>;
|
|
283
|
+
/**
|
|
284
|
+
* Create a page revision from an id.
|
|
285
|
+
*/
|
|
286
|
+
createRevisionFrom(params: CreateWbPageRevisionFromParams): Promise<WbPage>;
|
|
287
|
+
/**
|
|
288
|
+
* Delete a page from the storage.
|
|
289
|
+
*/
|
|
290
|
+
delete(params: DeleteWbPageParams): Promise<void>;
|
|
291
|
+
onWebsiteBuilderPageBeforeCreate: Topic<OnWebsiteBuilderPageBeforeCreateTopicParams>;
|
|
292
|
+
onWebsiteBuilderPageAfterCreate: Topic<OnWebsiteBuilderPageAfterCreateTopicParams>;
|
|
293
|
+
onWebsiteBuilderPageBeforeUpdate: Topic<OnWebsiteBuilderPageBeforeUpdateTopicParams>;
|
|
294
|
+
onWebsiteBuilderPageAfterUpdate: Topic<OnWebsiteBuilderPageAfterUpdateTopicParams>;
|
|
295
|
+
onWebsiteBuilderPageBeforePublish: Topic<OnWebsiteBuilderPageBeforePublishTopicParams>;
|
|
296
|
+
onWebsiteBuilderPageAfterPublish: Topic<OnWebsiteBuilderPageAfterPublishTopicParams>;
|
|
297
|
+
onWebsiteBuilderPageBeforeUnpublish: Topic<OnWebsiteBuilderPageBeforeUnpublishTopicParams>;
|
|
298
|
+
onWebsiteBuilderPageAfterUnpublish: Topic<OnWebsiteBuilderPageAfterUnpublishTopicParams>;
|
|
299
|
+
onWebsiteBuilderPageBeforeDuplicate: Topic<OnWebsiteBuilderPageBeforeDuplicateTopicParams>;
|
|
300
|
+
onWebsiteBuilderPageAfterDuplicate: Topic<OnWebsiteBuilderPageAfterDuplicateTopicParams>;
|
|
301
|
+
onWebsiteBuilderPageBeforeMove: Topic<OnWebsiteBuilderPageBeforeMoveTopicParams>;
|
|
302
|
+
onWebsiteBuilderPageAfterMove: Topic<OnWebsiteBuilderPageAfterMoveTopicParams>;
|
|
303
|
+
onWebsiteBuilderPageBeforeCreateRevisionFrom: Topic<OnWebsiteBuilderPageBeforeCreateRevisionFromTopicParams>;
|
|
304
|
+
onWebsiteBuilderPageAfterCreateRevisionFrom: Topic<OnWebsiteBuilderPageAfterCreateRevisionFromTopicParams>;
|
|
305
|
+
onWebsiteBuilderPageBeforeDelete: Topic<OnWebsiteBuilderPageBeforeDeleteTopicParams>;
|
|
306
|
+
onWebsiteBuilderPageAfterDelete: Topic<OnWebsiteBuilderPageAfterDeleteTopicParams>;
|
|
307
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["page.types.ts"],"sourcesContent":["import type { WbIdentity, WbListMeta, WbLocation } from \"~/types\";\nimport {\n CmsEntryGetParams,\n CmsEntryListSort,\n CmsEntryListWhere\n} from \"@webiny/api-headless-cms/types\";\nimport type { Topic } from \"@webiny/pubsub/types\";\n\nexport interface WbPage {\n id: string;\n pageId: string;\n wbyAco_location: WbLocation;\n status: string;\n version: number;\n locked: boolean;\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 webinyVersion: string;\n\n properties: Record<string, any>;\n metadata: Record<string, any>;\n bindings: Record<string, any>;\n elements: Record<string, any>;\n extensions?: Record<string, any>;\n}\n\nexport interface ListWbPagesParams {\n where: CmsEntryListWhere;\n sort: CmsEntryListSort;\n limit: number;\n after: string | null;\n search?: string;\n}\n\nexport interface GetWbPageParams {\n id: string;\n}\n\nexport type CreateWbPageData = Pick<\n WbPage,\n \"properties\" | \"metadata\" | \"bindings\" | \"elements\" | \"wbyAco_location\" | \"extensions\"\n>;\n\nexport interface UpdateWbPageData {\n location?: WbLocation;\n properties?: Record<string, any>;\n metadata?: Record<string, any>;\n bindings?: Record<string, any>;\n elements?: Record<string, any>;\n}\n\nexport interface DeleteWbPageParams {\n id: string;\n}\n\nexport interface DuplicateWbPageParams {\n id: string;\n}\n\nexport interface PublishWbPageParams {\n id: string;\n}\n\nexport interface UnpublishWbPageParams {\n id: string;\n}\n\nexport interface MoveWbPageParams {\n id: string;\n folderId: string;\n}\n\nexport interface CreateWbPageRevisionFromParams {\n id: string;\n}\n\n/**\n * @category StorageOperations\n * @category PagesStorageOperations\n * @category PagesStorageOperationsParams\n */\nexport interface WbPagesStorageOperationsGetParams extends CmsEntryGetParams {}\n\n/**\n * @category StorageOperations\n * @category PagesStorageOperations\n * @category PagesStorageOperationsParams\n */\nexport interface WbPagesStorageOperationsCreateParams {\n data: CreateWbPageData;\n}\n\n/**\n * @category StorageOperations\n * @category PagesStorageOperations\n * @category PagesStorageOperationsParams\n */\nexport interface WbPagesStorageOperationsUpdateParams {\n id: string;\n data: UpdateWbPageData;\n}\n\n/**\n * @category StorageOperations\n * @category PagesStorageOperations\n * @category PagesStorageOperationsParams\n */\nexport type WbPagesStorageOperationsPublishParams = PublishWbPageParams;\n\n/**\n * @category StorageOperations\n * @category PagesStorageOperations\n * @category PagesStorageOperationsParams\n */\nexport type WbPagesStorageOperationsUnpublishParams = UnpublishWbPageParams;\n\n/**\n * @category StorageOperations\n * @category PagesStorageOperations\n * @category PagesStorageOperationsParams\n */\nexport type WbPagesStorageOperationsMoveParams = MoveWbPageParams;\n\n/**\n * @category StorageOperations\n * @category PagesStorageOperations\n * @category PagesStorageOperationsParams\n */\nexport type WbPagesStorageOperationsCreateRevisionFromParams = CreateWbPageRevisionFromParams;\n\n/**\n * @category StorageOperations\n * @category PagesStorageOperations\n * @category PagesStorageOperationsParams\n */\nexport interface WbPagesStorageOperationsDeleteParams {\n id: string;\n}\n\n/**\n * @category StorageOperations\n * @category PagesStorageOperations\n * @category PagesStorageOperationsParams\n */\nexport interface WbPagesStorageOperationsListParams {\n where: CmsEntryListWhere;\n sort: CmsEntryListSort;\n limit: number;\n after: string | null;\n search?: string;\n}\n\n/**\n * @category StorageOperations\n * @category PagesStorageOperations\n * @category PagesStorageOperationsResponse\n */\nexport type WbPagesStorageOperationsListResponse = [WbPage[], WbListMeta];\n\nexport interface OnWebsiteBuilderPageBeforeCreateTopicParams {\n input: CreateWbPageData;\n}\n\nexport interface OnWebsiteBuilderPageAfterCreateTopicParams {\n page: WbPage;\n}\n\nexport interface OnWebsiteBuilderPageBeforeUpdateTopicParams {\n original: WbPage;\n input: Record<string, any>;\n}\n\nexport interface OnWebsiteBuilderPageAfterUpdateTopicParams {\n original: WbPage;\n page: WbPage;\n input: Record<string, any>;\n}\n\nexport interface OnWebsiteBuilderPageBeforePublishTopicParams {\n page: WbPage;\n}\n\nexport interface OnWebsiteBuilderPageAfterPublishTopicParams {\n page: WbPage;\n}\n\nexport interface OnWebsiteBuilderPageBeforeUnpublishTopicParams {\n page: WbPage;\n}\n\nexport interface OnWebsiteBuilderPageAfterUnpublishTopicParams {\n page: WbPage;\n}\n\nexport interface OnWebsiteBuilderPageBeforeDuplicateTopicParams {\n original: WbPage;\n}\n\nexport interface OnWebsiteBuilderPageAfterDuplicateTopicParams {\n original: WbPage;\n page: WbPage;\n}\n\nexport interface OnWebsiteBuilderPageBeforeCreateRevisionFromTopicParams {\n original: WbPage;\n}\n\nexport interface OnWebsiteBuilderPageAfterCreateRevisionFromTopicParams {\n original: WbPage;\n page: WbPage;\n}\n\nexport interface OnWebsiteBuilderPageBeforeMoveTopicParams {\n page: WbPage;\n folderId: string;\n}\n\nexport interface OnWebsiteBuilderPageAfterMoveTopicParams {\n page: WbPage;\n folderId: string;\n}\n\nexport interface OnWebsiteBuilderPageBeforeDeleteTopicParams {\n page: WbPage;\n}\n\nexport interface OnWebsiteBuilderPageAfterDeleteTopicParams {\n page: WbPage;\n}\n\n/**\n * @category StorageOperations\n * @category PagesStorageOperations\n */\nexport interface WbPagesStorageOperations {\n /**\n * Get a published page using a filter.\n */\n get: (params: WbPagesStorageOperationsGetParams) => Promise<WbPage | null>;\n /**\n * Get a single page by ID (can be draft or published).\n */\n getById: (id: string) => Promise<WbPage | null>;\n /**\n * Get all revisions for the given page.\n */\n getRevisions: (pageId: string) => Promise<WbPage[]>;\n /**\n * Get a list of pages filtered by given parameters.\n */\n list: (\n params: WbPagesStorageOperationsListParams\n ) => Promise<WbPagesStorageOperationsListResponse>;\n /**\n * Insert the page data into the database.\n */\n create: (params: WbPagesStorageOperationsCreateParams) => Promise<WbPage>;\n /**\n * Update the page data in the database.\n */\n update: (params: WbPagesStorageOperationsUpdateParams) => Promise<WbPage>;\n /**\n * Publish the page and store the information in the database.\n */\n publish: (params: WbPagesStorageOperationsPublishParams) => Promise<WbPage>;\n /**\n * Unpublish the page and store the information in the database.\n */\n unpublish: (params: WbPagesStorageOperationsUnpublishParams) => Promise<WbPage>;\n /**\n * Move the page into a folder and store the information in the database.\n */\n move: (params: MoveWbPageParams) => Promise<void>;\n /**\n * Create a page revision and store the information in the database.\n */\n createRevisionFrom: (params: CreateWbPageRevisionFromParams) => Promise<WbPage>;\n /**\n * Delete the page from the database.\n */\n delete: (params: WbPagesStorageOperationsDeleteParams) => Promise<void>;\n}\n\nexport interface WbPageCrud {\n /**\n * Get a single page with given ID from the storage.\n */\n getById(id: string): Promise<WbPage | null>;\n /**\n * Get a single published page by given path.\n */\n getByPath(path: string): Promise<WbPage | null>;\n\n /**\n * Get information about page revisions.\n */\n getPageRevisions(pageID: string): Promise<WbPage[]>;\n /**\n * Get a list of pages filtered by given parameters.\n */\n list(params: ListWbPagesParams): Promise<[WbPage[], WbListMeta]>;\n /**\n * Create a new page in the storage.\n */\n create(data: CreateWbPageData): Promise<WbPage>;\n /**\n * Update an existing page in the storage.\n */\n update(id: string, data: UpdateWbPageData): Promise<WbPage>;\n /**\n * Duplicate a page and store it as a new page in the storage.\n */\n duplicate(params: DuplicateWbPageParams): Promise<WbPage>;\n /**\n * Publish a page.\n */\n publish(params: PublishWbPageParams): Promise<WbPage>;\n /**\n * Unpublish a page.\n */\n unpublish(params: UnpublishWbPageParams): Promise<WbPage>;\n /**\n * Move a page into a folder\n */\n move(params: MoveWbPageParams): Promise<void>;\n /**\n * Create a page revision from an id.\n */\n createRevisionFrom(params: CreateWbPageRevisionFromParams): Promise<WbPage>;\n /**\n * Delete a page from the storage.\n */\n delete(params: DeleteWbPageParams): Promise<void>;\n\n onWebsiteBuilderPageBeforeCreate: Topic<OnWebsiteBuilderPageBeforeCreateTopicParams>;\n onWebsiteBuilderPageAfterCreate: Topic<OnWebsiteBuilderPageAfterCreateTopicParams>;\n onWebsiteBuilderPageBeforeUpdate: Topic<OnWebsiteBuilderPageBeforeUpdateTopicParams>;\n onWebsiteBuilderPageAfterUpdate: Topic<OnWebsiteBuilderPageAfterUpdateTopicParams>;\n onWebsiteBuilderPageBeforePublish: Topic<OnWebsiteBuilderPageBeforePublishTopicParams>;\n onWebsiteBuilderPageAfterPublish: Topic<OnWebsiteBuilderPageAfterPublishTopicParams>;\n onWebsiteBuilderPageBeforeUnpublish: Topic<OnWebsiteBuilderPageBeforeUnpublishTopicParams>;\n onWebsiteBuilderPageAfterUnpublish: Topic<OnWebsiteBuilderPageAfterUnpublishTopicParams>;\n onWebsiteBuilderPageBeforeDuplicate: Topic<OnWebsiteBuilderPageBeforeDuplicateTopicParams>;\n onWebsiteBuilderPageAfterDuplicate: Topic<OnWebsiteBuilderPageAfterDuplicateTopicParams>;\n onWebsiteBuilderPageBeforeMove: Topic<OnWebsiteBuilderPageBeforeMoveTopicParams>;\n onWebsiteBuilderPageAfterMove: Topic<OnWebsiteBuilderPageAfterMoveTopicParams>;\n onWebsiteBuilderPageBeforeCreateRevisionFrom: Topic<OnWebsiteBuilderPageBeforeCreateRevisionFromTopicParams>;\n onWebsiteBuilderPageAfterCreateRevisionFrom: Topic<OnWebsiteBuilderPageAfterCreateRevisionFromTopicParams>;\n onWebsiteBuilderPageBeforeDelete: Topic<OnWebsiteBuilderPageBeforeDeleteTopicParams>;\n onWebsiteBuilderPageAfterDelete: Topic<OnWebsiteBuilderPageAfterDeleteTopicParams>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ICreatePage } from "./ICreatePage";
|
|
2
|
+
import type { CreateWbPageData, WbPagesStorageOperations } from "../../page.types";
|
|
3
|
+
export declare class CreatePage implements ICreatePage {
|
|
4
|
+
private readonly createOperation;
|
|
5
|
+
constructor(createOperation: WbPagesStorageOperations["create"]);
|
|
6
|
+
execute(data: CreateWbPageData): Promise<import("../../page.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 \"~/page/page.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 "../../page.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("../../page.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.onWebsiteBuilderPageBeforeCreate.publish({
|
|
14
|
+
input: data
|
|
15
|
+
});
|
|
16
|
+
const page = await this.decoretee.execute(data);
|
|
17
|
+
await this.topics.onWebsiteBuilderPageAfterCreate.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","onWebsiteBuilderPageBeforeCreate","publish","input","page","onWebsiteBuilderPageAfterCreate","exports"],"sources":["CreatePageWithEvents.ts"],"sourcesContent":["import type { ICreatePage } from \"./ICreatePage\";\nimport type { CreatePageUseCasesTopics } from \"./index\";\nimport type { CreateWbPageData } from \"~/page/page.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.onWebsiteBuilderPageBeforeCreate.publish({ input: data });\n const page = await this.decoretee.execute(data);\n await this.topics.onWebsiteBuilderPageAfterCreate.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,gCAAgC,CAACC,OAAO,CAAC;MAAEC,KAAK,EAAEH;IAAK,CAAC,CAAC;IAC3E,MAAMI,IAAI,GAAG,MAAM,IAAI,CAACN,SAAS,CAACC,OAAO,CAACC,IAAI,CAAC;IAC/C,MAAM,IAAI,CAACH,MAAM,CAACQ,+BAA+B,CAACH,OAAO,CAAC;MAAEE;IAAK,CAAC,CAAC;IACnE,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 \"~/page/page.types\";\n\nexport interface ICreatePage {\n execute: (data: CreateWbPageData) => Promise<WbPage>;\n}\n"],"mappings":"","ignoreList":[]}
|