@webiny/api-website-builder 6.0.0-alpha.2 → 6.0.0-alpha.4
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/context/WebsiteBuilder.d.ts +2 -0
- package/context/WebsiteBuilder.js +30 -0
- package/context/WebsiteBuilder.js.map +1 -1
- package/context/redirects/redirects.context.js +2 -2
- package/context/redirects/redirects.context.js.map +1 -1
- package/context/types.d.ts +2 -1
- package/context/types.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache.d.ts +7 -0
- package/features/redirects/InvalidateRedirectsCache.js +24 -0
- package/features/redirects/InvalidateRedirectsCache.js.map +1 -0
- package/features/redirects/index.d.ts +1 -0
- package/features/redirects/index.js +11 -0
- package/features/redirects/index.js.map +1 -1
- package/graphql/redirects/redirects.gql.js +0 -18
- package/graphql/redirects/redirects.gql.js.map +1 -1
- package/graphql/redirects/redirects.typeDefs.js +0 -14
- package/graphql/redirects/redirects.typeDefs.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +23 -22
- package/{graphql/redirects/ActiveRedirectGqlDto.d.ts → rest/ActiveRedirectDto.d.ts} +1 -1
- package/{graphql/redirects/ActiveRedirectGqlDto.js → rest/ActiveRedirectDto.js} +1 -1
- package/rest/ActiveRedirectDto.js.map +1 -0
- package/rest/ActiveRedirectRestMapper.d.ts +5 -0
- package/{graphql/redirects/ActiveRedirectGqlMapper.js → rest/ActiveRedirectRestMapper.js} +4 -4
- package/rest/ActiveRedirectRestMapper.js.map +1 -0
- package/rest/getRedirects.d.ts +2 -0
- package/rest/getRedirects.js +38 -0
- package/rest/getRedirects.js.map +1 -0
- package/graphql/redirects/ActiveRedirectGqlDto.js.map +0 -1
- package/graphql/redirects/ActiveRedirectGqlMapper.d.ts +0 -5
- package/graphql/redirects/ActiveRedirectGqlMapper.js.map +0 -1
|
@@ -7,6 +7,8 @@ export declare class WebsiteBuilder {
|
|
|
7
7
|
private redirectsContext;
|
|
8
8
|
private constructor();
|
|
9
9
|
private init;
|
|
10
|
+
private invalidateCacheOnRedirectEvents;
|
|
11
|
+
private invalidateCache;
|
|
10
12
|
get pages(): WbPageCrud;
|
|
11
13
|
get redirects(): WbRedirectCrud;
|
|
12
14
|
static create(context: WebsiteBuilderContext): Promise<WebsiteBuilder>;
|
|
@@ -7,6 +7,7 @@ exports.WebsiteBuilder = void 0;
|
|
|
7
7
|
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
8
8
|
var _pages = require("./pages/pages.context");
|
|
9
9
|
var _redirects = require("./redirects/redirects.context");
|
|
10
|
+
var _redirects2 = require("../features/redirects");
|
|
10
11
|
class WebsiteBuilder {
|
|
11
12
|
constructor(context) {
|
|
12
13
|
this.context = context;
|
|
@@ -14,6 +15,35 @@ class WebsiteBuilder {
|
|
|
14
15
|
async init() {
|
|
15
16
|
this.pagesContext = await _pages.PagesContext.create(this.context);
|
|
16
17
|
this.redirectsContext = await _redirects.RedirectsContext.create(this.context);
|
|
18
|
+
this.invalidateCacheOnRedirectEvents();
|
|
19
|
+
}
|
|
20
|
+
invalidateCacheOnRedirectEvents() {
|
|
21
|
+
this.redirects.onRedirectAfterCreate.subscribe(async ({
|
|
22
|
+
redirect
|
|
23
|
+
}) => {
|
|
24
|
+
if (redirect.isEnabled) {
|
|
25
|
+
await this.invalidateCache();
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
this.redirects.onRedirectAfterUpdate.subscribe(async ({
|
|
29
|
+
redirect,
|
|
30
|
+
original
|
|
31
|
+
}) => {
|
|
32
|
+
if (redirect.redirectFrom !== original.redirectFrom || redirect.redirectTo !== original.redirectTo || redirect.isEnabled !== original.isEnabled) {
|
|
33
|
+
await this.invalidateCache();
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
this.redirects.onRedirectAfterDelete.subscribe(async ({
|
|
37
|
+
redirect
|
|
38
|
+
}) => {
|
|
39
|
+
if (redirect.isEnabled) {
|
|
40
|
+
await this.invalidateCache();
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
async invalidateCache() {
|
|
45
|
+
const invalidateRedirectsCache = new _redirects2.InvalidateRedirectsCache(this.context.tasks);
|
|
46
|
+
await invalidateRedirectsCache.execute();
|
|
17
47
|
}
|
|
18
48
|
get pages() {
|
|
19
49
|
return this.pagesContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_apiHeadlessCms","require","_pages","_redirects","WebsiteBuilder","constructor","context","init","pagesContext","PagesContext","create","redirectsContext","RedirectsContext","
|
|
1
|
+
{"version":3,"names":["_apiHeadlessCms","require","_pages","_redirects","_redirects2","WebsiteBuilder","constructor","context","init","pagesContext","PagesContext","create","redirectsContext","RedirectsContext","invalidateCacheOnRedirectEvents","redirects","onRedirectAfterCreate","subscribe","redirect","isEnabled","invalidateCache","onRedirectAfterUpdate","original","redirectFrom","redirectTo","onRedirectAfterDelete","invalidateRedirectsCache","InvalidateRedirectsCache","tasks","execute","pages","websiteBuilder","isHeadlessCmsReady","exports"],"sources":["WebsiteBuilder.ts"],"sourcesContent":["import { isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport type { WebsiteBuilderContext } from \"~/context/types\";\nimport type { WbPageCrud } from \"./pages/pages.types\";\nimport type { WbRedirectCrud } from \"./redirects/redirects.types\";\nimport { PagesContext } from \"./pages/pages.context\";\nimport { RedirectsContext } from \"~/context/redirects/redirects.context\";\nimport { InvalidateRedirectsCache } from \"~/features/redirects\";\n\nexport class WebsiteBuilder {\n private readonly context: WebsiteBuilderContext;\n private pagesContext: WbPageCrud | undefined;\n private redirectsContext: WbRedirectCrud | undefined;\n\n private constructor(context: WebsiteBuilderContext) {\n this.context = context;\n }\n\n private async init() {\n this.pagesContext = await PagesContext.create(this.context);\n this.redirectsContext = await RedirectsContext.create(this.context);\n this.invalidateCacheOnRedirectEvents();\n }\n\n private invalidateCacheOnRedirectEvents() {\n this.redirects.onRedirectAfterCreate.subscribe(async ({ redirect }) => {\n if (redirect.isEnabled) {\n await this.invalidateCache();\n }\n });\n\n this.redirects.onRedirectAfterUpdate.subscribe(async ({ redirect, original }) => {\n if (\n redirect.redirectFrom !== original.redirectFrom ||\n redirect.redirectTo !== original.redirectTo ||\n redirect.isEnabled !== original.isEnabled\n ) {\n await this.invalidateCache();\n }\n });\n\n this.redirects.onRedirectAfterDelete.subscribe(async ({ redirect }) => {\n if (redirect.isEnabled) {\n await this.invalidateCache();\n }\n });\n }\n\n private async invalidateCache() {\n const invalidateRedirectsCache = new InvalidateRedirectsCache(this.context.tasks);\n await invalidateRedirectsCache.execute();\n }\n\n get pages() {\n return this.pagesContext!;\n }\n\n get redirects() {\n return this.redirectsContext!;\n }\n\n static async create(context: WebsiteBuilderContext): Promise<WebsiteBuilder> {\n const websiteBuilder = new WebsiteBuilder(context);\n\n if (!(await isHeadlessCmsReady(context))) {\n return websiteBuilder;\n }\n\n await websiteBuilder.init();\n return websiteBuilder;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAEO,MAAMI,cAAc,CAAC;EAKhBC,WAAWA,CAACC,OAA8B,EAAE;IAChD,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAcC,IAAIA,CAAA,EAAG;IACjB,IAAI,CAACC,YAAY,GAAG,MAAMC,mBAAY,CAACC,MAAM,CAAC,IAAI,CAACJ,OAAO,CAAC;IAC3D,IAAI,CAACK,gBAAgB,GAAG,MAAMC,2BAAgB,CAACF,MAAM,CAAC,IAAI,CAACJ,OAAO,CAAC;IACnE,IAAI,CAACO,+BAA+B,CAAC,CAAC;EAC1C;EAEQA,+BAA+BA,CAAA,EAAG;IACtC,IAAI,CAACC,SAAS,CAACC,qBAAqB,CAACC,SAAS,CAAC,OAAO;MAAEC;IAAS,CAAC,KAAK;MACnE,IAAIA,QAAQ,CAACC,SAAS,EAAE;QACpB,MAAM,IAAI,CAACC,eAAe,CAAC,CAAC;MAChC;IACJ,CAAC,CAAC;IAEF,IAAI,CAACL,SAAS,CAACM,qBAAqB,CAACJ,SAAS,CAAC,OAAO;MAAEC,QAAQ;MAAEI;IAAS,CAAC,KAAK;MAC7E,IACIJ,QAAQ,CAACK,YAAY,KAAKD,QAAQ,CAACC,YAAY,IAC/CL,QAAQ,CAACM,UAAU,KAAKF,QAAQ,CAACE,UAAU,IAC3CN,QAAQ,CAACC,SAAS,KAAKG,QAAQ,CAACH,SAAS,EAC3C;QACE,MAAM,IAAI,CAACC,eAAe,CAAC,CAAC;MAChC;IACJ,CAAC,CAAC;IAEF,IAAI,CAACL,SAAS,CAACU,qBAAqB,CAACR,SAAS,CAAC,OAAO;MAAEC;IAAS,CAAC,KAAK;MACnE,IAAIA,QAAQ,CAACC,SAAS,EAAE;QACpB,MAAM,IAAI,CAACC,eAAe,CAAC,CAAC;MAChC;IACJ,CAAC,CAAC;EACN;EAEA,MAAcA,eAAeA,CAAA,EAAG;IAC5B,MAAMM,wBAAwB,GAAG,IAAIC,oCAAwB,CAAC,IAAI,CAACpB,OAAO,CAACqB,KAAK,CAAC;IACjF,MAAMF,wBAAwB,CAACG,OAAO,CAAC,CAAC;EAC5C;EAEA,IAAIC,KAAKA,CAAA,EAAG;IACR,OAAO,IAAI,CAACrB,YAAY;EAC5B;EAEA,IAAIM,SAASA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACH,gBAAgB;EAChC;EAEA,aAAaD,MAAMA,CAACJ,OAA8B,EAA2B;IACzE,MAAMwB,cAAc,GAAG,IAAI1B,cAAc,CAACE,OAAO,CAAC;IAElD,IAAI,EAAE,MAAM,IAAAyB,kCAAkB,EAACzB,OAAO,CAAC,CAAC,EAAE;MACtC,OAAOwB,cAAc;IACzB;IAEA,MAAMA,cAAc,CAACvB,IAAI,CAAC,CAAC;IAC3B,OAAOuB,cAAc;EACzB;AACJ;AAACE,OAAA,CAAA5B,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -43,8 +43,8 @@ class RedirectsContext extends _BaseContext.BaseContext {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
static async create(context) {
|
|
46
|
-
const
|
|
47
|
-
return
|
|
46
|
+
const redirectsContext = new RedirectsContext(context);
|
|
47
|
+
return redirectsContext.init();
|
|
48
48
|
}
|
|
49
49
|
createModelDefinition() {
|
|
50
50
|
return (0, _apiHeadlessCms.createPrivateModel)({
|
|
@@ -1 +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","
|
|
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","redirectsContext","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 redirectsContext = new RedirectsContext(context);\n return redirectsContext.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,gBAAgB,GAAG,IAAIzB,gBAAgB,CAACG,OAAO,CAAC;IACtD,OAAOsB,gBAAgB,CAACrB,IAAI,CAAC,CAAC;EAClC;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":[]}
|
package/context/types.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import type { CmsContext } from "@webiny/api-headless-cms/types";
|
|
|
8
8
|
import { type CmsIdentity } from "@webiny/api-headless-cms/types";
|
|
9
9
|
import type { WbPageCrud } from "./pages/pages.types";
|
|
10
10
|
import type { WbRedirectCrud } from "./redirects/redirects.types";
|
|
11
|
+
import type { Context as TasksContext } from "@webiny/tasks";
|
|
11
12
|
export interface WbLocation {
|
|
12
13
|
folderId: string;
|
|
13
14
|
}
|
|
@@ -16,7 +17,7 @@ export interface WebsiteBuilderContextObject {
|
|
|
16
17
|
pages: WbPageCrud;
|
|
17
18
|
redirects: WbRedirectCrud;
|
|
18
19
|
}
|
|
19
|
-
export interface WebsiteBuilderContext extends BaseContext, I18NContext, TenancyContext, SecurityContext, AdminUsersContext, CmsContext {
|
|
20
|
+
export interface WebsiteBuilderContext extends BaseContext, I18NContext, TenancyContext, SecurityContext, AdminUsersContext, CmsContext, TasksContext {
|
|
20
21
|
websiteBuilder: WebsiteBuilderContextObject;
|
|
21
22
|
}
|
|
22
23
|
export interface WebsiteBuilderConfig<TStorageOperations> {
|
package/context/types.js.map
CHANGED
|
@@ -1 +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":[]}
|
|
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\";\nimport type { Context as TasksContext } from \"@webiny/tasks\";\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 TasksContext {\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,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.InvalidateRedirectsCache = void 0;
|
|
7
|
+
class InvalidateRedirectsCache {
|
|
8
|
+
path = "/wb/redirects";
|
|
9
|
+
constructor(tasks) {
|
|
10
|
+
this.tasks = tasks;
|
|
11
|
+
}
|
|
12
|
+
async execute() {
|
|
13
|
+
await this.tasks.trigger({
|
|
14
|
+
definition: "cloudfrontInvalidateCache",
|
|
15
|
+
input: {
|
|
16
|
+
caller: "wb.redirects",
|
|
17
|
+
paths: [this.path]
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.InvalidateRedirectsCache = InvalidateRedirectsCache;
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=InvalidateRedirectsCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["InvalidateRedirectsCache","path","constructor","tasks","execute","trigger","definition","input","caller","paths","exports"],"sources":["InvalidateRedirectsCache.ts"],"sourcesContent":["import type { ITasksContextObject } from \"@webiny/tasks\";\n\nexport class InvalidateRedirectsCache {\n private readonly path = \"/wb/redirects\";\n private tasks: ITasksContextObject;\n\n constructor(tasks: ITasksContextObject) {\n this.tasks = tasks;\n }\n\n async execute(): Promise<void> {\n await this.tasks.trigger({\n definition: \"cloudfrontInvalidateCache\",\n input: {\n caller: \"wb.redirects\",\n paths: [this.path]\n }\n });\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,wBAAwB,CAAC;EACjBC,IAAI,GAAG,eAAe;EAGvCC,WAAWA,CAACC,KAA0B,EAAE;IACpC,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;EAEA,MAAMC,OAAOA,CAAA,EAAkB;IAC3B,MAAM,IAAI,CAACD,KAAK,CAACE,OAAO,CAAC;MACrBC,UAAU,EAAE,2BAA2B;MACvCC,KAAK,EAAE;QACHC,MAAM,EAAE,cAAc;QACtBC,KAAK,EAAE,CAAC,IAAI,CAACR,IAAI;MACrB;IACJ,CAAC,CAAC;EACN;AACJ;AAACS,OAAA,CAAAV,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -69,5 +69,16 @@ Object.keys(_MoveRedirect).forEach(function (key) {
|
|
|
69
69
|
}
|
|
70
70
|
});
|
|
71
71
|
});
|
|
72
|
+
var _InvalidateRedirectsCache = require("./InvalidateRedirectsCache");
|
|
73
|
+
Object.keys(_InvalidateRedirectsCache).forEach(function (key) {
|
|
74
|
+
if (key === "default" || key === "__esModule") return;
|
|
75
|
+
if (key in exports && exports[key] === _InvalidateRedirectsCache[key]) return;
|
|
76
|
+
Object.defineProperty(exports, key, {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function () {
|
|
79
|
+
return _InvalidateRedirectsCache[key];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
72
83
|
|
|
73
84
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_GetRedirectById","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_CreateRedirect","_DeleteRedirect","_UpdateRedirect","_ListRedirects","_MoveRedirect"],"sources":["index.ts"],"sourcesContent":["export * from \"./GetRedirectById\";\nexport * from \"./CreateRedirect\";\nexport * from \"./DeleteRedirect\";\nexport * from \"./UpdateRedirect\";\nexport * from \"./ListRedirects\";\nexport * from \"./MoveRedirect\";\n"],"mappings":";;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,gBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,eAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,eAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,eAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,eAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,eAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,eAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,eAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,eAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,eAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,eAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,eAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,cAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,cAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,cAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,cAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,aAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,aAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,aAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,aAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_GetRedirectById","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_CreateRedirect","_DeleteRedirect","_UpdateRedirect","_ListRedirects","_MoveRedirect","_InvalidateRedirectsCache"],"sources":["index.ts"],"sourcesContent":["export * from \"./GetRedirectById\";\nexport * from \"./CreateRedirect\";\nexport * from \"./DeleteRedirect\";\nexport * from \"./UpdateRedirect\";\nexport * from \"./ListRedirects\";\nexport * from \"./MoveRedirect\";\nexport * from \"./InvalidateRedirectsCache\";\n"],"mappings":";;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,gBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,eAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,eAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,eAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,eAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,eAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,eAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,eAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,eAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,eAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,eAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,eAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,cAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,cAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,cAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,cAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,aAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,aAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,aAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,aAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,yBAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,yBAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAU,yBAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAM,yBAAA,CAAAV,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -8,20 +8,11 @@ var _handlerGraphql = require("@webiny/handler-graphql");
|
|
|
8
8
|
var _ensureAuthentication = require("../../utils/ensureAuthentication");
|
|
9
9
|
var _resolve = require("../../utils/resolve");
|
|
10
10
|
var _redirects = require("./redirects.typeDefs");
|
|
11
|
-
var _ActiveRedirectGqlMapper = require("./ActiveRedirectGqlMapper");
|
|
12
11
|
const createRedirectsSchema = () => {
|
|
13
12
|
const pageGraphQL = new _handlerGraphql.GraphQLSchemaPlugin({
|
|
14
13
|
typeDefs: _redirects.redirectsTypeDefs,
|
|
15
14
|
resolvers: {
|
|
16
15
|
WbQuery: {
|
|
17
|
-
getRedirectById: async (_, {
|
|
18
|
-
id
|
|
19
|
-
}, context) => {
|
|
20
|
-
return (0, _resolve.resolve)(() => {
|
|
21
|
-
(0, _ensureAuthentication.ensureAuthentication)(context);
|
|
22
|
-
return context.websiteBuilder.redirects.getById(id);
|
|
23
|
-
});
|
|
24
|
-
},
|
|
25
16
|
listRedirects: async (_, args, context) => {
|
|
26
17
|
try {
|
|
27
18
|
(0, _ensureAuthentication.ensureAuthentication)(context);
|
|
@@ -30,15 +21,6 @@ const createRedirectsSchema = () => {
|
|
|
30
21
|
} catch (e) {
|
|
31
22
|
return new _handlerGraphql.ErrorResponse(e);
|
|
32
23
|
}
|
|
33
|
-
},
|
|
34
|
-
getActiveRedirects: async (_, __, context) => {
|
|
35
|
-
try {
|
|
36
|
-
(0, _ensureAuthentication.ensureAuthentication)(context);
|
|
37
|
-
const redirects = await context.websiteBuilder.redirects.getActiveRedirects();
|
|
38
|
-
return new _handlerGraphql.Response(redirects.map(entry => _ActiveRedirectGqlMapper.ActiveRedirectGqlMapper.toDto(entry)));
|
|
39
|
-
} catch (e) {
|
|
40
|
-
return new _handlerGraphql.ErrorResponse(e);
|
|
41
|
-
}
|
|
42
24
|
}
|
|
43
25
|
},
|
|
44
26
|
WbMutation: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_handlerGraphql","require","_ensureAuthentication","_resolve","_redirects","
|
|
1
|
+
{"version":3,"names":["_handlerGraphql","require","_ensureAuthentication","_resolve","_redirects","createRedirectsSchema","pageGraphQL","GraphQLSchemaPlugin","typeDefs","redirectsTypeDefs","resolvers","WbQuery","listRedirects","_","args","context","ensureAuthentication","entries","meta","websiteBuilder","redirects","list","ListResponse","e","ErrorResponse","WbMutation","createRedirect","data","resolve","create","updateRedirect","id","update","moveRedirect","folderId","move","Response","deleteRedirect","delete","name","exports"],"sources":["redirects.gql.ts"],"sourcesContent":["import {\n ErrorResponse,\n GraphQLSchemaPlugin,\n ListResponse,\n Response\n} from \"@webiny/handler-graphql\";\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication\";\nimport { resolve } from \"~/utils/resolve\";\nimport type { WebsiteBuilderContext } from \"~/context/types\";\nimport { redirectsTypeDefs } from \"~/graphql/redirects/redirects.typeDefs\";\n\nexport const createRedirectsSchema = () => {\n const pageGraphQL = new GraphQLSchemaPlugin<WebsiteBuilderContext>({\n typeDefs: redirectsTypeDefs,\n resolvers: {\n WbQuery: {\n listRedirects: async (_, args: any, context) => {\n try {\n ensureAuthentication(context);\n const [entries, meta] = await context.websiteBuilder.redirects.list(args);\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n WbMutation: {\n createRedirect: async (_, { data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.websiteBuilder.redirects.create(data);\n });\n },\n updateRedirect: async (_, { id, data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.websiteBuilder.redirects.update(id, data);\n });\n },\n moveRedirect: async (_, { id, folderId }, context) => {\n ensureAuthentication(context);\n await context.websiteBuilder.redirects.move({ id, folderId });\n return new Response(true);\n },\n deleteRedirect: async (_, { id }, context) => {\n ensureAuthentication(context);\n await context.websiteBuilder.redirects.delete({ id });\n return new Response(true);\n }\n }\n }\n });\n\n pageGraphQL.name = \"wb.graphql.redirects\";\n\n return pageGraphQL;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAMA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AAEO,MAAMI,qBAAqB,GAAGA,CAAA,KAAM;EACvC,MAAMC,WAAW,GAAG,IAAIC,mCAAmB,CAAwB;IAC/DC,QAAQ,EAAEC,4BAAiB;IAC3BC,SAAS,EAAE;MACPC,OAAO,EAAE;QACLC,aAAa,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAC5C,IAAI;YACA,IAAAC,0CAAoB,EAACD,OAAO,CAAC;YAC7B,MAAM,CAACE,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAMH,OAAO,CAACI,cAAc,CAACC,SAAS,CAACC,IAAI,CAACP,IAAI,CAAC;YACzE,OAAO,IAAIQ,4BAAY,CAACL,OAAO,EAAEC,IAAI,CAAC;UAC1C,CAAC,CAAC,OAAOK,CAAC,EAAE;YACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;UAC/B;QACJ;MACJ,CAAC;MACDE,UAAU,EAAE;QACRC,cAAc,EAAE,MAAAA,CAAOb,CAAC,EAAE;UAAEc;QAAK,CAAC,EAAEZ,OAAO,KAAK;UAC5C,OAAO,IAAAa,gBAAO,EAAC,MAAM;YACjB,IAAAZ,0CAAoB,EAACD,OAAO,CAAC;YAC7B,OAAOA,OAAO,CAACI,cAAc,CAACC,SAAS,CAACS,MAAM,CAACF,IAAI,CAAC;UACxD,CAAC,CAAC;QACN,CAAC;QACDG,cAAc,EAAE,MAAAA,CAAOjB,CAAC,EAAE;UAAEkB,EAAE;UAAEJ;QAAK,CAAC,EAAEZ,OAAO,KAAK;UAChD,OAAO,IAAAa,gBAAO,EAAC,MAAM;YACjB,IAAAZ,0CAAoB,EAACD,OAAO,CAAC;YAC7B,OAAOA,OAAO,CAACI,cAAc,CAACC,SAAS,CAACY,MAAM,CAACD,EAAE,EAAEJ,IAAI,CAAC;UAC5D,CAAC,CAAC;QACN,CAAC;QACDM,YAAY,EAAE,MAAAA,CAAOpB,CAAC,EAAE;UAAEkB,EAAE;UAAEG;QAAS,CAAC,EAAEnB,OAAO,KAAK;UAClD,IAAAC,0CAAoB,EAACD,OAAO,CAAC;UAC7B,MAAMA,OAAO,CAACI,cAAc,CAACC,SAAS,CAACe,IAAI,CAAC;YAAEJ,EAAE;YAAEG;UAAS,CAAC,CAAC;UAC7D,OAAO,IAAIE,wBAAQ,CAAC,IAAI,CAAC;QAC7B,CAAC;QACDC,cAAc,EAAE,MAAAA,CAAOxB,CAAC,EAAE;UAAEkB;QAAG,CAAC,EAAEhB,OAAO,KAAK;UAC1C,IAAAC,0CAAoB,EAACD,OAAO,CAAC;UAC7B,MAAMA,OAAO,CAACI,cAAc,CAACC,SAAS,CAACkB,MAAM,CAAC;YAAEP;UAAG,CAAC,CAAC;UACrD,OAAO,IAAIK,wBAAQ,CAAC,IAAI,CAAC;QAC7B;MACJ;IACJ;EACJ,CAAC,CAAC;EAEF9B,WAAW,CAACiC,IAAI,GAAG,sBAAsB;EAEzC,OAAOjC,WAAW;AACtB,CAAC;AAACkC,OAAA,CAAAnC,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -122,21 +122,8 @@ const redirectsTypeDefs = exports.redirectsTypeDefs = /* GraphQL */`
|
|
|
122
122
|
savedOn_ASC
|
|
123
123
|
savedOn_DESC
|
|
124
124
|
}
|
|
125
|
-
|
|
126
|
-
type WbActiveRedirect {
|
|
127
|
-
id: ID!
|
|
128
|
-
from: String!
|
|
129
|
-
to: String!
|
|
130
|
-
permanent: Boolean!
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
type WbActiveRedirectsResponse {
|
|
134
|
-
data: [WbActiveRedirect!]
|
|
135
|
-
error: WbError
|
|
136
|
-
}
|
|
137
125
|
|
|
138
126
|
extend type WbQuery {
|
|
139
|
-
getRedirectById(id: ID!): WbRedirectResponse
|
|
140
127
|
listRedirects(
|
|
141
128
|
where: WbRedirectsListWhereInput
|
|
142
129
|
limit: Int
|
|
@@ -144,7 +131,6 @@ const redirectsTypeDefs = exports.redirectsTypeDefs = /* GraphQL */`
|
|
|
144
131
|
sort: [WbRedirectListSorter]
|
|
145
132
|
search: String
|
|
146
133
|
): WbRedirectsListResponse
|
|
147
|
-
getActiveRedirects: WbActiveRedirectsResponse
|
|
148
134
|
}
|
|
149
135
|
|
|
150
136
|
extend type WbMutation {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getStringFilters","name","redirectsTypeDefs","exports"],"sources":["redirects.typeDefs.ts"],"sourcesContent":["const getStringFilters = (name: string) => {\n return `\n ${name}: String\n ${name}_not: String\n ${name}_contains: String\n ${name}_not_contains: String\n ${name}_in: [String!]\n ${name}_not_in: [String!]\n ${name}_startsWith: String\n ${name}_not_startsWith: String\n `;\n};\n\nexport const redirectsTypeDefs = /* GraphQL */ `\n type WbRedirect {\n id: ID!\n wbyAco_location: WbLocation\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n deletedOn: DateTime\n createdBy: WbIdentity\n modifiedBy: WbIdentity\n savedBy: WbIdentity\n deletedBy: WbIdentity\n redirectFrom: String!\n redirectTo: String!\n redirectType: String!\n isEnabled: Boolean!\n }\n\n input WbRedirectCreateInput {\n wbyAco_location: WbLocationInput!\n redirectFrom: String!\n redirectTo: String!\n redirectType: String!\n isEnabled: Boolean!\n }\n\n input WbRedirectUpdateInput {\n redirectFrom: String!\n redirectTo: String!\n redirectType: String!\n isEnabled: Boolean!\n }\n\n input WbRedirectsListWhereInput {\n wbyAco_location: WbLocationWhereInput\n id: ID\n id_not: ID\n id_in: [ID!]\n id_not_in: [ID!]\n createdOn: DateTime\n createdOn_gt: DateTime\n createdOn_gte: DateTime\n createdOn_lt: DateTime\n createdOn_lte: DateTime\n createdOn_between: [DateTime!]\n createdOn_not_between: [DateTime!]\n modifiedOn: DateTime\n modifiedOn_gt: DateTime\n modifiedOn_gte: DateTime\n modifiedOn_lt: DateTime\n modifiedOn_lte: DateTime\n modifiedOn_between: [DateTime!]\n modifiedOn_not_between: [DateTime!]\n savedOn: DateTime\n savedOn_gt: DateTime\n savedOn_gte: DateTime\n savedOn_lt: DateTime\n savedOn_lte: DateTime\n savedOn_between: [DateTime!]\n savedOn_not_between: [DateTime!]\n createdBy: ID\n createdBy_not: ID\n createdBy_in: [ID!]\n createdBy_not_in: [ID!]\n modifiedBy: ID\n modifiedBy_not: ID\n modifiedBy_in: [ID!]\n modifiedBy_not_in: [ID!]\n savedBy: ID\n savedBy_not: ID\n savedBy_in: [ID!]\n savedBy_not_in: [ID!]\n isEnabled: Boolean\n ${getStringFilters(\"redirectFrom\")}\n ${getStringFilters(\"redirectTo\")}\n ${getStringFilters(\"redirectType\")}\n AND: [WbRedirectsListWhereInput!]\n OR: [WbRedirectsListWhereInput!]\n }\n\n type WbRedirectResponse {\n data: WbRedirect\n error: WbError\n }\n\n type WbRedirectsListResponse {\n data: [WbRedirect]\n error: WbError\n meta: WbMeta\n }\n\n type WbRedirectModelResponse {\n data: JSON\n error: WbError\n }\n\n enum WbRedirectListSorter {\n id_ASC\n id_DESC\n createdOn_ASC\n createdOn_DESC\n modifiedOn_ASC\n modifiedOn_DESC\n savedOn_ASC\n savedOn_DESC\n }\n
|
|
1
|
+
{"version":3,"names":["getStringFilters","name","redirectsTypeDefs","exports"],"sources":["redirects.typeDefs.ts"],"sourcesContent":["const getStringFilters = (name: string) => {\n return `\n ${name}: String\n ${name}_not: String\n ${name}_contains: String\n ${name}_not_contains: String\n ${name}_in: [String!]\n ${name}_not_in: [String!]\n ${name}_startsWith: String\n ${name}_not_startsWith: String\n `;\n};\n\nexport const redirectsTypeDefs = /* GraphQL */ `\n type WbRedirect {\n id: ID!\n wbyAco_location: WbLocation\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n deletedOn: DateTime\n createdBy: WbIdentity\n modifiedBy: WbIdentity\n savedBy: WbIdentity\n deletedBy: WbIdentity\n redirectFrom: String!\n redirectTo: String!\n redirectType: String!\n isEnabled: Boolean!\n }\n\n input WbRedirectCreateInput {\n wbyAco_location: WbLocationInput!\n redirectFrom: String!\n redirectTo: String!\n redirectType: String!\n isEnabled: Boolean!\n }\n\n input WbRedirectUpdateInput {\n redirectFrom: String!\n redirectTo: String!\n redirectType: String!\n isEnabled: Boolean!\n }\n\n input WbRedirectsListWhereInput {\n wbyAco_location: WbLocationWhereInput\n id: ID\n id_not: ID\n id_in: [ID!]\n id_not_in: [ID!]\n createdOn: DateTime\n createdOn_gt: DateTime\n createdOn_gte: DateTime\n createdOn_lt: DateTime\n createdOn_lte: DateTime\n createdOn_between: [DateTime!]\n createdOn_not_between: [DateTime!]\n modifiedOn: DateTime\n modifiedOn_gt: DateTime\n modifiedOn_gte: DateTime\n modifiedOn_lt: DateTime\n modifiedOn_lte: DateTime\n modifiedOn_between: [DateTime!]\n modifiedOn_not_between: [DateTime!]\n savedOn: DateTime\n savedOn_gt: DateTime\n savedOn_gte: DateTime\n savedOn_lt: DateTime\n savedOn_lte: DateTime\n savedOn_between: [DateTime!]\n savedOn_not_between: [DateTime!]\n createdBy: ID\n createdBy_not: ID\n createdBy_in: [ID!]\n createdBy_not_in: [ID!]\n modifiedBy: ID\n modifiedBy_not: ID\n modifiedBy_in: [ID!]\n modifiedBy_not_in: [ID!]\n savedBy: ID\n savedBy_not: ID\n savedBy_in: [ID!]\n savedBy_not_in: [ID!]\n isEnabled: Boolean\n ${getStringFilters(\"redirectFrom\")}\n ${getStringFilters(\"redirectTo\")}\n ${getStringFilters(\"redirectType\")}\n AND: [WbRedirectsListWhereInput!]\n OR: [WbRedirectsListWhereInput!]\n }\n\n type WbRedirectResponse {\n data: WbRedirect\n error: WbError\n }\n\n type WbRedirectsListResponse {\n data: [WbRedirect]\n error: WbError\n meta: WbMeta\n }\n\n type WbRedirectModelResponse {\n data: JSON\n error: WbError\n }\n\n enum WbRedirectListSorter {\n id_ASC\n id_DESC\n createdOn_ASC\n createdOn_DESC\n modifiedOn_ASC\n modifiedOn_DESC\n savedOn_ASC\n savedOn_DESC\n }\n\n extend type WbQuery {\n listRedirects(\n where: WbRedirectsListWhereInput\n limit: Int\n after: String\n sort: [WbRedirectListSorter]\n search: String\n ): WbRedirectsListResponse\n }\n\n extend type WbMutation {\n createRedirect(data: WbRedirectCreateInput!): WbRedirectResponse\n updateRedirect(id: ID!, data: WbRedirectUpdateInput!): WbRedirectResponse\n moveRedirect(id: ID!, folderId: ID!): WbBooleanResponse\n deleteRedirect(id: ID!): WbBooleanResponse\n }\n`;\n"],"mappings":";;;;;;AAAA,MAAMA,gBAAgB,GAAIC,IAAY,IAAK;EACvC,OAAO;AACX,UAAUA,IAAI;AACd,UAAUA,IAAI;AACd,UAAUA,IAAI;AACd,UAAUA,IAAI;AACd,UAAUA,IAAI;AACd,UAAUA,IAAI;AACd,UAAUA,IAAI;AACd,UAAUA,IAAI;AACd,KAAK;AACL,CAAC;AAEM,MAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,aAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAUF,gBAAgB,CAAC,cAAc,CAAC;AAC1C,UAAUA,gBAAgB,CAAC,YAAY,CAAC;AACxC,UAAUA,gBAAgB,CAAC,cAAc,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
package/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { WebsiteBuilderContext } from "./context/types";
|
|
2
|
-
export declare const createWebsiteBuilder: () => (import("@webiny/handler-graphql").GraphQLSchemaPlugin<WebsiteBuilderContext>[] | import("@webiny/api").ContextPlugin<WebsiteBuilderContext>)[];
|
|
2
|
+
export declare const createWebsiteBuilder: () => (import("@webiny/handler-graphql").GraphQLSchemaPlugin<WebsiteBuilderContext>[] | import("@webiny/handler").RoutePlugin<WebsiteBuilderContext> | import("@webiny/api").ContextPlugin<WebsiteBuilderContext>)[];
|
|
3
3
|
export type { WebsiteBuilderContext };
|
package/index.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.createWebsiteBuilder = void 0;
|
|
|
7
7
|
var _api = require("@webiny/api");
|
|
8
8
|
var _WebsiteBuilder = require("./context/WebsiteBuilder");
|
|
9
9
|
var _createGraphQL = require("./graphql/createGraphQL");
|
|
10
|
+
var _getRedirects = require("./rest/getRedirects");
|
|
10
11
|
const createContext = () => {
|
|
11
12
|
return (0, _api.createContextPlugin)(async context => {
|
|
12
13
|
context.websiteBuilder = await _WebsiteBuilder.WebsiteBuilder.create(context);
|
|
@@ -15,7 +16,7 @@ const createContext = () => {
|
|
|
15
16
|
});
|
|
16
17
|
};
|
|
17
18
|
const createWebsiteBuilder = () => {
|
|
18
|
-
return [createContext(), (0, _createGraphQL.createGraphQL)()];
|
|
19
|
+
return [createContext(), (0, _createGraphQL.createGraphQL)(), (0, _getRedirects.createRedirectsRoute)()];
|
|
19
20
|
};
|
|
20
21
|
exports.createWebsiteBuilder = createWebsiteBuilder;
|
|
21
22
|
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_api","require","_WebsiteBuilder","_createGraphQL","createContext","createContextPlugin","context","websiteBuilder","WebsiteBuilder","create","name","createWebsiteBuilder","createGraphQL","exports"],"sources":["index.ts"],"sourcesContent":["import { createContextPlugin } from \"@webiny/api\";\nimport type { WebsiteBuilderContext } from \"./context/types\";\nimport { WebsiteBuilder } from \"./context/WebsiteBuilder\";\nimport { createGraphQL } from \"
|
|
1
|
+
{"version":3,"names":["_api","require","_WebsiteBuilder","_createGraphQL","_getRedirects","createContext","createContextPlugin","context","websiteBuilder","WebsiteBuilder","create","name","createWebsiteBuilder","createGraphQL","createRedirectsRoute","exports"],"sources":["index.ts"],"sourcesContent":["import { createContextPlugin } from \"@webiny/api\";\nimport type { WebsiteBuilderContext } from \"./context/types\";\nimport { WebsiteBuilder } from \"./context/WebsiteBuilder\";\nimport { createGraphQL } from \"./graphql/createGraphQL\";\nimport { createRedirectsRoute } from \"./rest/getRedirects\";\n\nconst createContext = () => {\n return createContextPlugin<WebsiteBuilderContext>(\n async context => {\n context.websiteBuilder = await WebsiteBuilder.create(context);\n },\n { name: \"wb.createContext\" }\n );\n};\n\nexport const createWebsiteBuilder = () => {\n return [createContext(), createGraphQL(), createRedirectsRoute()];\n};\n\nexport type { WebsiteBuilderContext };\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,MAAMI,aAAa,GAAGA,CAAA,KAAM;EACxB,OAAO,IAAAC,wBAAmB,EACtB,MAAMC,OAAO,IAAI;IACbA,OAAO,CAACC,cAAc,GAAG,MAAMC,8BAAc,CAACC,MAAM,CAACH,OAAO,CAAC;EACjE,CAAC,EACD;IAAEI,IAAI,EAAE;EAAmB,CAC/B,CAAC;AACL,CAAC;AAEM,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACtC,OAAO,CAACP,aAAa,CAAC,CAAC,EAAE,IAAAQ,4BAAa,EAAC,CAAC,EAAE,IAAAC,kCAAoB,EAAC,CAAC,CAAC;AACrE,CAAC;AAACC,OAAA,CAAAH,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-website-builder",
|
|
3
|
-
"version": "6.0.0-alpha.
|
|
3
|
+
"version": "6.0.0-alpha.4",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"wb:base"
|
|
@@ -22,33 +22,34 @@
|
|
|
22
22
|
"directory": "dist"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@webiny/api": "6.0.0-alpha.
|
|
26
|
-
"@webiny/api-admin-settings": "6.0.0-alpha.
|
|
27
|
-
"@webiny/api-headless-cms": "6.0.0-alpha.
|
|
28
|
-
"@webiny/api-i18n": "6.0.0-alpha.
|
|
29
|
-
"@webiny/api-security": "6.0.0-alpha.
|
|
30
|
-
"@webiny/api-tenancy": "6.0.0-alpha.
|
|
31
|
-
"@webiny/error": "6.0.0-alpha.
|
|
32
|
-
"@webiny/handler": "6.0.0-alpha.
|
|
33
|
-
"@webiny/handler-graphql": "6.0.0-alpha.
|
|
34
|
-
"@webiny/pubsub": "6.0.0-alpha.
|
|
25
|
+
"@webiny/api": "6.0.0-alpha.4",
|
|
26
|
+
"@webiny/api-admin-settings": "6.0.0-alpha.4",
|
|
27
|
+
"@webiny/api-headless-cms": "6.0.0-alpha.4",
|
|
28
|
+
"@webiny/api-i18n": "6.0.0-alpha.4",
|
|
29
|
+
"@webiny/api-security": "6.0.0-alpha.4",
|
|
30
|
+
"@webiny/api-tenancy": "6.0.0-alpha.4",
|
|
31
|
+
"@webiny/error": "6.0.0-alpha.4",
|
|
32
|
+
"@webiny/handler": "6.0.0-alpha.4",
|
|
33
|
+
"@webiny/handler-graphql": "6.0.0-alpha.4",
|
|
34
|
+
"@webiny/pubsub": "6.0.0-alpha.4",
|
|
35
|
+
"@webiny/tasks": "6.0.0-alpha.4",
|
|
35
36
|
"lodash": "4.17.21"
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
38
|
-
"@webiny/api-admin-users": "6.0.0-alpha.
|
|
39
|
-
"@webiny/api-file-manager": "6.0.0-alpha.
|
|
40
|
-
"@webiny/api-i18n-ddb": "6.0.0-alpha.
|
|
41
|
-
"@webiny/api-security-so-ddb": "6.0.0-alpha.
|
|
42
|
-
"@webiny/api-tenancy-so-ddb": "6.0.0-alpha.
|
|
43
|
-
"@webiny/api-wcp": "6.0.0-alpha.
|
|
44
|
-
"@webiny/handler-aws": "6.0.0-alpha.
|
|
45
|
-
"@webiny/plugins": "6.0.0-alpha.
|
|
46
|
-
"@webiny/project-utils": "6.0.0-alpha.
|
|
47
|
-
"@webiny/wcp": "6.0.0-alpha.
|
|
39
|
+
"@webiny/api-admin-users": "6.0.0-alpha.4",
|
|
40
|
+
"@webiny/api-file-manager": "6.0.0-alpha.4",
|
|
41
|
+
"@webiny/api-i18n-ddb": "6.0.0-alpha.4",
|
|
42
|
+
"@webiny/api-security-so-ddb": "6.0.0-alpha.4",
|
|
43
|
+
"@webiny/api-tenancy-so-ddb": "6.0.0-alpha.4",
|
|
44
|
+
"@webiny/api-wcp": "6.0.0-alpha.4",
|
|
45
|
+
"@webiny/handler-aws": "6.0.0-alpha.4",
|
|
46
|
+
"@webiny/plugins": "6.0.0-alpha.4",
|
|
47
|
+
"@webiny/project-utils": "6.0.0-alpha.4",
|
|
48
|
+
"@webiny/wcp": "6.0.0-alpha.4",
|
|
48
49
|
"graphql": "15.9.0",
|
|
49
50
|
"prettier": "2.8.8",
|
|
50
51
|
"rimraf": "6.0.1",
|
|
51
52
|
"typescript": "5.3.3"
|
|
52
53
|
},
|
|
53
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "eb196ccd2f32296e10f7add6dd7220d4e3abece4"
|
|
54
55
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["ActiveRedirectDto.ts"],"sourcesContent":["export type ActiveRedirectDto = {\n id: string;\n from: string;\n to: string;\n permanent: boolean;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
class
|
|
6
|
+
exports.ActiveRedirectRestMapper = void 0;
|
|
7
|
+
class ActiveRedirectRestMapper {
|
|
8
8
|
static toDto(redirect) {
|
|
9
9
|
return {
|
|
10
10
|
id: redirect.id,
|
|
@@ -14,6 +14,6 @@ class ActiveRedirectGqlMapper {
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
exports.
|
|
17
|
+
exports.ActiveRedirectRestMapper = ActiveRedirectRestMapper;
|
|
18
18
|
|
|
19
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=ActiveRedirectRestMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ActiveRedirectRestMapper","toDto","redirect","id","from","redirectFrom","to","redirectTo","permanent","redirectType","exports"],"sources":["ActiveRedirectRestMapper.ts"],"sourcesContent":["import type { WbRedirect } from \"~/context/redirects/redirects.types\";\nimport type { ActiveRedirectDto } from \"./ActiveRedirectDto\";\n\nexport class ActiveRedirectRestMapper {\n static toDto(redirect: WbRedirect): ActiveRedirectDto {\n return {\n id: redirect.id,\n from: redirect.redirectFrom,\n to: redirect.redirectTo,\n permanent: redirect.redirectType === \"permanent\"\n };\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,wBAAwB,CAAC;EAClC,OAAOC,KAAKA,CAACC,QAAoB,EAAqB;IAClD,OAAO;MACHC,EAAE,EAAED,QAAQ,CAACC,EAAE;MACfC,IAAI,EAAEF,QAAQ,CAACG,YAAY;MAC3BC,EAAE,EAAEJ,QAAQ,CAACK,UAAU;MACvBC,SAAS,EAAEN,QAAQ,CAACO,YAAY,KAAK;IACzC,CAAC;EACL;AACJ;AAACC,OAAA,CAAAV,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createRedirectsRoute = void 0;
|
|
7
|
+
var _handler = require("@webiny/handler");
|
|
8
|
+
var _ensureAuthentication = require("../utils/ensureAuthentication");
|
|
9
|
+
var _ActiveRedirectRestMapper = require("./ActiveRedirectRestMapper");
|
|
10
|
+
const createRedirectsRoute = () => {
|
|
11
|
+
return (0, _handler.createRoute)(({
|
|
12
|
+
onGet,
|
|
13
|
+
context
|
|
14
|
+
}) => {
|
|
15
|
+
onGet("/wb/redirects", async (_, reply) => {
|
|
16
|
+
try {
|
|
17
|
+
(0, _ensureAuthentication.ensureAuthentication)(context);
|
|
18
|
+
} catch (err) {
|
|
19
|
+
if (err.code === "SECURITY_NOT_AUTHORIZED") {
|
|
20
|
+
reply.code(401).send(err.message);
|
|
21
|
+
} else {
|
|
22
|
+
reply.code(500).send(err.message);
|
|
23
|
+
}
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const redirects = await context.websiteBuilder.redirects.getActiveRedirects();
|
|
27
|
+
const redirectsDto = redirects.map(entry => _ActiveRedirectRestMapper.ActiveRedirectRestMapper.toDto(entry));
|
|
28
|
+
reply.headers({
|
|
29
|
+
"content-type": "application/json",
|
|
30
|
+
"Cache-Control": "public, max-age=31536000"
|
|
31
|
+
});
|
|
32
|
+
return reply.send(redirectsDto);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
exports.createRedirectsRoute = createRedirectsRoute;
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=getRedirects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_handler","require","_ensureAuthentication","_ActiveRedirectRestMapper","createRedirectsRoute","createRoute","onGet","context","_","reply","ensureAuthentication","err","code","send","message","redirects","websiteBuilder","getActiveRedirects","redirectsDto","map","entry","ActiveRedirectRestMapper","toDto","headers","exports"],"sources":["getRedirects.ts"],"sourcesContent":["import { createRoute } from \"@webiny/handler\";\nimport type { WebsiteBuilderContext } from \"~/context/types\";\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication\";\nimport { ActiveRedirectRestMapper } from \"./ActiveRedirectRestMapper\";\n\nexport const createRedirectsRoute = () => {\n return createRoute<WebsiteBuilderContext>(({ onGet, context }) => {\n onGet(\"/wb/redirects\", async (_, reply) => {\n try {\n ensureAuthentication(context);\n } catch (err) {\n if (err.code === \"SECURITY_NOT_AUTHORIZED\") {\n reply.code(401).send(err.message);\n } else {\n reply.code(500).send(err.message);\n }\n return;\n }\n\n const redirects = await context.websiteBuilder.redirects.getActiveRedirects();\n\n const redirectsDto = redirects.map(entry => ActiveRedirectRestMapper.toDto(entry));\n\n reply.headers({\n \"content-type\": \"application/json\",\n \"Cache-Control\": \"public, max-age=31536000\"\n });\n\n return reply.send(redirectsDto);\n });\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,yBAAA,GAAAF,OAAA;AAEO,MAAMG,oBAAoB,GAAGA,CAAA,KAAM;EACtC,OAAO,IAAAC,oBAAW,EAAwB,CAAC;IAAEC,KAAK;IAAEC;EAAQ,CAAC,KAAK;IAC9DD,KAAK,CAAC,eAAe,EAAE,OAAOE,CAAC,EAAEC,KAAK,KAAK;MACvC,IAAI;QACA,IAAAC,0CAAoB,EAACH,OAAO,CAAC;MACjC,CAAC,CAAC,OAAOI,GAAG,EAAE;QACV,IAAIA,GAAG,CAACC,IAAI,KAAK,yBAAyB,EAAE;UACxCH,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAACF,GAAG,CAACG,OAAO,CAAC;QACrC,CAAC,MAAM;UACHL,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAACF,GAAG,CAACG,OAAO,CAAC;QACrC;QACA;MACJ;MAEA,MAAMC,SAAS,GAAG,MAAMR,OAAO,CAACS,cAAc,CAACD,SAAS,CAACE,kBAAkB,CAAC,CAAC;MAE7E,MAAMC,YAAY,GAAGH,SAAS,CAACI,GAAG,CAACC,KAAK,IAAIC,kDAAwB,CAACC,KAAK,CAACF,KAAK,CAAC,CAAC;MAElFX,KAAK,CAACc,OAAO,CAAC;QACV,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE;MACrB,CAAC,CAAC;MAEF,OAAOd,KAAK,CAACI,IAAI,CAACK,YAAY,CAAC;IACnC,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC;AAACM,OAAA,CAAApB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["ActiveRedirectGqlDto.ts"],"sourcesContent":["export type ActiveRedirectGqlDto = {\n id: string;\n from: string;\n to: string;\n permanent: boolean;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ActiveRedirectGqlMapper","toDto","redirect","id","from","redirectFrom","to","redirectTo","permanent","redirectType","exports"],"sources":["ActiveRedirectGqlMapper.ts"],"sourcesContent":["import type { WbRedirect } from \"~/context/redirects/redirects.types\";\nimport type { ActiveRedirectGqlDto } from \"./ActiveRedirectGqlDto\";\n\nexport class ActiveRedirectGqlMapper {\n static toDto(redirect: WbRedirect): ActiveRedirectGqlDto {\n return {\n id: redirect.id,\n from: redirect.redirectFrom,\n to: redirect.redirectTo,\n permanent: redirect.redirectType === \"permanent\"\n };\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,uBAAuB,CAAC;EACjC,OAAOC,KAAKA,CAACC,QAAoB,EAAwB;IACrD,OAAO;MACHC,EAAE,EAAED,QAAQ,CAACC,EAAE;MACfC,IAAI,EAAEF,QAAQ,CAACG,YAAY;MAC3BC,EAAE,EAAEJ,QAAQ,CAACK,UAAU;MACvBC,SAAS,EAAEN,QAAQ,CAACO,YAAY,KAAK;IACzC,CAAC;EACL;AACJ;AAACC,OAAA,CAAAV,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|