@chaibuilder/pages 0.6.1 → 0.6.2
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 +17 -17
- package/dist/server.js +379 -394
- package/package.json +1 -1
package/dist/server.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var I=Object.defineProperty;var M=(i,a,e)=>a in i?I(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var p=(i,a,e)=>M(i,typeof a!="symbol"?a+"":a,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("lodash-es"),O=require("@chaibuilder/runtime");let y=async i=>({...i});const R=i=>{y=i},_=async i=>{try{return await y(i)}catch(a){return console.error(a),{}}},P={},T=()=>Object.values(P),A=i=>P[i],b=(i,a)=>{P[i]={key:i,...a,hasSlug:!0}},v=(i,a)=>{P[i]={key:i,...a,hasSlug:!1}},C={};function H(i,a){c.has(C,i)&&console.warn(`Collection ${i} already registered`),C[i]={...a,id:i}}const G=()=>Object.values(C),L=i=>c.get(C,i),U={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"};class K{constructor(a){this.backend=a}async upload({file:a,folderId:e,name:n},t){var o,l;return await((l=(o=this.backend).handleAssetsAction)==null?void 0:l.call(o,{action:"UPLOAD_ASSET",data:{name:n,file:a,folderId:e}},t))}async getAsset({id:a},e){var n,t;return(t=(n=this.backend).handleAssetsAction)==null?void 0:t.call(n,{action:"GET_ASSET",data:{id:a}},e)}async getAssets(a,e){var n,t;return(t=(n=this.backend).handleAssetsAction)==null?void 0:t.call(n,{action:"GET_ASSETS",data:a},e)}async deleteAsset({id:a},e){var n,t;return(t=(n=this.backend).handleAssetsAction)==null?void 0:t.call(n,{action:"DELETE_ASSET",data:{id:a}},e)}async updateAsset({id:a,file:e,description:n},t){var r,o;return(o=(r=this.backend).handleAssetsAction)==null?void 0:o.call(r,{action:"UPDATE_ASSET",data:{id:a,file:e,description:n}},t)}}class D{constructor(a){this.backend=a}async refreshToken(a){var n,t;const e=await((t=(n=this.backend).handleUsersAction)==null?void 0:t.call(n,{action:"REFRESH_TOKEN",data:a}));return e.error?{error:e.error}:e}async login({email:a,password:e}){var t,r;const n=await((r=(t=this.backend).handleUsersAction)==null?void 0:r.call(t,{action:"LOGIN",data:{email:a,password:e}}));return n.error?{error:n.error}:n}async logout(){var a,e;await((e=(a=this.backend).handleUsersAction)==null?void 0:e.call(a,{action:"LOGOUT"}))}async isUserActive(a){var n,t;return(await((t=(n=this.backend).handleUsersAction)==null?void 0:t.call(n,{action:"CHECK_USER_STATUS"},a))).success}async getUserRoleAndPermissions(a){var n,t;return await((t=(n=this.backend).handleUsersAction)==null?void 0:t.call(n,{action:"GET_ROLE_AND_PERMISSIONS"},a))}async getUserInfo(a,e){var t,r;return await((r=(t=this.backend).handleUsersAction)==null?void 0:r.call(t,{action:"GET_CHAI_USER",data:e},a))}}class N{constructor(a,e,n){p(this,"fallbackLang","");p(this,"currentLang","");p(this,"draftMode",!1);this.backend=a,this.chaiUsers=e,this.chaiAssets=n,this._registerDefaultPageTypes(),this.chaiUsers=e??new D(this.backend),this.chaiAssets=n??new K(this.backend)}_registerDefaultPageTypes(){b("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>'}),v("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>'})}setFallbackLang(a){if(c.isEmpty(a))throw new Error("Fallback language cannot be empty");this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setCurrentLang(a){if(c.isEmpty(a))throw new Error("Current language cannot be empty");this.currentLang=a}getCurrentLang(){return this.currentLang}setDraftMode(a){this.draftMode=a}isDraftMode(){return this.draftMode}async handle(a,e){var t,r,o,l,m,f,S,E,g,w,h;switch(a.action){case"UPLOAD_ASSET":return(t=this.chaiAssets)==null?void 0:t.upload({file:a.data.file,name:a.data.name,folderId:a.data.folderId??null,optimize:a.data.optimize??!0},e);case"GET_ASSET":return(r=this.chaiAssets)==null?void 0:r.getAsset(a.data,e);case"GET_ASSETS":return(o=this.chaiAssets)==null?void 0:o.getAssets(a.data,e);case"DELETE_ASSET":return(l=this.chaiAssets)==null?void 0:l.deleteAsset(a.data,e);case"UPDATE_ASSET":return(m=this.chaiAssets)==null?void 0:m.updateAsset(a.data,e);case"REFRESH_TOKEN":return(f=this.chaiUsers)==null?void 0:f.refreshToken(a.data);case"LOGIN":return(S=this.chaiUsers)==null?void 0:S.login(a.data);case"LOGOUT":return(E=this.chaiUsers)==null?void 0:E.logout();case"CHECK_USER_STATUS":return(g=this.chaiUsers)==null?void 0:g.isUserActive(e);case"GET_ROLE_AND_PERMISSIONS":return(w=this.chaiUsers)==null?void 0:w.getUserRoleAndPermissions(e);case"GET_CHAI_USER":return(h=this.chaiUsers)==null?void 0:h.getUserInfo(e,a.data)}if(a.action==="GET_BUILDER_PAGE_DATA"){const s=await _({lang:a.data.lang,draft:!0,inBuilder:!0}),u=A(a.data.pageType);return u?{...u.dataProvider?await u.dataProvider({lang:a.data.lang,draft:!0,inBuilder:!0,pageProps:a.data.pageProps??{}}):{},global:s}:{global:s}}if(a.action==="GET_PAGE_TYPES")return Promise.all(T().map(async s=>({key:s.key,helpText:s.helpText??"",icon:s.icon??"",dynamicSegments:s.dynamicSegments??"",dynamicSlug:s.dynamicSlug??"",hasSlug:s.hasSlug??!0,name:typeof s.name=="function"?await s.name():s.name,...c.isFunction(s.defaultTrackingInfo)?{trackingDefault:s.defaultTrackingInfo()}:{}})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const s=A(a.data.pageType);return s?s.search?await s.search(a.data.query):this.backend.handleAction(a,e):{error:"Page type not found"}}if(a.action==="GET_COLLECTIONS")return G().map(s=>c.omit(s,"fetch"));if(a.action==="GET_BLOCK_ASYNC_PROPS"){const s=a.data.block,u=s._type;if(u==="Repeater"&&(s!=null&&s.repeaterItems.includes("{{#"))){const d=s.repeaterItems.replace("{{#","").replace("}}",""),k=L(d);return k?await(k==null?void 0:k.fetch({block:s,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0}))??[]:[]}else{const d=O.getRegisteredChaiBlock(u);return!d||!c.isFunction(d.dataProvider)?{}:await d.dataProvider({block:s,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0})??{}}}const n=await this.backend.handleAction(a,e);return this.emit(a.action,n),n}emit(a,e){var r,o,l;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const n=c.get(e,"page");if(!n)return;const t=A(n.pageType);if(t)switch(a){case"CREATE_PAGE":return(r=t.onCreate)==null?void 0:r.call(t,n);case"UPDATE_PAGE":return(o=t.onUpdate)==null?void 0:o.call(t,n);case"DELETE_PAGE":return(l=t.onDelete)==null?void 0:l.call(t,n)}}setLanguageFromSlug(a){if(!this.getFallbackLang())throw new Error("Please set a fallback language using setFallbackLang(lang: string)");const e=c.first(a||[""]);Object.keys(U).includes(e)?this.setCurrentLang(e):this.setCurrentLang(this.getFallbackLang())}async resolvePageLink(a){if(!c.startsWith(a,"pageType:"))return a;const e=a.split(":")[1],n=a.split(":")[2],t=A(e);return t?await this.resolveLink(t.key,n):a}async resolveLink(a,e){const n=A(a);if(!n)return"/not-found";const t=this.isDraftMode(),r=this.getCurrentLang()===this.getFallbackLang()?"":this.getCurrentLang();return n.resolveLink?await n.resolveLink(e,t,r):await this.backend.handleAction({action:"GET_LINK",data:{pageType:a,id:e,draft:t,lang:r}})}async getPageBySlug(a){const e=this.isDraftMode(),n={};return T().forEach(t=>{c.has(t,"dynamicSegments")&&t.dynamicSegments&&(n[t.key]=t.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:e,dynamicSegments:n}})}async getFullPage(a){const e=this.isDraftMode(),n=this.getCurrentLang(),t=this.getFallbackLang();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,lang:t===n?void 0:n,draft:e,mergePartials:!0}})}async getSiteSettings(){const a=this.isDraftMode();return await this.backend.handleAction({action:"GET_WEBSITE_SETTINGS",data:{draft:a}})}async getPageData(a,e,n){var E;const t=this.isDraftMode(),r=this.getCurrentLang(),o=A(e),l=a.filter(g=>g._type==="Repeater"&&(g==null?void 0:g.repeaterItems.includes("{{#")));let m={};if(l.length>0){const g=l.map(h=>({collectionId:h.repeaterItems.replace("{{#","").replace("}}",""),block:h}));m=(await Promise.all(g.map(async({collectionId:h,block:s})=>{const u=L(h);try{const d=await(u==null?void 0:u.fetch({lang:r,draft:t,inBuilder:!1,pageProps:n,block:s}));return Promise.resolve({[`#${h}/${s._id}`]:c.get(d,"items",[])??[]})}catch{return Promise.resolve({[`#${h}/${s._id}`]:[]})}}))).reduce((h,s)=>({...h,...s}),{})}const[f,S]=await Promise.all([this.getGlobalData(),((E=o==null?void 0:o.dataProvider)==null?void 0:E.call(o,{lang:r,draft:t,inBuilder:!1,pageProps:n}))||Promise.resolve({})]);return o?{...S,global:f,...m}:{global:f,...m}}async getGlobalData(){const a=this.getCurrentLang();return await _({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class j{constructor(a="",e=B){this.apiKey=a,this.apiUrl=e}async handleUsersAction(a,e){const n=await fetch(`${this.apiUrl}/v1/api/users`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":e}}),t=await n.json();return c.has(t,"error")?{...t,status:n.status}:t}async handleAction(a,e){const n=await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":e}}),t=await n.json();return c.has(t,"error")?{...t,status:n.status}:t}async handleAssetsAction(a,e){return await(await fetch(`${this.apiUrl}/v1/api/assets`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":e}})).json()}}const B="https://api.chaibuilder.com";exports.API_URL=B;exports.ChaiBuilderPages=N;exports.ChaiBuilderPagesBackend=j;exports.ChaiBuilderPagesUserManagement=D;exports.LANGUAGES=U;exports.getChaiCollection=L;exports.getChaiCollections=G;exports.getChaiPageType=A;exports.getChaiPageTypes=T;exports.registerChaiCollection=H;exports.registerChaiGlobalDataProvider=R;exports.registerChaiPageType=b;exports.registerChaiPartialType=v;
|
|
1
|
+
"use strict";var B=Object.defineProperty;var I=(n,a,t)=>a in n?B(n,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[a]=t;var C=(n,a,t)=>I(n,typeof a!="symbol"?a+"":a,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("lodash-es"),M=require("@chaibuilder/runtime");let v=async n=>({...n});const O=n=>{v=n},y=async n=>{try{return await v(n)}catch(a){return console.error(a),{}}},P={},T=()=>Object.values(P),A=n=>P[n],b=(n,a)=>{P[n]={key:n,...a,hasSlug:!0}},G=(n,a)=>{P[n]={key:n,...a,hasSlug:!1}},k={};function R(n,a){c.has(k,n)&&console.warn(`Collection ${n} already registered`),k[n]={...a,id:n}}const U=()=>Object.values(k),_=n=>c.get(k,n);class H{constructor(a){this.backend=a}async upload({file:a,folderId:t,name:s},e){var o,l;return await((l=(o=this.backend).handleAssetsAction)==null?void 0:l.call(o,{action:"UPLOAD_ASSET",data:{name:s,file:a,folderId:t}},e))}async getAsset({id:a},t){var s,e;return(e=(s=this.backend).handleAssetsAction)==null?void 0:e.call(s,{action:"GET_ASSET",data:{id:a}},t)}async getAssets(a,t){var s,e;return(e=(s=this.backend).handleAssetsAction)==null?void 0:e.call(s,{action:"GET_ASSETS",data:a},t)}async deleteAsset({id:a},t){var s,e;return(e=(s=this.backend).handleAssetsAction)==null?void 0:e.call(s,{action:"DELETE_ASSET",data:{id:a}},t)}async updateAsset({id:a,file:t,description:s},e){var r,o;return(o=(r=this.backend).handleAssetsAction)==null?void 0:o.call(r,{action:"UPDATE_ASSET",data:{id:a,file:t,description:s}},e)}}class L{constructor(a){this.backend=a}async refreshToken(a){var s,e;const t=await((e=(s=this.backend).handleUsersAction)==null?void 0:e.call(s,{action:"REFRESH_TOKEN",data:a}));return t.error?{error:t.error}:t}async login({email:a,password:t}){var e,r;const s=await((r=(e=this.backend).handleUsersAction)==null?void 0:r.call(e,{action:"LOGIN",data:{email:a,password:t}}));return s.error?{error:s.error}:s}async logout(){var a,t;await((t=(a=this.backend).handleUsersAction)==null?void 0:t.call(a,{action:"LOGOUT"}))}async isUserActive(a){var s,e;return(await((e=(s=this.backend).handleUsersAction)==null?void 0:e.call(s,{action:"CHECK_USER_STATUS"},a))).success}async getUserRoleAndPermissions(a){var s,e;return await((e=(s=this.backend).handleUsersAction)==null?void 0:e.call(s,{action:"GET_ROLE_AND_PERMISSIONS"},a))}async getUserInfo(a,t){var e,r;return await((r=(e=this.backend).handleUsersAction)==null?void 0:r.call(e,{action:"GET_CHAI_USER",data:t},a))}}class K{constructor(a,t,s){C(this,"fallbackLang","");C(this,"draftMode",!1);this.backend=a,this.chaiUsers=t,this.chaiAssets=s,this._registerDefaultPageTypes(),this.chaiUsers=t??new L(this.backend),this.chaiAssets=s??new H(this.backend)}_registerDefaultPageTypes(){b("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>'}),G("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>'})}setFallbackLang(a){if(c.isEmpty(a))throw new Error("Fallback language cannot be empty");this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setDraftMode(a){this.draftMode=a}isDraftMode(){return this.draftMode}async handle(a,t){var e,r,o,l,m,f,E,S,d,w,h;switch(a.action){case"UPLOAD_ASSET":return(e=this.chaiAssets)==null?void 0:e.upload({file:a.data.file,name:a.data.name,folderId:a.data.folderId??null,optimize:a.data.optimize??!0},t);case"GET_ASSET":return(r=this.chaiAssets)==null?void 0:r.getAsset(a.data,t);case"GET_ASSETS":return(o=this.chaiAssets)==null?void 0:o.getAssets(a.data,t);case"DELETE_ASSET":return(l=this.chaiAssets)==null?void 0:l.deleteAsset(a.data,t);case"UPDATE_ASSET":return(m=this.chaiAssets)==null?void 0:m.updateAsset(a.data,t);case"REFRESH_TOKEN":return(f=this.chaiUsers)==null?void 0:f.refreshToken(a.data);case"LOGIN":return(E=this.chaiUsers)==null?void 0:E.login(a.data);case"LOGOUT":return(S=this.chaiUsers)==null?void 0:S.logout();case"CHECK_USER_STATUS":return(d=this.chaiUsers)==null?void 0:d.isUserActive(t);case"GET_ROLE_AND_PERMISSIONS":return(w=this.chaiUsers)==null?void 0:w.getUserRoleAndPermissions(t);case"GET_CHAI_USER":return(h=this.chaiUsers)==null?void 0:h.getUserInfo(t,a.data)}if(a.action==="GET_BUILDER_PAGE_DATA"){const i=await y({lang:a.data.lang,draft:!0,inBuilder:!0}),u=A(a.data.pageType);return u?{...u.dataProvider?await u.dataProvider({lang:a.data.lang,draft:!0,inBuilder:!0,pageProps:a.data.pageProps??{}}):{},global:i}:{global:i}}if(a.action==="GET_PAGE_TYPES")return Promise.all(T().map(async i=>({key:i.key,helpText:i.helpText??"",icon:i.icon??"",dynamicSegments:i.dynamicSegments??"",dynamicSlug:i.dynamicSlug??"",hasSlug:i.hasSlug??!0,name:typeof i.name=="function"?await i.name():i.name,...c.isFunction(i.defaultTrackingInfo)?{trackingDefault:i.defaultTrackingInfo()}:{}})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const i=A(a.data.pageType);return i?i.search?await i.search(a.data.query):this.backend.handleAction(a,t):{error:"Page type not found"}}if(a.action==="GET_COLLECTIONS")return U().map(i=>c.omit(i,"fetch"));if(a.action==="GET_BLOCK_ASYNC_PROPS"){const i=a.data.block,u=i._type;if(u==="Repeater"&&(i!=null&&i.repeaterItems.includes("{{#"))){const g=i.repeaterItems.replace("{{#","").replace("}}",""),p=_(g);return p?await(p==null?void 0:p.fetch({block:i,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0}))??[]:[]}else{const g=M.getRegisteredChaiBlock(u);return!g||!c.isFunction(g.dataProvider)?{}:await g.dataProvider({block:i,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0})??{}}}const s=await this.backend.handleAction(a,t);return this.emit(a.action,s),s}emit(a,t){var r,o,l;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const s=c.get(t,"page");if(!s)return;const e=A(s.pageType);if(e)switch(a){case"CREATE_PAGE":return(r=e.onCreate)==null?void 0:r.call(e,s);case"UPDATE_PAGE":return(o=e.onUpdate)==null?void 0:o.call(e,s);case"DELETE_PAGE":return(l=e.onDelete)==null?void 0:l.call(e,s)}}async resolvePageLink(a,t){if(!c.startsWith(a,"pageType:"))return a;const s=a.split(":")[1],e=a.split(":")[2],r=A(s);return r?await this.resolveLink(r.key,e,t):a}async resolveLink(a,t,s){const e=A(a);if(!e)return"/not-found";const r=this.isDraftMode();return e.resolveLink?await e.resolveLink(t,r,s):await this.backend.handleAction({action:"GET_LINK",data:{pageType:a,id:t,draft:r,lang:s===this.getFallbackLang()?"":s}})}async getPageBySlug(a){const t=this.isDraftMode(),s={};return T().forEach(e=>{c.has(e,"dynamicSegments")&&e.dynamicSegments&&(s[e.key]=e.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:t,dynamicSegments:s}})}async getFullPage(a){const t=this.isDraftMode();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,draft:t,mergePartials:!0}})}async getSiteSettings(){const a=this.isDraftMode();return await this.backend.handleAction({action:"GET_WEBSITE_SETTINGS",data:{draft:a}})}async getPageData({blocks:a,pageType:t,pageProps:s,lang:e}){var S;const r=this.isDraftMode(),o=A(t),l=a.filter(d=>d._type==="Repeater"&&(d==null?void 0:d.repeaterItems.includes("{{#")));let m={};if(l.length>0){const d=l.map(h=>({collectionId:h.repeaterItems.replace("{{#","").replace("}}",""),block:h}));m=(await Promise.all(d.map(async({collectionId:h,block:i})=>{const u=_(h);try{const g=await(u==null?void 0:u.fetch({lang:e,draft:r,inBuilder:!1,pageProps:s,block:i}));return Promise.resolve({[`#${h}/${i._id}`]:c.get(g,"items",[])??[]})}catch{return Promise.resolve({[`#${h}/${i._id}`]:[]})}}))).reduce((h,i)=>({...h,...i}),{})}const[f,E]=await Promise.all([this.getGlobalData(e),((S=o==null?void 0:o.dataProvider)==null?void 0:S.call(o,{lang:e,draft:r,inBuilder:!1,pageProps:s}))||Promise.resolve({})]);return o?{...E,global:f,...m}:{global:f,...m}}async getGlobalData(a){return await y({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class N{constructor(a="",t=D){this.apiKey=a,this.apiUrl=t}async handleUsersAction(a,t){const s=await fetch(`${this.apiUrl}/v1/api/users`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":t}}),e=await s.json();return c.has(e,"error")?{...e,status:s.status}:e}async handleAction(a,t){const s=await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":t}}),e=await s.json();return c.has(e,"error")?{...e,status:s.status}:e}async handleAssetsAction(a,t){return await(await fetch(`${this.apiUrl}/v1/api/assets`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":t}})).json()}}const j={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"},D="https://api.chaibuilder.com";exports.API_URL=D;exports.ChaiBuilderPages=K;exports.ChaiBuilderPagesBackend=N;exports.ChaiBuilderPagesUserManagement=L;exports.LANGUAGES=j;exports.getChaiCollection=_;exports.getChaiCollections=U;exports.getChaiPageType=A;exports.getChaiPageTypes=T;exports.registerChaiCollection=R;exports.registerChaiGlobalDataProvider=O;exports.registerChaiPageType=b;exports.registerChaiPartialType=G;
|
package/dist/server.d.ts
CHANGED
|
@@ -41,14 +41,11 @@ export declare class ChaiBuilderPages implements ChaiBuilderPagesInterface {
|
|
|
41
41
|
protected chaiUsers?: ChaiBuilderPagesUsersInterface | undefined;
|
|
42
42
|
protected chaiAssets?: ChaiBuilderPagesAssetsInterface | undefined;
|
|
43
43
|
private fallbackLang;
|
|
44
|
-
private currentLang;
|
|
45
44
|
private draftMode;
|
|
46
45
|
constructor(backend: ChaiBuilderPagesBackendInterface, chaiUsers?: ChaiBuilderPagesUsersInterface | undefined, chaiAssets?: ChaiBuilderPagesAssetsInterface | undefined);
|
|
47
46
|
private _registerDefaultPageTypes;
|
|
48
47
|
setFallbackLang(lang: string): void;
|
|
49
48
|
getFallbackLang(): string;
|
|
50
|
-
setCurrentLang(lang: string): void;
|
|
51
|
-
getCurrentLang(): string;
|
|
52
49
|
setDraftMode(draft: boolean): void;
|
|
53
50
|
isDraftMode(): boolean;
|
|
54
51
|
handle(body: {
|
|
@@ -56,25 +53,25 @@ export declare class ChaiBuilderPages implements ChaiBuilderPagesInterface {
|
|
|
56
53
|
data: Record<string, any>;
|
|
57
54
|
}, authToken: string): Promise<any>;
|
|
58
55
|
emit(action: string, data: any): Promise<void> | undefined;
|
|
59
|
-
setLanguageFromSlug(slug: string[]): void;
|
|
60
56
|
/**
|
|
61
57
|
* Resolve a page link
|
|
62
58
|
* @param href - The href to resolve
|
|
63
59
|
* @returns The resolved link
|
|
64
60
|
*/
|
|
65
|
-
resolvePageLink(href: string): Promise<any>;
|
|
66
|
-
resolveLink(pageTypeKey: string, id: string): Promise<any>;
|
|
61
|
+
resolvePageLink(href: string, lang: string): Promise<any>;
|
|
62
|
+
resolveLink(pageTypeKey: string, id: string, lang: string): Promise<any>;
|
|
67
63
|
getPageBySlug(slug: string): Promise<any>;
|
|
68
64
|
getFullPage(id: string): Promise<any>;
|
|
69
65
|
getSiteSettings(): Promise<any>;
|
|
70
|
-
getPageData(blocks
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
getPageData({ blocks, pageType, pageProps, lang, }: {
|
|
67
|
+
blocks: ChaiBlock[];
|
|
68
|
+
pageType: string;
|
|
69
|
+
pageProps: ChaiPageProps;
|
|
70
|
+
lang: string;
|
|
74
71
|
}): Promise<{
|
|
75
72
|
global: any;
|
|
76
73
|
}>;
|
|
77
|
-
getGlobalData(): Promise<any>;
|
|
74
|
+
getGlobalData(lang: string): Promise<any>;
|
|
78
75
|
request(body: any): Promise<any>;
|
|
79
76
|
}
|
|
80
77
|
|
|
@@ -134,19 +131,22 @@ export declare interface ChaiBuilderPagesBackendInterface {
|
|
|
134
131
|
export declare interface ChaiBuilderPagesInterface {
|
|
135
132
|
setFallbackLang(lang: string): void;
|
|
136
133
|
getFallbackLang(): string;
|
|
137
|
-
setCurrentLang(lang: string): void;
|
|
138
|
-
getCurrentLang(): string;
|
|
139
134
|
setDraftMode(draft: boolean): void;
|
|
140
135
|
isDraftMode(): boolean;
|
|
141
136
|
handle(body: any, authToken: string): Promise<any>;
|
|
142
137
|
emit(action: string, data: any): void;
|
|
143
|
-
setLanguageFromSlug(slug: string[]): void;
|
|
144
|
-
resolveLink(pageTypeKey: string, id: string): Promise<string>;
|
|
145
138
|
getPageBySlug(slug: string): Promise<any>;
|
|
146
139
|
getFullPage(id: string): Promise<any>;
|
|
147
140
|
getSiteSettings(): Promise<any>;
|
|
148
|
-
|
|
149
|
-
|
|
141
|
+
resolveLink(pageTypeKey: string, id: string, lang: string): Promise<string>;
|
|
142
|
+
resolvePageLink(href: string, lang: string): Promise<string>;
|
|
143
|
+
getPageData({ blocks, pageType, pageProps, lang, }: {
|
|
144
|
+
blocks?: ChaiBlock[];
|
|
145
|
+
pageType: string;
|
|
146
|
+
pageProps: any;
|
|
147
|
+
lang: string;
|
|
148
|
+
}): Promise<any>;
|
|
149
|
+
getGlobalData(lang: string): Promise<any>;
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
export declare class ChaiBuilderPagesUserManagement implements ChaiBuilderPagesUsersInterface {
|
package/dist/server.js
CHANGED
|
@@ -1,318 +1,130 @@
|
|
|
1
1
|
var U = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import { has as
|
|
2
|
+
var L = (i, a, t) => a in i ? U(i, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[a] = t;
|
|
3
|
+
var T = (i, a, t) => L(i, typeof a != "symbol" ? a + "" : a, t);
|
|
4
|
+
import { has as k, get as _, isEmpty as D, isFunction as C, omit as I, startsWith as M } from "lodash-es";
|
|
5
5
|
import { getRegisteredChaiBlock as B } from "@chaibuilder/runtime";
|
|
6
6
|
let G = async (i) => ({
|
|
7
7
|
...i
|
|
8
8
|
});
|
|
9
|
-
const
|
|
9
|
+
const F = (i) => {
|
|
10
10
|
G = i;
|
|
11
|
-
},
|
|
11
|
+
}, v = async (i) => {
|
|
12
12
|
try {
|
|
13
13
|
return await G(i);
|
|
14
14
|
} catch (a) {
|
|
15
15
|
return console.error(a), {};
|
|
16
16
|
}
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
function
|
|
23
|
-
p
|
|
17
|
+
}, w = {}, y = () => Object.values(w), A = (i) => w[i], O = (i, a) => {
|
|
18
|
+
w[i] = { key: i, ...a, hasSlug: !0 };
|
|
19
|
+
}, H = (i, a) => {
|
|
20
|
+
w[i] = { key: i, ...a, hasSlug: !1 };
|
|
21
|
+
}, p = {};
|
|
22
|
+
function Z(i, a) {
|
|
23
|
+
k(p, i) && console.warn(`Collection ${i} already registered`), p[i] = { ...a, id: i };
|
|
24
24
|
}
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
aa: "Afar",
|
|
28
|
-
af: "Afrikaans",
|
|
29
|
-
ak: "Akan",
|
|
30
|
-
sq: "Albanian",
|
|
31
|
-
am: "Amharic",
|
|
32
|
-
ar: "Arabic",
|
|
33
|
-
an: "Aragonese",
|
|
34
|
-
hy: "Armenian",
|
|
35
|
-
as: "Assamese",
|
|
36
|
-
av: "Avaric",
|
|
37
|
-
ae: "Avestan",
|
|
38
|
-
ay: "Aymara",
|
|
39
|
-
az: "Azerbaijani",
|
|
40
|
-
bm: "Bambara",
|
|
41
|
-
ba: "Bashkir",
|
|
42
|
-
eu: "Basque",
|
|
43
|
-
be: "Belarusian",
|
|
44
|
-
bn: "Bengali",
|
|
45
|
-
bh: "Bihari",
|
|
46
|
-
bi: "Bislama",
|
|
47
|
-
bs: "Bosnian",
|
|
48
|
-
br: "Breton",
|
|
49
|
-
bg: "Bulgarian",
|
|
50
|
-
my: "Burmese",
|
|
51
|
-
ca: "Catalan",
|
|
52
|
-
ch: "Chamorro",
|
|
53
|
-
ce: "Chechen",
|
|
54
|
-
ny: "Chichewa",
|
|
55
|
-
zh: "Chinese",
|
|
56
|
-
"zh-Hans": "Chinese (Simplified)",
|
|
57
|
-
"zh-Hant": "Chinese (Traditional)",
|
|
58
|
-
cv: "Chuvash",
|
|
59
|
-
kw: "Cornish",
|
|
60
|
-
co: "Corsican",
|
|
61
|
-
cr: "Cree",
|
|
62
|
-
hr: "Croatian",
|
|
63
|
-
cs: "Czech",
|
|
64
|
-
da: "Danish",
|
|
65
|
-
dv: "Maldivian",
|
|
66
|
-
nl: "Dutch",
|
|
67
|
-
dz: "Dzongkha",
|
|
68
|
-
en: "English",
|
|
69
|
-
eo: "Esperanto",
|
|
70
|
-
et: "Estonian",
|
|
71
|
-
ee: "Ewe",
|
|
72
|
-
fo: "Faroese",
|
|
73
|
-
fj: "Fijian",
|
|
74
|
-
fi: "Finnish",
|
|
75
|
-
fr: "French",
|
|
76
|
-
ff: "Fula, Pular",
|
|
77
|
-
gl: "Galician",
|
|
78
|
-
gd: "Gaelic (Scottish)",
|
|
79
|
-
gv: "Manx",
|
|
80
|
-
ka: "Georgian",
|
|
81
|
-
de: "German",
|
|
82
|
-
el: "Greek",
|
|
83
|
-
kl: "Kalaallisut",
|
|
84
|
-
gn: "Guarani",
|
|
85
|
-
gu: "Gujarati",
|
|
86
|
-
ht: "Haitian Creole",
|
|
87
|
-
ha: "Hausa",
|
|
88
|
-
he: "Hebrew",
|
|
89
|
-
hz: "Herero",
|
|
90
|
-
hi: "Hindi",
|
|
91
|
-
ho: "Hiri Motu",
|
|
92
|
-
hu: "Hungarian",
|
|
93
|
-
is: "Icelandic",
|
|
94
|
-
io: "Ido",
|
|
95
|
-
ig: "Igbo",
|
|
96
|
-
id: "Indonesian",
|
|
97
|
-
ia: "Interlingua",
|
|
98
|
-
ie: "Interlingue",
|
|
99
|
-
iu: "Inuktitut",
|
|
100
|
-
ik: "Inupiak",
|
|
101
|
-
ga: "Irish",
|
|
102
|
-
it: "Italian",
|
|
103
|
-
ja: "Japanese",
|
|
104
|
-
jv: "Javanese",
|
|
105
|
-
kn: "Kannada",
|
|
106
|
-
kr: "Kanuri",
|
|
107
|
-
ks: "Kashmiri",
|
|
108
|
-
kk: "Kazakh",
|
|
109
|
-
km: "Khmer",
|
|
110
|
-
ki: "Kikuyu",
|
|
111
|
-
rw: "Kinyarwanda",
|
|
112
|
-
rn: "Kirundi",
|
|
113
|
-
ky: "Kyrgyz",
|
|
114
|
-
kv: "Komi",
|
|
115
|
-
kg: "Kongo",
|
|
116
|
-
ko: "Korean",
|
|
117
|
-
ku: "Kurdish",
|
|
118
|
-
kj: "Kwanyama",
|
|
119
|
-
lo: "Lao",
|
|
120
|
-
la: "Latin",
|
|
121
|
-
lv: "Latvian",
|
|
122
|
-
li: "Limburgish",
|
|
123
|
-
ln: "Lingala",
|
|
124
|
-
lt: "Lithuanian",
|
|
125
|
-
lu: "Luga-Katanga",
|
|
126
|
-
lg: "Luganda, Ganda",
|
|
127
|
-
lb: "Luxembourgish",
|
|
128
|
-
mk: "Macedonian",
|
|
129
|
-
mg: "Malagasy",
|
|
130
|
-
ms: "Malay",
|
|
131
|
-
ml: "Malayalam",
|
|
132
|
-
mt: "Maltese",
|
|
133
|
-
mi: "Maori",
|
|
134
|
-
mr: "Marathi",
|
|
135
|
-
mh: "Marshallese",
|
|
136
|
-
mo: "Moldavian",
|
|
137
|
-
mn: "Mongolian",
|
|
138
|
-
na: "Nauru",
|
|
139
|
-
nv: "Navajo",
|
|
140
|
-
ng: "Ndonga",
|
|
141
|
-
nd: "Northern Ndebele",
|
|
142
|
-
ne: "Nepali",
|
|
143
|
-
no: "Norwegian",
|
|
144
|
-
nb: "Norwegian bokmål",
|
|
145
|
-
nn: "Norwegian nynorsk",
|
|
146
|
-
ii: "Sichuan Yi",
|
|
147
|
-
oc: "Occitan",
|
|
148
|
-
oj: "Ojibwe",
|
|
149
|
-
cu: "Old Church Slavonic",
|
|
150
|
-
or: "Oriya",
|
|
151
|
-
om: "Oromo",
|
|
152
|
-
os: "Ossetian",
|
|
153
|
-
pi: "Pāli",
|
|
154
|
-
ps: "Pashto, Pushto",
|
|
155
|
-
fa: "Persian (Farsi)",
|
|
156
|
-
pl: "Polish",
|
|
157
|
-
pt: "Portuguese",
|
|
158
|
-
pa: "Punjabi (Eastern)",
|
|
159
|
-
qu: "Quechua",
|
|
160
|
-
rm: "Romansh",
|
|
161
|
-
ro: "Romanian",
|
|
162
|
-
ru: "Russian",
|
|
163
|
-
se: "Sami",
|
|
164
|
-
sm: "Samoan",
|
|
165
|
-
sg: "Sango",
|
|
166
|
-
sa: "Sanskrit",
|
|
167
|
-
sr: "Serbian",
|
|
168
|
-
sh: "Serbo-Croatian",
|
|
169
|
-
st: "Sesotho",
|
|
170
|
-
tn: "Setswana",
|
|
171
|
-
sn: "Shona",
|
|
172
|
-
sd: "Sindhi",
|
|
173
|
-
si: "Sinhalese",
|
|
174
|
-
ss: "Swati",
|
|
175
|
-
sk: "Slovak",
|
|
176
|
-
sl: "Slovenian",
|
|
177
|
-
so: "Somali",
|
|
178
|
-
nr: "Southern Ndebele",
|
|
179
|
-
es: "Spanish",
|
|
180
|
-
su: "Sundanese",
|
|
181
|
-
sw: "Swahili (Kiswahili)",
|
|
182
|
-
sv: "Swedish",
|
|
183
|
-
tl: "Tagalog",
|
|
184
|
-
ty: "Tahitian",
|
|
185
|
-
tg: "Tajik",
|
|
186
|
-
ta: "Tamil",
|
|
187
|
-
tt: "Tatar",
|
|
188
|
-
te: "Telugu",
|
|
189
|
-
th: "Thai",
|
|
190
|
-
bo: "Tibetan",
|
|
191
|
-
ti: "Tigrinya",
|
|
192
|
-
to: "Tonga",
|
|
193
|
-
ts: "Tsonga",
|
|
194
|
-
tr: "Turkish",
|
|
195
|
-
tk: "Turkmen",
|
|
196
|
-
tw: "Twi",
|
|
197
|
-
ug: "Uyghur",
|
|
198
|
-
uk: "Ukrainian",
|
|
199
|
-
ur: "Urdu",
|
|
200
|
-
uz: "Uzbek",
|
|
201
|
-
ve: "Venda",
|
|
202
|
-
vi: "Vietnamese",
|
|
203
|
-
vo: "Volapük",
|
|
204
|
-
wa: "Wallon",
|
|
205
|
-
cy: "Welsh",
|
|
206
|
-
wo: "Wolof",
|
|
207
|
-
fy: "Western Frisian",
|
|
208
|
-
xh: "Xhosa",
|
|
209
|
-
yi: "Yiddish",
|
|
210
|
-
yo: "Yoruba",
|
|
211
|
-
za: "Zhuang, Chuang",
|
|
212
|
-
zu: "Zulu"
|
|
213
|
-
};
|
|
214
|
-
class j {
|
|
25
|
+
const K = () => Object.values(p), b = (i) => _(p, i);
|
|
26
|
+
class R {
|
|
215
27
|
constructor(a) {
|
|
216
28
|
this.backend = a;
|
|
217
29
|
}
|
|
218
30
|
async upload({
|
|
219
31
|
file: a,
|
|
220
|
-
folderId:
|
|
221
|
-
name:
|
|
222
|
-
},
|
|
32
|
+
folderId: t,
|
|
33
|
+
name: s
|
|
34
|
+
}, e) {
|
|
223
35
|
var o, c;
|
|
224
36
|
return await ((c = (o = this.backend).handleAssetsAction) == null ? void 0 : c.call(
|
|
225
37
|
o,
|
|
226
38
|
{
|
|
227
39
|
action: "UPLOAD_ASSET",
|
|
228
40
|
data: {
|
|
229
|
-
name:
|
|
41
|
+
name: s,
|
|
230
42
|
file: a,
|
|
231
|
-
folderId:
|
|
43
|
+
folderId: t
|
|
232
44
|
}
|
|
233
45
|
},
|
|
234
|
-
|
|
46
|
+
e
|
|
235
47
|
));
|
|
236
48
|
}
|
|
237
|
-
async getAsset({ id: a },
|
|
238
|
-
var
|
|
239
|
-
return (
|
|
240
|
-
|
|
49
|
+
async getAsset({ id: a }, t) {
|
|
50
|
+
var s, e;
|
|
51
|
+
return (e = (s = this.backend).handleAssetsAction) == null ? void 0 : e.call(
|
|
52
|
+
s,
|
|
241
53
|
{ action: "GET_ASSET", data: { id: a } },
|
|
242
|
-
|
|
54
|
+
t
|
|
243
55
|
);
|
|
244
56
|
}
|
|
245
|
-
async getAssets(a,
|
|
246
|
-
var
|
|
247
|
-
return (
|
|
248
|
-
|
|
57
|
+
async getAssets(a, t) {
|
|
58
|
+
var s, e;
|
|
59
|
+
return (e = (s = this.backend).handleAssetsAction) == null ? void 0 : e.call(
|
|
60
|
+
s,
|
|
249
61
|
{
|
|
250
62
|
action: "GET_ASSETS",
|
|
251
63
|
data: a
|
|
252
64
|
},
|
|
253
|
-
|
|
65
|
+
t
|
|
254
66
|
);
|
|
255
67
|
}
|
|
256
|
-
async deleteAsset({ id: a },
|
|
257
|
-
var
|
|
258
|
-
return (
|
|
259
|
-
|
|
68
|
+
async deleteAsset({ id: a }, t) {
|
|
69
|
+
var s, e;
|
|
70
|
+
return (e = (s = this.backend).handleAssetsAction) == null ? void 0 : e.call(
|
|
71
|
+
s,
|
|
260
72
|
{
|
|
261
73
|
action: "DELETE_ASSET",
|
|
262
74
|
data: { id: a }
|
|
263
75
|
},
|
|
264
|
-
|
|
76
|
+
t
|
|
265
77
|
);
|
|
266
78
|
}
|
|
267
79
|
async updateAsset({
|
|
268
80
|
id: a,
|
|
269
|
-
file:
|
|
270
|
-
description:
|
|
271
|
-
},
|
|
81
|
+
file: t,
|
|
82
|
+
description: s
|
|
83
|
+
}, e) {
|
|
272
84
|
var r, o;
|
|
273
85
|
return (o = (r = this.backend).handleAssetsAction) == null ? void 0 : o.call(
|
|
274
86
|
r,
|
|
275
87
|
{
|
|
276
88
|
action: "UPDATE_ASSET",
|
|
277
|
-
data: { id: a, file:
|
|
89
|
+
data: { id: a, file: t, description: s }
|
|
278
90
|
},
|
|
279
|
-
|
|
91
|
+
e
|
|
280
92
|
);
|
|
281
93
|
}
|
|
282
94
|
}
|
|
283
|
-
class
|
|
95
|
+
class N {
|
|
284
96
|
constructor(a) {
|
|
285
97
|
this.backend = a;
|
|
286
98
|
}
|
|
287
99
|
async refreshToken(a) {
|
|
288
|
-
var
|
|
289
|
-
const
|
|
100
|
+
var s, e;
|
|
101
|
+
const t = await ((e = (s = this.backend).handleUsersAction) == null ? void 0 : e.call(s, {
|
|
290
102
|
action: "REFRESH_TOKEN",
|
|
291
103
|
data: a
|
|
292
104
|
}));
|
|
293
|
-
return
|
|
105
|
+
return t.error ? { error: t.error } : t;
|
|
294
106
|
}
|
|
295
107
|
async login({
|
|
296
108
|
email: a,
|
|
297
|
-
password:
|
|
109
|
+
password: t
|
|
298
110
|
}) {
|
|
299
|
-
var
|
|
300
|
-
const
|
|
111
|
+
var e, r;
|
|
112
|
+
const s = await ((r = (e = this.backend).handleUsersAction) == null ? void 0 : r.call(e, {
|
|
301
113
|
action: "LOGIN",
|
|
302
|
-
data: { email: a, password:
|
|
114
|
+
data: { email: a, password: t }
|
|
303
115
|
}));
|
|
304
|
-
return
|
|
116
|
+
return s.error ? { error: s.error } : s;
|
|
305
117
|
}
|
|
306
118
|
async logout() {
|
|
307
|
-
var a,
|
|
308
|
-
await ((
|
|
119
|
+
var a, t;
|
|
120
|
+
await ((t = (a = this.backend).handleUsersAction) == null ? void 0 : t.call(a, {
|
|
309
121
|
action: "LOGOUT"
|
|
310
122
|
}));
|
|
311
123
|
}
|
|
312
124
|
async isUserActive(a) {
|
|
313
|
-
var
|
|
314
|
-
return (await ((
|
|
315
|
-
|
|
125
|
+
var s, e;
|
|
126
|
+
return (await ((e = (s = this.backend).handleUsersAction) == null ? void 0 : e.call(
|
|
127
|
+
s,
|
|
316
128
|
{
|
|
317
129
|
action: "CHECK_USER_STATUS"
|
|
318
130
|
},
|
|
@@ -320,97 +132,88 @@ class F {
|
|
|
320
132
|
))).success;
|
|
321
133
|
}
|
|
322
134
|
async getUserRoleAndPermissions(a) {
|
|
323
|
-
var
|
|
324
|
-
return await ((
|
|
325
|
-
|
|
135
|
+
var s, e;
|
|
136
|
+
return await ((e = (s = this.backend).handleUsersAction) == null ? void 0 : e.call(
|
|
137
|
+
s,
|
|
326
138
|
{
|
|
327
139
|
action: "GET_ROLE_AND_PERMISSIONS"
|
|
328
140
|
},
|
|
329
141
|
a
|
|
330
142
|
));
|
|
331
143
|
}
|
|
332
|
-
async getUserInfo(a,
|
|
333
|
-
var
|
|
334
|
-
return await ((r = (
|
|
335
|
-
|
|
144
|
+
async getUserInfo(a, t) {
|
|
145
|
+
var e, r;
|
|
146
|
+
return await ((r = (e = this.backend).handleUsersAction) == null ? void 0 : r.call(
|
|
147
|
+
e,
|
|
336
148
|
{
|
|
337
149
|
action: "GET_CHAI_USER",
|
|
338
|
-
data:
|
|
150
|
+
data: t
|
|
339
151
|
},
|
|
340
152
|
a
|
|
341
153
|
));
|
|
342
154
|
}
|
|
343
155
|
}
|
|
344
|
-
class
|
|
345
|
-
constructor(a,
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
this.backend = a, this.chaiUsers = e, this.chaiAssets = n, this._registerDefaultPageTypes(), this.chaiUsers = e ?? new F(this.backend), this.chaiAssets = n ?? new j(this.backend);
|
|
156
|
+
class $ {
|
|
157
|
+
constructor(a, t, s) {
|
|
158
|
+
T(this, "fallbackLang", "");
|
|
159
|
+
T(this, "draftMode", !1);
|
|
160
|
+
this.backend = a, this.chaiUsers = t, this.chaiAssets = s, this._registerDefaultPageTypes(), this.chaiUsers = t ?? new N(this.backend), this.chaiAssets = s ?? new R(this.backend);
|
|
350
161
|
}
|
|
351
162
|
_registerDefaultPageTypes() {
|
|
352
|
-
|
|
163
|
+
O("page", {
|
|
353
164
|
name: "Static Page",
|
|
354
165
|
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>'
|
|
355
|
-
}),
|
|
166
|
+
}), H("global", {
|
|
356
167
|
name: "Global Block",
|
|
357
168
|
helpText: "A global block can be reused in multiple pages.",
|
|
358
169
|
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>'
|
|
359
170
|
});
|
|
360
171
|
}
|
|
361
172
|
setFallbackLang(a) {
|
|
362
|
-
if (
|
|
173
|
+
if (D(a))
|
|
363
174
|
throw new Error("Fallback language cannot be empty");
|
|
364
175
|
this.fallbackLang = a;
|
|
365
176
|
}
|
|
366
177
|
getFallbackLang() {
|
|
367
178
|
return this.fallbackLang;
|
|
368
179
|
}
|
|
369
|
-
setCurrentLang(a) {
|
|
370
|
-
if (L(a))
|
|
371
|
-
throw new Error("Current language cannot be empty");
|
|
372
|
-
this.currentLang = a;
|
|
373
|
-
}
|
|
374
|
-
getCurrentLang() {
|
|
375
|
-
return this.currentLang;
|
|
376
|
-
}
|
|
377
180
|
setDraftMode(a) {
|
|
378
181
|
this.draftMode = a;
|
|
379
182
|
}
|
|
380
183
|
isDraftMode() {
|
|
381
184
|
return this.draftMode;
|
|
382
185
|
}
|
|
383
|
-
async handle(a,
|
|
384
|
-
var
|
|
186
|
+
async handle(a, t) {
|
|
187
|
+
var e, r, o, c, g, m, E, f, u, P, l;
|
|
385
188
|
switch (a.action) {
|
|
386
189
|
// Media
|
|
387
190
|
case "UPLOAD_ASSET":
|
|
388
|
-
return (
|
|
191
|
+
return (e = this.chaiAssets) == null ? void 0 : e.upload(
|
|
389
192
|
{
|
|
390
193
|
file: a.data.file,
|
|
391
194
|
name: a.data.name,
|
|
392
195
|
folderId: a.data.folderId ?? null,
|
|
393
196
|
optimize: a.data.optimize ?? !0
|
|
394
197
|
},
|
|
395
|
-
|
|
198
|
+
t
|
|
396
199
|
);
|
|
397
200
|
case "GET_ASSET":
|
|
398
201
|
return (r = this.chaiAssets) == null ? void 0 : r.getAsset(
|
|
399
202
|
a.data,
|
|
400
|
-
|
|
203
|
+
t
|
|
401
204
|
);
|
|
402
205
|
case "GET_ASSETS":
|
|
403
|
-
return (o = this.chaiAssets) == null ? void 0 : o.getAssets(a.data,
|
|
206
|
+
return (o = this.chaiAssets) == null ? void 0 : o.getAssets(a.data, t);
|
|
404
207
|
case "DELETE_ASSET":
|
|
405
208
|
return (c = this.chaiAssets) == null ? void 0 : c.deleteAsset(
|
|
406
209
|
a.data,
|
|
407
|
-
|
|
210
|
+
t
|
|
408
211
|
);
|
|
409
212
|
case "UPDATE_ASSET":
|
|
410
|
-
return (
|
|
213
|
+
return (g = this.chaiAssets) == null ? void 0 : g.updateAsset(a.data, t);
|
|
411
214
|
// Users
|
|
412
215
|
case "REFRESH_TOKEN":
|
|
413
|
-
return (
|
|
216
|
+
return (m = this.chaiUsers) == null ? void 0 : m.refreshToken(
|
|
414
217
|
a.data
|
|
415
218
|
);
|
|
416
219
|
case "LOGIN":
|
|
@@ -420,21 +223,21 @@ class W {
|
|
|
420
223
|
case "LOGOUT":
|
|
421
224
|
return (f = this.chaiUsers) == null ? void 0 : f.logout();
|
|
422
225
|
case "CHECK_USER_STATUS":
|
|
423
|
-
return (u = this.chaiUsers) == null ? void 0 : u.isUserActive(
|
|
226
|
+
return (u = this.chaiUsers) == null ? void 0 : u.isUserActive(t);
|
|
424
227
|
case "GET_ROLE_AND_PERMISSIONS":
|
|
425
|
-
return (
|
|
228
|
+
return (P = this.chaiUsers) == null ? void 0 : P.getUserRoleAndPermissions(t);
|
|
426
229
|
case "GET_CHAI_USER":
|
|
427
230
|
return (l = this.chaiUsers) == null ? void 0 : l.getUserInfo(
|
|
428
|
-
|
|
231
|
+
t,
|
|
429
232
|
a.data
|
|
430
233
|
);
|
|
431
234
|
}
|
|
432
235
|
if (a.action === "GET_BUILDER_PAGE_DATA") {
|
|
433
|
-
const
|
|
236
|
+
const n = await v({
|
|
434
237
|
lang: a.data.lang,
|
|
435
238
|
draft: !0,
|
|
436
239
|
inBuilder: !0
|
|
437
|
-
}), h =
|
|
240
|
+
}), h = A(
|
|
438
241
|
a.data.pageType
|
|
439
242
|
);
|
|
440
243
|
return h ? {
|
|
@@ -444,47 +247,47 @@ class W {
|
|
|
444
247
|
inBuilder: !0,
|
|
445
248
|
pageProps: a.data.pageProps ?? {}
|
|
446
249
|
}) : {},
|
|
447
|
-
global:
|
|
448
|
-
} : { global:
|
|
250
|
+
global: n
|
|
251
|
+
} : { global: n };
|
|
449
252
|
}
|
|
450
253
|
if (a.action === "GET_PAGE_TYPES")
|
|
451
254
|
return Promise.all(
|
|
452
|
-
y().map(async (
|
|
453
|
-
key:
|
|
454
|
-
helpText:
|
|
455
|
-
icon:
|
|
456
|
-
dynamicSegments:
|
|
457
|
-
dynamicSlug:
|
|
458
|
-
hasSlug:
|
|
459
|
-
name: typeof
|
|
460
|
-
...
|
|
255
|
+
y().map(async (n) => ({
|
|
256
|
+
key: n.key,
|
|
257
|
+
helpText: n.helpText ?? "",
|
|
258
|
+
icon: n.icon ?? "",
|
|
259
|
+
dynamicSegments: n.dynamicSegments ?? "",
|
|
260
|
+
dynamicSlug: n.dynamicSlug ?? "",
|
|
261
|
+
hasSlug: n.hasSlug ?? !0,
|
|
262
|
+
name: typeof n.name == "function" ? await n.name() : n.name,
|
|
263
|
+
...C(n.defaultTrackingInfo) ? { trackingDefault: n.defaultTrackingInfo() } : {}
|
|
461
264
|
}))
|
|
462
265
|
);
|
|
463
266
|
if (a.action === "SEARCH_PAGE_TYPE_ITEMS") {
|
|
464
|
-
const
|
|
267
|
+
const n = A(
|
|
465
268
|
a.data.pageType
|
|
466
269
|
);
|
|
467
|
-
return
|
|
270
|
+
return n ? n.search ? await n.search(a.data.query) : this.backend.handleAction(a, t) : { error: "Page type not found" };
|
|
468
271
|
}
|
|
469
272
|
if (a.action === "GET_COLLECTIONS")
|
|
470
|
-
return
|
|
471
|
-
(
|
|
273
|
+
return K().map(
|
|
274
|
+
(n) => I(n, "fetch")
|
|
472
275
|
);
|
|
473
276
|
if (a.action === "GET_BLOCK_ASYNC_PROPS") {
|
|
474
|
-
const
|
|
475
|
-
if (h === "Repeater" && (
|
|
476
|
-
const
|
|
277
|
+
const n = a.data.block, h = n._type;
|
|
278
|
+
if (h === "Repeater" && (n != null && n.repeaterItems.includes("{{#"))) {
|
|
279
|
+
const d = n.repeaterItems.replace("{{#", "").replace("}}", ""), S = b(d);
|
|
477
280
|
return S ? await (S == null ? void 0 : S.fetch({
|
|
478
|
-
block:
|
|
281
|
+
block: n,
|
|
479
282
|
pageProps: a.data.pageProps,
|
|
480
283
|
lang: a.data.lang,
|
|
481
284
|
draft: !0,
|
|
482
285
|
inBuilder: !0
|
|
483
286
|
})) ?? [] : [];
|
|
484
287
|
} else {
|
|
485
|
-
const
|
|
486
|
-
return !
|
|
487
|
-
block:
|
|
288
|
+
const d = B(h);
|
|
289
|
+
return !d || !C(d.dataProvider) ? {} : await d.dataProvider({
|
|
290
|
+
block: n,
|
|
488
291
|
pageProps: a.data.pageProps,
|
|
489
292
|
lang: a.data.lang,
|
|
490
293
|
draft: !0,
|
|
@@ -492,77 +295,67 @@ class W {
|
|
|
492
295
|
}) ?? {};
|
|
493
296
|
}
|
|
494
297
|
}
|
|
495
|
-
const
|
|
496
|
-
return this.emit(a.action,
|
|
298
|
+
const s = await this.backend.handleAction(a, t);
|
|
299
|
+
return this.emit(a.action, s), s;
|
|
497
300
|
}
|
|
498
|
-
emit(a,
|
|
301
|
+
emit(a, t) {
|
|
499
302
|
var r, o, c;
|
|
500
303
|
if (!["CREATE_PAGE", "UPDATE_PAGE", "DELETE_PAGE"].includes(a)) return;
|
|
501
|
-
const
|
|
502
|
-
if (!
|
|
503
|
-
const
|
|
504
|
-
if (
|
|
304
|
+
const s = _(t, "page");
|
|
305
|
+
if (!s) return;
|
|
306
|
+
const e = A(s.pageType);
|
|
307
|
+
if (e)
|
|
505
308
|
switch (a) {
|
|
506
309
|
case "CREATE_PAGE":
|
|
507
|
-
return (r =
|
|
310
|
+
return (r = e.onCreate) == null ? void 0 : r.call(e, s);
|
|
508
311
|
case "UPDATE_PAGE":
|
|
509
|
-
return (o =
|
|
312
|
+
return (o = e.onUpdate) == null ? void 0 : o.call(e, s);
|
|
510
313
|
case "DELETE_PAGE":
|
|
511
|
-
return (c =
|
|
314
|
+
return (c = e.onDelete) == null ? void 0 : c.call(e, s);
|
|
512
315
|
}
|
|
513
316
|
}
|
|
514
|
-
// APIS
|
|
515
|
-
setLanguageFromSlug(a) {
|
|
516
|
-
if (!this.getFallbackLang())
|
|
517
|
-
throw new Error(
|
|
518
|
-
"Please set a fallback language using setFallbackLang(lang: string)"
|
|
519
|
-
);
|
|
520
|
-
const e = M(a || [""]);
|
|
521
|
-
Object.keys(N).includes(e) ? this.setCurrentLang(e) : this.setCurrentLang(this.getFallbackLang());
|
|
522
|
-
}
|
|
523
317
|
/**
|
|
524
318
|
* Resolve a page link
|
|
525
319
|
* @param href - The href to resolve
|
|
526
320
|
* @returns The resolved link
|
|
527
321
|
*/
|
|
528
|
-
async resolvePageLink(a) {
|
|
529
|
-
if (!
|
|
322
|
+
async resolvePageLink(a, t) {
|
|
323
|
+
if (!M(a, "pageType:"))
|
|
530
324
|
return a;
|
|
531
|
-
const
|
|
532
|
-
return
|
|
325
|
+
const s = a.split(":")[1], e = a.split(":")[2], r = A(s);
|
|
326
|
+
return r ? await this.resolveLink(r.key, e, t) : a;
|
|
533
327
|
}
|
|
534
|
-
async resolveLink(a,
|
|
535
|
-
const
|
|
536
|
-
if (!
|
|
328
|
+
async resolveLink(a, t, s) {
|
|
329
|
+
const e = A(a);
|
|
330
|
+
if (!e)
|
|
537
331
|
return "/not-found";
|
|
538
|
-
const
|
|
539
|
-
return
|
|
332
|
+
const r = this.isDraftMode();
|
|
333
|
+
return e.resolveLink ? await e.resolveLink(t, r, s) : await this.backend.handleAction({
|
|
540
334
|
action: "GET_LINK",
|
|
541
335
|
data: {
|
|
542
336
|
pageType: a,
|
|
543
|
-
id:
|
|
544
|
-
draft:
|
|
545
|
-
lang:
|
|
337
|
+
id: t,
|
|
338
|
+
draft: r,
|
|
339
|
+
lang: s === this.getFallbackLang() ? "" : s
|
|
546
340
|
}
|
|
547
341
|
});
|
|
548
342
|
}
|
|
549
343
|
async getPageBySlug(a) {
|
|
550
|
-
const
|
|
551
|
-
return y().forEach((
|
|
552
|
-
|
|
344
|
+
const t = this.isDraftMode(), s = {};
|
|
345
|
+
return y().forEach((e) => {
|
|
346
|
+
k(e, "dynamicSegments") && e.dynamicSegments && (s[e.key] = e.dynamicSegments);
|
|
553
347
|
}), await this.backend.handleAction({
|
|
554
348
|
action: "GET_PAGE_META",
|
|
555
|
-
data: { slug: a, draft:
|
|
349
|
+
data: { slug: a, draft: t, dynamicSegments: s }
|
|
556
350
|
});
|
|
557
351
|
}
|
|
558
352
|
async getFullPage(a) {
|
|
559
|
-
const
|
|
353
|
+
const t = this.isDraftMode();
|
|
560
354
|
return await this.backend.handleAction({
|
|
561
355
|
action: "GET_PAGE",
|
|
562
356
|
data: {
|
|
563
357
|
id: a,
|
|
564
|
-
|
|
565
|
-
draft: e,
|
|
358
|
+
draft: t,
|
|
566
359
|
mergePartials: !0
|
|
567
360
|
}
|
|
568
361
|
});
|
|
@@ -574,54 +367,58 @@ class W {
|
|
|
574
367
|
data: { draft: a }
|
|
575
368
|
});
|
|
576
369
|
}
|
|
577
|
-
async getPageData(
|
|
370
|
+
async getPageData({
|
|
371
|
+
blocks: a,
|
|
372
|
+
pageType: t,
|
|
373
|
+
pageProps: s,
|
|
374
|
+
lang: e
|
|
375
|
+
}) {
|
|
578
376
|
var f;
|
|
579
|
-
const
|
|
377
|
+
const r = this.isDraftMode(), o = A(t), c = a.filter(
|
|
580
378
|
(u) => u._type === "Repeater" && (u == null ? void 0 : u.repeaterItems.includes("{{#"))
|
|
581
379
|
);
|
|
582
|
-
let
|
|
380
|
+
let g = {};
|
|
583
381
|
if (c.length > 0) {
|
|
584
382
|
const u = c.map((l) => ({ collectionId: l.repeaterItems.replace("{{#", "").replace("}}", ""), block: l }));
|
|
585
|
-
|
|
586
|
-
u.map(async ({ collectionId: l, block:
|
|
587
|
-
const h =
|
|
383
|
+
g = (await Promise.all(
|
|
384
|
+
u.map(async ({ collectionId: l, block: n }) => {
|
|
385
|
+
const h = b(l);
|
|
588
386
|
try {
|
|
589
|
-
const
|
|
590
|
-
lang:
|
|
591
|
-
draft:
|
|
387
|
+
const d = await (h == null ? void 0 : h.fetch({
|
|
388
|
+
lang: e,
|
|
389
|
+
draft: r,
|
|
592
390
|
inBuilder: !1,
|
|
593
|
-
pageProps:
|
|
594
|
-
block:
|
|
391
|
+
pageProps: s,
|
|
392
|
+
block: n
|
|
595
393
|
}));
|
|
596
394
|
return Promise.resolve({
|
|
597
|
-
[`#${l}/${
|
|
395
|
+
[`#${l}/${n._id}`]: _(d, "items", []) ?? []
|
|
598
396
|
});
|
|
599
397
|
} catch {
|
|
600
398
|
return Promise.resolve({
|
|
601
|
-
[`#${l}/${
|
|
399
|
+
[`#${l}/${n._id}`]: []
|
|
602
400
|
});
|
|
603
401
|
}
|
|
604
402
|
})
|
|
605
|
-
)).reduce((l,
|
|
403
|
+
)).reduce((l, n) => ({ ...l, ...n }), {});
|
|
606
404
|
}
|
|
607
|
-
const [
|
|
608
|
-
this.getGlobalData(),
|
|
405
|
+
const [m, E] = await Promise.all([
|
|
406
|
+
this.getGlobalData(e),
|
|
609
407
|
((f = o == null ? void 0 : o.dataProvider) == null ? void 0 : f.call(o, {
|
|
610
|
-
lang:
|
|
611
|
-
draft:
|
|
408
|
+
lang: e,
|
|
409
|
+
draft: r,
|
|
612
410
|
inBuilder: !1,
|
|
613
|
-
pageProps:
|
|
411
|
+
pageProps: s
|
|
614
412
|
})) || Promise.resolve({})
|
|
615
413
|
]);
|
|
616
414
|
return o ? {
|
|
617
415
|
...E,
|
|
618
|
-
global:
|
|
619
|
-
...
|
|
620
|
-
} : { global:
|
|
416
|
+
global: m,
|
|
417
|
+
...g
|
|
418
|
+
} : { global: m, ...g };
|
|
621
419
|
}
|
|
622
|
-
async getGlobalData() {
|
|
623
|
-
|
|
624
|
-
return await b({
|
|
420
|
+
async getGlobalData(a) {
|
|
421
|
+
return await v({
|
|
625
422
|
lang: a,
|
|
626
423
|
draft: this.isDraftMode(),
|
|
627
424
|
inBuilder: !1
|
|
@@ -631,56 +428,244 @@ class W {
|
|
|
631
428
|
return await this.backend.handleAction(a);
|
|
632
429
|
}
|
|
633
430
|
}
|
|
634
|
-
class
|
|
635
|
-
constructor(a = "",
|
|
636
|
-
this.apiKey = a, this.apiUrl =
|
|
431
|
+
class Y {
|
|
432
|
+
constructor(a = "", t = j) {
|
|
433
|
+
this.apiKey = a, this.apiUrl = t;
|
|
637
434
|
}
|
|
638
|
-
async handleUsersAction(a,
|
|
639
|
-
const
|
|
435
|
+
async handleUsersAction(a, t) {
|
|
436
|
+
const s = await fetch(`${this.apiUrl}/v1/api/users`, {
|
|
640
437
|
method: "POST",
|
|
641
438
|
body: JSON.stringify(a),
|
|
642
439
|
headers: {
|
|
643
440
|
"x-chai-api-key": this.apiKey,
|
|
644
|
-
"x-chai-auth-token":
|
|
441
|
+
"x-chai-auth-token": t
|
|
645
442
|
}
|
|
646
|
-
}),
|
|
647
|
-
return
|
|
443
|
+
}), e = await s.json();
|
|
444
|
+
return k(e, "error") ? { ...e, status: s.status } : e;
|
|
648
445
|
}
|
|
649
|
-
async handleAction(a,
|
|
650
|
-
const
|
|
446
|
+
async handleAction(a, t) {
|
|
447
|
+
const s = await fetch(`${this.apiUrl}/v1/api/chai`, {
|
|
651
448
|
method: "POST",
|
|
652
449
|
body: JSON.stringify(a),
|
|
653
450
|
headers: {
|
|
654
451
|
"x-chai-api-key": this.apiKey,
|
|
655
|
-
"x-chai-auth-token":
|
|
452
|
+
"x-chai-auth-token": t
|
|
656
453
|
}
|
|
657
|
-
}),
|
|
658
|
-
return
|
|
454
|
+
}), e = await s.json();
|
|
455
|
+
return k(e, "error") ? { ...e, status: s.status } : e;
|
|
659
456
|
}
|
|
660
|
-
async handleAssetsAction(a,
|
|
457
|
+
async handleAssetsAction(a, t) {
|
|
661
458
|
return await (await fetch(`${this.apiUrl}/v1/api/assets`, {
|
|
662
459
|
method: "POST",
|
|
663
460
|
body: JSON.stringify(a),
|
|
664
461
|
headers: {
|
|
665
462
|
"x-chai-api-key": this.apiKey,
|
|
666
|
-
"x-chai-auth-token":
|
|
463
|
+
"x-chai-auth-token": t
|
|
667
464
|
}
|
|
668
465
|
})).json();
|
|
669
466
|
}
|
|
670
467
|
}
|
|
671
|
-
const
|
|
468
|
+
const W = {
|
|
469
|
+
ab: "Abkhazian",
|
|
470
|
+
aa: "Afar",
|
|
471
|
+
af: "Afrikaans",
|
|
472
|
+
ak: "Akan",
|
|
473
|
+
sq: "Albanian",
|
|
474
|
+
am: "Amharic",
|
|
475
|
+
ar: "Arabic",
|
|
476
|
+
an: "Aragonese",
|
|
477
|
+
hy: "Armenian",
|
|
478
|
+
as: "Assamese",
|
|
479
|
+
av: "Avaric",
|
|
480
|
+
ae: "Avestan",
|
|
481
|
+
ay: "Aymara",
|
|
482
|
+
az: "Azerbaijani",
|
|
483
|
+
bm: "Bambara",
|
|
484
|
+
ba: "Bashkir",
|
|
485
|
+
eu: "Basque",
|
|
486
|
+
be: "Belarusian",
|
|
487
|
+
bn: "Bengali",
|
|
488
|
+
bh: "Bihari",
|
|
489
|
+
bi: "Bislama",
|
|
490
|
+
bs: "Bosnian",
|
|
491
|
+
br: "Breton",
|
|
492
|
+
bg: "Bulgarian",
|
|
493
|
+
my: "Burmese",
|
|
494
|
+
ca: "Catalan",
|
|
495
|
+
ch: "Chamorro",
|
|
496
|
+
ce: "Chechen",
|
|
497
|
+
ny: "Chichewa",
|
|
498
|
+
zh: "Chinese",
|
|
499
|
+
"zh-Hans": "Chinese (Simplified)",
|
|
500
|
+
"zh-Hant": "Chinese (Traditional)",
|
|
501
|
+
cv: "Chuvash",
|
|
502
|
+
kw: "Cornish",
|
|
503
|
+
co: "Corsican",
|
|
504
|
+
cr: "Cree",
|
|
505
|
+
hr: "Croatian",
|
|
506
|
+
cs: "Czech",
|
|
507
|
+
da: "Danish",
|
|
508
|
+
dv: "Maldivian",
|
|
509
|
+
nl: "Dutch",
|
|
510
|
+
dz: "Dzongkha",
|
|
511
|
+
en: "English",
|
|
512
|
+
eo: "Esperanto",
|
|
513
|
+
et: "Estonian",
|
|
514
|
+
ee: "Ewe",
|
|
515
|
+
fo: "Faroese",
|
|
516
|
+
fj: "Fijian",
|
|
517
|
+
fi: "Finnish",
|
|
518
|
+
fr: "French",
|
|
519
|
+
ff: "Fula, Pular",
|
|
520
|
+
gl: "Galician",
|
|
521
|
+
gd: "Gaelic (Scottish)",
|
|
522
|
+
gv: "Manx",
|
|
523
|
+
ka: "Georgian",
|
|
524
|
+
de: "German",
|
|
525
|
+
el: "Greek",
|
|
526
|
+
kl: "Kalaallisut",
|
|
527
|
+
gn: "Guarani",
|
|
528
|
+
gu: "Gujarati",
|
|
529
|
+
ht: "Haitian Creole",
|
|
530
|
+
ha: "Hausa",
|
|
531
|
+
he: "Hebrew",
|
|
532
|
+
hz: "Herero",
|
|
533
|
+
hi: "Hindi",
|
|
534
|
+
ho: "Hiri Motu",
|
|
535
|
+
hu: "Hungarian",
|
|
536
|
+
is: "Icelandic",
|
|
537
|
+
io: "Ido",
|
|
538
|
+
ig: "Igbo",
|
|
539
|
+
id: "Indonesian",
|
|
540
|
+
ia: "Interlingua",
|
|
541
|
+
ie: "Interlingue",
|
|
542
|
+
iu: "Inuktitut",
|
|
543
|
+
ik: "Inupiak",
|
|
544
|
+
ga: "Irish",
|
|
545
|
+
it: "Italian",
|
|
546
|
+
ja: "Japanese",
|
|
547
|
+
jv: "Javanese",
|
|
548
|
+
kn: "Kannada",
|
|
549
|
+
kr: "Kanuri",
|
|
550
|
+
ks: "Kashmiri",
|
|
551
|
+
kk: "Kazakh",
|
|
552
|
+
km: "Khmer",
|
|
553
|
+
ki: "Kikuyu",
|
|
554
|
+
rw: "Kinyarwanda",
|
|
555
|
+
rn: "Kirundi",
|
|
556
|
+
ky: "Kyrgyz",
|
|
557
|
+
kv: "Komi",
|
|
558
|
+
kg: "Kongo",
|
|
559
|
+
ko: "Korean",
|
|
560
|
+
ku: "Kurdish",
|
|
561
|
+
kj: "Kwanyama",
|
|
562
|
+
lo: "Lao",
|
|
563
|
+
la: "Latin",
|
|
564
|
+
lv: "Latvian",
|
|
565
|
+
li: "Limburgish",
|
|
566
|
+
ln: "Lingala",
|
|
567
|
+
lt: "Lithuanian",
|
|
568
|
+
lu: "Luga-Katanga",
|
|
569
|
+
lg: "Luganda, Ganda",
|
|
570
|
+
lb: "Luxembourgish",
|
|
571
|
+
mk: "Macedonian",
|
|
572
|
+
mg: "Malagasy",
|
|
573
|
+
ms: "Malay",
|
|
574
|
+
ml: "Malayalam",
|
|
575
|
+
mt: "Maltese",
|
|
576
|
+
mi: "Maori",
|
|
577
|
+
mr: "Marathi",
|
|
578
|
+
mh: "Marshallese",
|
|
579
|
+
mo: "Moldavian",
|
|
580
|
+
mn: "Mongolian",
|
|
581
|
+
na: "Nauru",
|
|
582
|
+
nv: "Navajo",
|
|
583
|
+
ng: "Ndonga",
|
|
584
|
+
nd: "Northern Ndebele",
|
|
585
|
+
ne: "Nepali",
|
|
586
|
+
no: "Norwegian",
|
|
587
|
+
nb: "Norwegian bokmål",
|
|
588
|
+
nn: "Norwegian nynorsk",
|
|
589
|
+
ii: "Sichuan Yi",
|
|
590
|
+
oc: "Occitan",
|
|
591
|
+
oj: "Ojibwe",
|
|
592
|
+
cu: "Old Church Slavonic",
|
|
593
|
+
or: "Oriya",
|
|
594
|
+
om: "Oromo",
|
|
595
|
+
os: "Ossetian",
|
|
596
|
+
pi: "Pāli",
|
|
597
|
+
ps: "Pashto, Pushto",
|
|
598
|
+
fa: "Persian (Farsi)",
|
|
599
|
+
pl: "Polish",
|
|
600
|
+
pt: "Portuguese",
|
|
601
|
+
pa: "Punjabi (Eastern)",
|
|
602
|
+
qu: "Quechua",
|
|
603
|
+
rm: "Romansh",
|
|
604
|
+
ro: "Romanian",
|
|
605
|
+
ru: "Russian",
|
|
606
|
+
se: "Sami",
|
|
607
|
+
sm: "Samoan",
|
|
608
|
+
sg: "Sango",
|
|
609
|
+
sa: "Sanskrit",
|
|
610
|
+
sr: "Serbian",
|
|
611
|
+
sh: "Serbo-Croatian",
|
|
612
|
+
st: "Sesotho",
|
|
613
|
+
tn: "Setswana",
|
|
614
|
+
sn: "Shona",
|
|
615
|
+
sd: "Sindhi",
|
|
616
|
+
si: "Sinhalese",
|
|
617
|
+
ss: "Swati",
|
|
618
|
+
sk: "Slovak",
|
|
619
|
+
sl: "Slovenian",
|
|
620
|
+
so: "Somali",
|
|
621
|
+
nr: "Southern Ndebele",
|
|
622
|
+
es: "Spanish",
|
|
623
|
+
su: "Sundanese",
|
|
624
|
+
sw: "Swahili (Kiswahili)",
|
|
625
|
+
sv: "Swedish",
|
|
626
|
+
tl: "Tagalog",
|
|
627
|
+
ty: "Tahitian",
|
|
628
|
+
tg: "Tajik",
|
|
629
|
+
ta: "Tamil",
|
|
630
|
+
tt: "Tatar",
|
|
631
|
+
te: "Telugu",
|
|
632
|
+
th: "Thai",
|
|
633
|
+
bo: "Tibetan",
|
|
634
|
+
ti: "Tigrinya",
|
|
635
|
+
to: "Tonga",
|
|
636
|
+
ts: "Tsonga",
|
|
637
|
+
tr: "Turkish",
|
|
638
|
+
tk: "Turkmen",
|
|
639
|
+
tw: "Twi",
|
|
640
|
+
ug: "Uyghur",
|
|
641
|
+
uk: "Ukrainian",
|
|
642
|
+
ur: "Urdu",
|
|
643
|
+
uz: "Uzbek",
|
|
644
|
+
ve: "Venda",
|
|
645
|
+
vi: "Vietnamese",
|
|
646
|
+
vo: "Volapük",
|
|
647
|
+
wa: "Wallon",
|
|
648
|
+
cy: "Welsh",
|
|
649
|
+
wo: "Wolof",
|
|
650
|
+
fy: "Western Frisian",
|
|
651
|
+
xh: "Xhosa",
|
|
652
|
+
yi: "Yiddish",
|
|
653
|
+
yo: "Yoruba",
|
|
654
|
+
za: "Zhuang, Chuang",
|
|
655
|
+
zu: "Zulu"
|
|
656
|
+
}, j = "https://api.chaibuilder.com";
|
|
672
657
|
export {
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
658
|
+
j as API_URL,
|
|
659
|
+
$ as ChaiBuilderPages,
|
|
660
|
+
Y as ChaiBuilderPagesBackend,
|
|
661
|
+
N as ChaiBuilderPagesUserManagement,
|
|
662
|
+
W as LANGUAGES,
|
|
663
|
+
b as getChaiCollection,
|
|
664
|
+
K as getChaiCollections,
|
|
665
|
+
A as getChaiPageType,
|
|
681
666
|
y as getChaiPageTypes,
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
667
|
+
Z as registerChaiCollection,
|
|
668
|
+
F as registerChaiGlobalDataProvider,
|
|
669
|
+
O as registerChaiPageType,
|
|
670
|
+
H as registerChaiPartialType
|
|
686
671
|
};
|