@chaibuilder/pages 0.1.4 → 0.1.6
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/dist/server.cjs +1 -1
- package/dist/server.d.ts +29 -23
- package/dist/server.js +68 -74
- package/package.json +1 -1
package/dist/server.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var C=Object.defineProperty;var S=(i,a,t)=>a in i?C(i,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[a]=t;var l=(i,a,t)=>S(i,typeof a!="symbol"?a+"":a,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("lodash-es"),P={ab:"Abkhazian",aa:"Afar",af:"Afrikaans",ak:"Akan",sq:"Albanian",am:"Amharic",ar:"Arabic",an:"Aragonese",hy:"Armenian",as:"Assamese",av:"Avaric",ae:"Avestan",ay:"Aymara",az:"Azerbaijani",bm:"Bambara",ba:"Bashkir",eu:"Basque",be:"Belarusian",bn:"Bengali",bh:"Bihari",bi:"Bislama",bs:"Bosnian",br:"Breton",bg:"Bulgarian",my:"Burmese",ca:"Catalan",ch:"Chamorro",ce:"Chechen",ny:"Chichewa",zh:"Chinese","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cv:"Chuvash",kw:"Cornish",co:"Corsican",cr:"Cree",hr:"Croatian",cs:"Czech",da:"Danish",dv:"Maldivian",nl:"Dutch",dz:"Dzongkha",en:"English",eo:"Esperanto",et:"Estonian",ee:"Ewe",fo:"Faroese",fj:"Fijian",fi:"Finnish",fr:"French",ff:"Fula, Pular",gl:"Galician",gd:"Gaelic (Scottish)",gv:"Manx",ka:"Georgian",de:"German",el:"Greek",kl:"Kalaallisut",gn:"Guarani",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",he:"Hebrew",hz:"Herero",hi:"Hindi",ho:"Hiri Motu",hu:"Hungarian",is:"Icelandic",io:"Ido",ig:"Igbo",id:"Indonesian",ia:"Interlingua",ie:"Interlingue",iu:"Inuktitut",ik:"Inupiak",ga:"Irish",it:"Italian",ja:"Japanese",jv:"Javanese",kn:"Kannada",kr:"Kanuri",ks:"Kashmiri",kk:"Kazakh",km:"Khmer",ki:"Kikuyu",rw:"Kinyarwanda",rn:"Kirundi",ky:"Kyrgyz",kv:"Komi",kg:"Kongo",ko:"Korean",ku:"Kurdish",kj:"Kwanyama",lo:"Lao",la:"Latin",lv:"Latvian",li:"Limburgish",ln:"Lingala",lt:"Lithuanian",lu:"Luga-Katanga",lg:"Luganda, Ganda",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mh:"Marshallese",mo:"Moldavian",mn:"Mongolian",na:"Nauru",nv:"Navajo",ng:"Ndonga",nd:"Northern Ndebele",ne:"Nepali",no:"Norwegian",nb:"Norwegian bokmål",nn:"Norwegian nynorsk",ii:"Sichuan Yi",oc:"Occitan",oj:"Ojibwe",cu:"Old Church Slavonic",or:"Oriya",om:"Oromo",os:"Ossetian",pi:"Pāli",ps:"Pashto, Pushto",fa:"Persian (Farsi)",pl:"Polish",pt:"Portuguese",pa:"Punjabi (Eastern)",qu:"Quechua",rm:"Romansh",ro:"Romanian",ru:"Russian",se:"Sami",sm:"Samoan",sg:"Sango",sa:"Sanskrit",sr:"Serbian",sh:"Serbo-Croatian",st:"Sesotho",tn:"Setswana",sn:"Shona",sd:"Sindhi",si:"Sinhalese",ss:"Swati",sk:"Slovak",sl:"Slovenian",so:"Somali",nr:"Southern Ndebele",es:"Spanish",su:"Sundanese",sw:"Swahili (Kiswahili)",sv:"Swedish",tl:"Tagalog",ty:"Tahitian",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",bo:"Tibetan",ti:"Tigrinya",to:"Tonga",ts:"Tsonga",tr:"Turkish",tk:"Turkmen",tw:"Twi",ug:"Uyghur",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",ve:"Venda",vi:"Vietnamese",vo:"Volapük",wa:"Wallon",cy:"Welsh",wo:"Wolof",fy:"Western Frisian",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",za:"Zhuang, Chuang",zu:"Zulu"},h={},k=(i,a)=>{h[i]={key:i,...a,hasSlug:!0}},b=(i,a)=>{h[i]={key:i,...a,hasSlug:!1}},g=()=>Object.values(h),s=i=>h[i];let _=async(i,a=!1,t=!1)=>({lang:i,isDraft:a,inBuilder:t});const w=i=>_=i,d=async(i,a,t)=>await _(i,a,t),A=(i,a)=>{({...a})},E="https://api.chaibuilder.com";class f{async verifyTokenAndGetUser(a){return console.log(a),{id:"mock-chai-user",name:"Mock Chai User",email:"mock-chai-user@chaibuilder.com"}}async isUserActive(){return!0}async getUserPermissions(){return["add_block","delete_block","edit_block","move_block","edit_theme","save_page","edit_styles","import_html","add_page","edit_page","edit_slug","delete_page","publish_page","unpublish_page","add_partial","edit_partial","delete_partial","publish_partial","unpublish_partial","edit_seo","restore_revision","delete_revision","publish_theme","add_library_block","add_library_template","edit_library_block","edit_library_template","delete_library_block","delete_library_template","add_media","edit_media","delete_media"]}async getUserInfo(){return{id:"mock-chai-user",email:"mock-chai-user@chaibuilder.com",name:"Mock Chai User",avatar:"https://i.pravatar.cc/300"}}}class p{constructor(a="",t=E){this.apiKey=a,this.apiUrl=t}async handleAction(a,t=""){return await(await fetch(`${this.apiUrl}/v1/api/chai`,{cache:"no-store",method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,...t?{"x-chai-user":t}:{}}})).json()}}class y{constructor(a){l(this,"fallbackLang","");l(this,"currentLang","");l(this,"draftMode",!1);l(this,"userMgmt",new f);this.backend=a,this._registerPageTypes()}_registerPageTypes(){k("page",{name:"Static Page",icon:'<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M5 8V20H19V8H5ZM5 6H19V4H5V6ZM20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM7 10H11V14H7V10ZM7 16H17V18H7V16ZM13 11H17V13H13V11Z"></path></svg>'}),b("global",{name:"Global Block",helpText:"A global block can be reused in multiple pages.",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe w-4 h-4 text-slate-500 stroke-[1]"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>'})}setUserManagement(a){this.userMgmt=a}setFallbackLang(a){this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setCurrentLang(a){this.currentLang=a}getCurrentLang(){return this.currentLang}setDraftMode(a){this.draftMode=a}isDraftMode(){return this.draftMode}async handle(a,t){switch(a.action){case"CHECK_USER_STATUS":return this.userMgmt.isUserActive(a.data.authToken);case"GET_PERMISSIONS":return this.userMgmt.getUserPermissions(a.data.authToken);case"GET_CHAI_USER":return this.userMgmt.getUserInfo(a.data.userId)}if(a.action==="GET_BUILDER_PAGE_DATA"){const e=await d(a.data.lang,!0,!0),r=s(a.data.pageType);return r?{...r.dataProvider?await r.dataProvider({},a.data.lang,!0,!0):{},global:e}:{global:e}}if(a.action==="GET_PAGE_TYPES")return Promise.all(g().map(async e=>({key:e.key,helpText:e.helpText??"",icon:e.icon??"",dynamicSegments:e.dynamicSegments??"",dynamicSlug:e.dynamicSlug??"",hasSlug:e.hasSlug??!0,name:typeof e.name=="function"?await e.name():e.name})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const e=s(a.data.pageType);return e?e.search?await e.search(a.data.query):this.backend.handleAction(a):{error:"Page type not found"}}const n=await this.backend.handleAction(a,t);return this.emit(a.action,n),n}emit(a,t){var r,o,c;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const n=u.get(t,"page");if(!n)return;const e=s(n.pageType);if(e)switch(a){case"CREATE_PAGE":return(r=e.onCreate)==null?void 0:r.call(e,n);case"UPDATE_PAGE":return(o=e.onUpdate)==null?void 0:o.call(e,n);case"DELETE_PAGE":return(c=e.onDelete)==null?void 0:c.call(e,n)}}setLanguageFromSlug(a){const t=u.first(a||[""]);Object.keys(P).includes(t)?this.setCurrentLang(t):this.setCurrentLang("")}async resolveLink(a,t){const n=s(a);if(!n)return"/not-found";const e=this.isDraftMode(),r=this.getCurrentLang();return n.resolveLink?await n.resolveLink(t,e,r):await this.backend.handleAction({action:"GET_LINK",data:{pageType:a,id:t,draft:e,lang:r}})}async getPageBySlug(a){const t=this.isDraftMode(),n={};return g().forEach(e=>{u.has(e,"dynamicSegments")&&e.dynamicSegments&&(n[e.key]=e.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:t,dynamicSegments:n}})}async getFullPage(a){const t=this.isDraftMode(),n=this.getCurrentLang();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,lang:n,draft:t,mergePartials:!0}})}async getSiteSettings(){const a=this.isDraftMode();return await this.backend.handleAction({action:"GET_WEBSITE_SETTINGS",data:{draft:a}})}async getPageData(a,t){var m;const n=this.isDraftMode(),e=this.getCurrentLang(),r=s(a),[o,c]=await Promise.all([this.getGlobalData(),((m=r==null?void 0:r.dataProvider)==null?void 0:m.call(r,t,e,n))||Promise.resolve({})]);return r?{...c,global:o}:{global:o}}async getGlobalData(){const a=this.getCurrentLang();return await d(a,this.isDraftMode())}async request(a){return await this.backend.handleAction(a)}}exports.ChaiBuilderPages=y;exports.ChaiBuilderPagesBackend=p;exports.ChaiBuilderPagesUserManagement=f;exports.getChaiGlobalData=d;exports.getChaiPageType=s;exports.getChaiPageTypes=g;exports.registerChaiGlobalDataProvider=w;exports.registerChaiPageType=k;exports.registerChaiPartialType=b;exports.registerChaiTaxonomy=A;
|
package/dist/server.d.ts
CHANGED
|
@@ -8,26 +8,24 @@ export declare type ChaiBuilderPage = {
|
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
export declare class ChaiBuilderPages implements ChaiBuilderPagesInterface {
|
|
11
|
-
|
|
11
|
+
protected backend: ChaiBuilderPagesBackendInterface;
|
|
12
12
|
private fallbackLang;
|
|
13
13
|
private currentLang;
|
|
14
14
|
private draftMode;
|
|
15
|
-
private
|
|
16
|
-
constructor(backend
|
|
15
|
+
private userMgmt;
|
|
16
|
+
constructor(backend: ChaiBuilderPagesBackendInterface);
|
|
17
17
|
private _registerPageTypes;
|
|
18
|
-
|
|
18
|
+
setUserManagement(usersMgmt: ChaiBuilderPagesUserManagementInterface): void;
|
|
19
19
|
setFallbackLang(lang: string): void;
|
|
20
20
|
getFallbackLang(): string;
|
|
21
21
|
setCurrentLang(lang: string): void;
|
|
22
22
|
getCurrentLang(): string;
|
|
23
23
|
setDraftMode(draft: boolean): void;
|
|
24
24
|
isDraftMode(): boolean;
|
|
25
|
-
verifyToken(): Promise<boolean>;
|
|
26
|
-
getUserInfo(userId: string): Promise<ChaiBuilderUserInfo>;
|
|
27
25
|
handle(body: {
|
|
28
26
|
action: string;
|
|
29
27
|
data: Record<string, any>;
|
|
30
|
-
}): Promise<any>;
|
|
28
|
+
}, userId?: string): Promise<any>;
|
|
31
29
|
emit(action: string, data: any): Promise<void> | undefined;
|
|
32
30
|
setLanguageFromSlug(slug: string[]): void;
|
|
33
31
|
resolveLink(pageTypeKey: string, id: string): Promise<any>;
|
|
@@ -41,13 +39,6 @@ export declare class ChaiBuilderPages implements ChaiBuilderPagesInterface {
|
|
|
41
39
|
request(body: any): Promise<any>;
|
|
42
40
|
}
|
|
43
41
|
|
|
44
|
-
declare interface ChaiBuilderPagesAuthInterface {
|
|
45
|
-
isUserActive(chaiUser: string): Promise<boolean>;
|
|
46
|
-
getUserPermissions(chaiUser: string): Promise<string[]>;
|
|
47
|
-
verifyToken(): Promise<boolean>;
|
|
48
|
-
getUserId(): string;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
42
|
export declare class ChaiBuilderPagesBackend implements ChaiBuilderPagesBackendInterface {
|
|
52
43
|
private apiKey;
|
|
53
44
|
private apiUrl;
|
|
@@ -66,9 +57,7 @@ declare interface ChaiBuilderPagesInterface {
|
|
|
66
57
|
getCurrentLang(): string;
|
|
67
58
|
setDraftMode(draft: boolean): void;
|
|
68
59
|
isDraftMode(): boolean;
|
|
69
|
-
|
|
70
|
-
verifyToken(): Promise<boolean>;
|
|
71
|
-
getUserInfo(userId: string): Promise<ChaiBuilderUserInfo>;
|
|
60
|
+
setUserManagement(usersMgmt: ChaiBuilderPagesUserManagementInterface): void;
|
|
72
61
|
handle(body: any): Promise<any>;
|
|
73
62
|
emit(action: string, data: any): void;
|
|
74
63
|
setLanguageFromSlug(slug: string[]): void;
|
|
@@ -80,14 +69,31 @@ declare interface ChaiBuilderPagesInterface {
|
|
|
80
69
|
getGlobalData(): Promise<any>;
|
|
81
70
|
}
|
|
82
71
|
|
|
83
|
-
export declare class
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
72
|
+
export declare class ChaiBuilderPagesUserManagement implements ChaiBuilderPagesUserManagementInterface {
|
|
73
|
+
verifyTokenAndGetUser(token: string): Promise<{
|
|
74
|
+
id: string;
|
|
75
|
+
name: string;
|
|
76
|
+
email: string;
|
|
77
|
+
}>;
|
|
88
78
|
isUserActive(): Promise<boolean>;
|
|
89
79
|
getUserPermissions(): Promise<string[]>;
|
|
90
|
-
|
|
80
|
+
getUserInfo(): Promise<{
|
|
81
|
+
id: string;
|
|
82
|
+
email: string;
|
|
83
|
+
name: string;
|
|
84
|
+
avatar: string;
|
|
85
|
+
}>;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
declare interface ChaiBuilderPagesUserManagementInterface {
|
|
89
|
+
isUserActive(chaiUserId: string): Promise<boolean>;
|
|
90
|
+
getUserPermissions(chaiUserId: string): Promise<string[]>;
|
|
91
|
+
verifyTokenAndGetUser(token: string): Promise<{
|
|
92
|
+
id: string;
|
|
93
|
+
name: string;
|
|
94
|
+
email: string;
|
|
95
|
+
}>;
|
|
96
|
+
getUserInfo(chaiUserId: string): Promise<ChaiBuilderUserInfo>;
|
|
91
97
|
}
|
|
92
98
|
|
|
93
99
|
export declare type ChaiBuilderPageType = {
|
package/dist/server.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var k = Object.defineProperty;
|
|
2
2
|
var b = (i, a, t) => a in i ? k(i, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[a] = t;
|
|
3
|
-
var
|
|
3
|
+
var o = (i, a, t) => b(i, typeof a != "symbol" ? a + "" : a, t);
|
|
4
4
|
import { get as _, first as f, has as S } from "lodash-es";
|
|
5
5
|
const w = {
|
|
6
6
|
ab: "Abkhazian",
|
|
@@ -190,26 +190,26 @@ const w = {
|
|
|
190
190
|
yo: "Yoruba",
|
|
191
191
|
za: "Zhuang, Chuang",
|
|
192
192
|
zu: "Zulu"
|
|
193
|
-
},
|
|
194
|
-
|
|
193
|
+
}, h = {}, A = (i, a) => {
|
|
194
|
+
h[i] = { key: i, ...a, hasSlug: !0 };
|
|
195
195
|
}, E = (i, a) => {
|
|
196
|
-
|
|
197
|
-
}, g = () => Object.values(
|
|
196
|
+
h[i] = { key: i, ...a, hasSlug: !1 };
|
|
197
|
+
}, g = () => Object.values(h), l = (i) => h[i];
|
|
198
198
|
let m = async (i, a = !1, t = !1) => ({
|
|
199
199
|
lang: i,
|
|
200
200
|
isDraft: a,
|
|
201
201
|
inBuilder: t
|
|
202
202
|
});
|
|
203
|
-
const
|
|
203
|
+
const y = (i) => m = i, d = async (i, a, t) => await m(i, a, t), M = (i, a) => {
|
|
204
204
|
({ ...a });
|
|
205
|
-
},
|
|
205
|
+
}, C = "https://api.chaibuilder.com";
|
|
206
206
|
class p {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
207
|
+
async verifyTokenAndGetUser(a) {
|
|
208
|
+
return console.log(a), {
|
|
209
|
+
id: "mock-chai-user",
|
|
210
|
+
name: "Mock Chai User",
|
|
211
|
+
email: "mock-chai-user@chaibuilder.com"
|
|
212
|
+
};
|
|
213
213
|
}
|
|
214
214
|
async isUserActive() {
|
|
215
215
|
return !0;
|
|
@@ -250,12 +250,17 @@ class p {
|
|
|
250
250
|
"delete_media"
|
|
251
251
|
];
|
|
252
252
|
}
|
|
253
|
-
|
|
254
|
-
return
|
|
253
|
+
async getUserInfo() {
|
|
254
|
+
return {
|
|
255
|
+
id: "mock-chai-user",
|
|
256
|
+
email: "mock-chai-user@chaibuilder.com",
|
|
257
|
+
name: "Mock Chai User",
|
|
258
|
+
avatar: "https://i.pravatar.cc/300"
|
|
259
|
+
};
|
|
255
260
|
}
|
|
256
261
|
}
|
|
257
|
-
class
|
|
258
|
-
constructor(a = "", t =
|
|
262
|
+
class T {
|
|
263
|
+
constructor(a = "", t = C) {
|
|
259
264
|
this.apiKey = a, this.apiUrl = t;
|
|
260
265
|
}
|
|
261
266
|
async handleAction(a, t = "") {
|
|
@@ -270,12 +275,12 @@ class C {
|
|
|
270
275
|
})).json();
|
|
271
276
|
}
|
|
272
277
|
}
|
|
273
|
-
class
|
|
274
|
-
constructor(a
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
278
|
+
class G {
|
|
279
|
+
constructor(a) {
|
|
280
|
+
o(this, "fallbackLang", "");
|
|
281
|
+
o(this, "currentLang", "");
|
|
282
|
+
o(this, "draftMode", !1);
|
|
283
|
+
o(this, "userMgmt", new p());
|
|
279
284
|
this.backend = a, this._registerPageTypes();
|
|
280
285
|
}
|
|
281
286
|
_registerPageTypes() {
|
|
@@ -288,8 +293,8 @@ class L {
|
|
|
288
293
|
icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe w-4 h-4 text-slate-500 stroke-[1]"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>'
|
|
289
294
|
});
|
|
290
295
|
}
|
|
291
|
-
|
|
292
|
-
this.
|
|
296
|
+
setUserManagement(a) {
|
|
297
|
+
this.userMgmt = a;
|
|
293
298
|
}
|
|
294
299
|
setFallbackLang(a) {
|
|
295
300
|
this.fallbackLang = a;
|
|
@@ -309,32 +314,21 @@ class L {
|
|
|
309
314
|
isDraftMode() {
|
|
310
315
|
return this.draftMode;
|
|
311
316
|
}
|
|
312
|
-
async
|
|
313
|
-
return await this.auth.verifyToken();
|
|
314
|
-
}
|
|
315
|
-
async getUserInfo(a) {
|
|
316
|
-
return {
|
|
317
|
-
id: a,
|
|
318
|
-
email: `${a}@chaibuilder.com`,
|
|
319
|
-
name: "Mock Chai User",
|
|
320
|
-
avatar: "https://i.pravatar.cc/300"
|
|
321
|
-
};
|
|
322
|
-
}
|
|
323
|
-
async handle(a) {
|
|
317
|
+
async handle(a, t) {
|
|
324
318
|
switch (a.action) {
|
|
325
319
|
case "CHECK_USER_STATUS":
|
|
326
|
-
return this.
|
|
320
|
+
return this.userMgmt.isUserActive(a.data.authToken);
|
|
327
321
|
case "GET_PERMISSIONS":
|
|
328
|
-
return this.
|
|
322
|
+
return this.userMgmt.getUserPermissions(a.data.authToken);
|
|
329
323
|
case "GET_CHAI_USER":
|
|
330
|
-
return this.getUserInfo(a.data.userId);
|
|
324
|
+
return this.userMgmt.getUserInfo(a.data.userId);
|
|
331
325
|
}
|
|
332
326
|
if (a.action === "GET_BUILDER_PAGE_DATA") {
|
|
333
|
-
const e = await d(a.data.lang, !0, !0),
|
|
327
|
+
const e = await d(a.data.lang, !0, !0), r = l(
|
|
334
328
|
a.data.pageType
|
|
335
329
|
);
|
|
336
|
-
return
|
|
337
|
-
...
|
|
330
|
+
return r ? {
|
|
331
|
+
...r.dataProvider ? await r.dataProvider({}, a.data.lang, !0, !0) : {},
|
|
338
332
|
global: e
|
|
339
333
|
} : { global: e };
|
|
340
334
|
}
|
|
@@ -356,23 +350,23 @@ class L {
|
|
|
356
350
|
);
|
|
357
351
|
return e ? e.search ? await e.search(a.data.query) : this.backend.handleAction(a) : { error: "Page type not found" };
|
|
358
352
|
}
|
|
359
|
-
const
|
|
360
|
-
return this.emit(a.action,
|
|
353
|
+
const n = await this.backend.handleAction(a, t);
|
|
354
|
+
return this.emit(a.action, n), n;
|
|
361
355
|
}
|
|
362
356
|
emit(a, t) {
|
|
363
|
-
var r,
|
|
357
|
+
var r, s, c;
|
|
364
358
|
if (!["CREATE_PAGE", "UPDATE_PAGE", "DELETE_PAGE"].includes(a)) return;
|
|
365
|
-
const
|
|
366
|
-
if (!
|
|
367
|
-
const
|
|
368
|
-
if (
|
|
359
|
+
const n = _(t, "page");
|
|
360
|
+
if (!n) return;
|
|
361
|
+
const e = l(n.pageType);
|
|
362
|
+
if (e)
|
|
369
363
|
switch (a) {
|
|
370
364
|
case "CREATE_PAGE":
|
|
371
|
-
return (r =
|
|
365
|
+
return (r = e.onCreate) == null ? void 0 : r.call(e, n);
|
|
372
366
|
case "UPDATE_PAGE":
|
|
373
|
-
return (
|
|
367
|
+
return (s = e.onUpdate) == null ? void 0 : s.call(e, n);
|
|
374
368
|
case "DELETE_PAGE":
|
|
375
|
-
return (
|
|
369
|
+
return (c = e.onDelete) == null ? void 0 : c.call(e, n);
|
|
376
370
|
}
|
|
377
371
|
}
|
|
378
372
|
// APIS
|
|
@@ -381,34 +375,34 @@ class L {
|
|
|
381
375
|
Object.keys(w).includes(t) ? this.setCurrentLang(t) : this.setCurrentLang("");
|
|
382
376
|
}
|
|
383
377
|
async resolveLink(a, t) {
|
|
384
|
-
const
|
|
385
|
-
if (!
|
|
378
|
+
const n = l(a);
|
|
379
|
+
if (!n)
|
|
386
380
|
return "/not-found";
|
|
387
|
-
const
|
|
388
|
-
return
|
|
381
|
+
const e = this.isDraftMode(), r = this.getCurrentLang();
|
|
382
|
+
return n.resolveLink ? await n.resolveLink(t, e, r) : await this.backend.handleAction({
|
|
389
383
|
action: "GET_LINK",
|
|
390
384
|
data: {
|
|
391
385
|
pageType: a,
|
|
392
386
|
id: t,
|
|
393
|
-
draft:
|
|
387
|
+
draft: e,
|
|
394
388
|
lang: r
|
|
395
389
|
}
|
|
396
390
|
});
|
|
397
391
|
}
|
|
398
392
|
async getPageBySlug(a) {
|
|
399
|
-
const t = this.isDraftMode(),
|
|
400
|
-
return g().forEach((
|
|
401
|
-
S(
|
|
393
|
+
const t = this.isDraftMode(), n = {};
|
|
394
|
+
return g().forEach((e) => {
|
|
395
|
+
S(e, "dynamicSegments") && e.dynamicSegments && (n[e.key] = e.dynamicSegments);
|
|
402
396
|
}), await this.backend.handleAction({
|
|
403
397
|
action: "GET_PAGE_META",
|
|
404
|
-
data: { slug: a, draft: t, dynamicSegments:
|
|
398
|
+
data: { slug: a, draft: t, dynamicSegments: n }
|
|
405
399
|
});
|
|
406
400
|
}
|
|
407
401
|
async getFullPage(a) {
|
|
408
|
-
const t = this.isDraftMode(),
|
|
402
|
+
const t = this.isDraftMode(), n = this.getCurrentLang();
|
|
409
403
|
return await this.backend.handleAction({
|
|
410
404
|
action: "GET_PAGE",
|
|
411
|
-
data: { id: a, lang:
|
|
405
|
+
data: { id: a, lang: n, draft: t, mergePartials: !0 }
|
|
412
406
|
});
|
|
413
407
|
}
|
|
414
408
|
async getSiteSettings() {
|
|
@@ -420,14 +414,14 @@ class L {
|
|
|
420
414
|
}
|
|
421
415
|
async getPageData(a, t) {
|
|
422
416
|
var u;
|
|
423
|
-
const
|
|
417
|
+
const n = this.isDraftMode(), e = this.getCurrentLang(), r = l(a), [s, c] = await Promise.all([
|
|
424
418
|
this.getGlobalData(),
|
|
425
|
-
((u = r == null ? void 0 : r.dataProvider) == null ? void 0 : u.call(r, t,
|
|
419
|
+
((u = r == null ? void 0 : r.dataProvider) == null ? void 0 : u.call(r, t, e, n)) || Promise.resolve({})
|
|
426
420
|
]);
|
|
427
421
|
return r ? {
|
|
428
|
-
...
|
|
429
|
-
global:
|
|
430
|
-
} : { global:
|
|
422
|
+
...c,
|
|
423
|
+
global: s
|
|
424
|
+
} : { global: s };
|
|
431
425
|
}
|
|
432
426
|
async getGlobalData() {
|
|
433
427
|
const a = this.getCurrentLang();
|
|
@@ -438,14 +432,14 @@ class L {
|
|
|
438
432
|
}
|
|
439
433
|
}
|
|
440
434
|
export {
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
p as
|
|
435
|
+
G as ChaiBuilderPages,
|
|
436
|
+
T as ChaiBuilderPagesBackend,
|
|
437
|
+
p as ChaiBuilderPagesUserManagement,
|
|
444
438
|
d as getChaiGlobalData,
|
|
445
439
|
l as getChaiPageType,
|
|
446
440
|
g as getChaiPageTypes,
|
|
447
|
-
|
|
441
|
+
y as registerChaiGlobalDataProvider,
|
|
448
442
|
A as registerChaiPageType,
|
|
449
443
|
E as registerChaiPartialType,
|
|
450
|
-
|
|
444
|
+
M as registerChaiTaxonomy
|
|
451
445
|
};
|