@chaibuilder/pages 0.5.0-beta.1 → 0.5.0-beta.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 +30 -0
- package/dist/server.js +51 -46
- package/package.json +1 -1
package/dist/server.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var B=Object.defineProperty;var M=(i,a,e)=>a in i?B(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var k=(i,a,e)=>M(i,typeof a!="symbol"?a+"":a,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("@chaibuilder/runtime"),h=require("lodash-es"),P={},y=(i,a)=>{P[i]={key:i,...a,hasSlug:!0}},_=(i,a)=>{P[i]={key:i,...a,hasSlug:!1}},C=()=>Object.values(P),A=i=>P[i];let b=async i=>({...i});const I=i=>b=i,T=async i=>{try{return await b(i)}catch(a){return console.error(a),{}}};class R{constructor(a){this.backend=a}async upload({file:a,folderId:e,name:s},t){var o,c;return await((c=(o=this.backend).handleAssetsAction)==null?void 0:c.call(o,{action:"UPLOAD_ASSET",data:{name:s,file:a,folderId:e}},t))}async getAsset({id:a},e){var s,t;return(t=(s=this.backend).handleAssetsAction)==null?void 0:t.call(s,{action:"GET_ASSET",data:{id:a}},e)}async getAssets(a,e){var s,t;return(t=(s=this.backend).handleAssetsAction)==null?void 0:t.call(s,{action:"GET_ASSETS",data:a},e)}async deleteAsset({id:a},e){var s,t;return(t=(s=this.backend).handleAssetsAction)==null?void 0:t.call(s,{action:"DELETE_ASSET",data:{id:a}},e)}async updateAsset({id:a,file:e,description:s},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:s}},t)}}class v{constructor(a){this.backend=a}async refreshToken(a){var s,t;const e=await((t=(s=this.backend).handleUsersAction)==null?void 0:t.call(s,{action:"REFRESH_TOKEN",data:a}));return e.error?{error:e.error}:e}async login({email:a,password:e}){var t,r;const s=await((r=(t=this.backend).handleUsersAction)==null?void 0:r.call(t,{action:"LOGIN",data:{email:a,password:e}}));return s.error?{error:s.error}:s}async logout(){var a,e;await((e=(a=this.backend).handleUsersAction)==null?void 0:e.call(a,{action:"LOGOUT"}))}async isUserActive(a){var s,t;return(await((t=(s=this.backend).handleUsersAction)==null?void 0:t.call(s,{action:"CHECK_USER_STATUS"},a))).success}async getUserRoleAndPermissions(a){var s,t;return await((t=(s=this.backend).handleUsersAction)==null?void 0:t.call(s,{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))}}const G={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"},U={},H=()=>Object.values(U),L=i=>h.get(U,i);class K{constructor(a,e,s){k(this,"fallbackLang","");k(this,"currentLang","");k(this,"draftMode",!1);this.backend=a,this.chaiUsers=e,this.chaiAssets=s,this._registerDefaultPageTypes(),this.chaiUsers=e??new v(this.backend),this.chaiAssets=s??new R(this.backend)}_registerDefaultPageTypes(){y("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>'}),_("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(h.isEmpty(a))throw new Error("Fallback language cannot be empty");this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setCurrentLang(a){if(h.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,c,m,E,f,S,g,w,l;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(c=this.chaiAssets)==null?void 0:c.deleteAsset(a.data,e);case"UPDATE_ASSET":return(m=this.chaiAssets)==null?void 0:m.updateAsset(a.data,e);case"REFRESH_TOKEN":return(E=this.chaiUsers)==null?void 0:E.refreshToken(a.data);case"LOGIN":return(f=this.chaiUsers)==null?void 0:f.login(a.data);case"LOGOUT":return(S=this.chaiUsers)==null?void 0:S.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(l=this.chaiUsers)==null?void 0:l.getUserInfo(e,a.data)}if(a.action==="GET_BUILDER_PAGE_DATA"){const n=await T({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:n}:{global:n}}if(a.action==="GET_PAGE_TYPES")return Promise.all(C().map(async n=>({key:n.key,helpText:n.helpText??"",icon:n.icon??"",dynamicSegments:n.dynamicSegments??"",dynamicSlug:n.dynamicSlug??"",hasSlug:n.hasSlug??!0,name:typeof n.name=="function"?await n.name():n.name})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const n=A(a.data.pageType);return n?n.search?await n.search(a.data.query):this.backend.handleAction(a,e):{error:"Page type not found"}}if(a.action==="GET_COLLECTIONS")return H().map(n=>h.omit(n,"fetch"));if(a.action==="GET_BLOCK_ASYNC_PROPS"){const n=a.data.block,u=n._type;if(u==="Repeater"&&(n!=null&&n.repeaterItems.includes("{{#"))){const d=n.repeaterItems.replace("{{#","").replace("}}",""),p=L(d);return p?await(p==null?void 0:p.fetch({block:n,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0}))??[]:[]}else{const d=O.getRegisteredChaiBlock(u);return!d||!h.isFunction(d.dataProvider)?{}:await d.dataProvider({block:n,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0})??{}}}const s=await this.backend.handleAction(a,e);return this.emit(a.action,s),s}emit(a,e){var r,o,c;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const s=h.get(e,"page");if(!s)return;const t=A(s.pageType);if(t)switch(a){case"CREATE_PAGE":return(r=t.onCreate)==null?void 0:r.call(t,s);case"UPDATE_PAGE":return(o=t.onUpdate)==null?void 0:o.call(t,s);case"DELETE_PAGE":return(c=t.onDelete)==null?void 0:c.call(t,s)}}setLanguageFromSlug(a){if(!this.getFallbackLang())throw new Error("Please set a fallback language using setFallbackLang(lang: string)");const e=h.first(a||[""]);Object.keys(G).includes(e)?this.setCurrentLang(e):this.setCurrentLang(this.getFallbackLang())}async resolvePageLink(a){if(!h.startsWith(a,"pageType:"))return a;const e=a.split(":")[1],s=a.split(":")[2],t=A(e);return t?await this.resolveLink(t.key,s):a}async resolveLink(a,e){const s=A(a);if(!s)return"/not-found";const t=this.isDraftMode(),r=this.getCurrentLang()===this.getFallbackLang()?"":this.getCurrentLang();return s.resolveLink?await s.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(),s={};return C().forEach(t=>{h.has(t,"dynamicSegments")&&t.dynamicSegments&&(s[t.key]=t.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:e,dynamicSegments:s}})}async getFullPage(a){const e=this.isDraftMode(),s=this.getCurrentLang(),t=this.getFallbackLang();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,lang:t===s?void 0:s,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,s){var S;const t=this.isDraftMode(),r=this.getCurrentLang(),o=A(e),c=a.filter(g=>g._type==="Repeater"&&(g==null?void 0:g.repeaterItems.includes("{{#")));let m={};if(c.length>0){const g=c.map(l=>({collectionId:l.repeaterItems.replace("{{#","").replace("}}",""),block:l}));m=(await Promise.all(g.map(async({collectionId:l,block:n})=>{const u=L(l);try{const d=await(u==null?void 0:u.fetch({lang:r,draft:t,inBuilder:!1,pageProps:s,block:n}));return Promise.resolve({[`{{#${l}/${n._id}}}`]:d??[]})}catch{return Promise.resolve({[`{{#${l}/${n._id}}}`]:[]})}}))).reduce((l,n)=>({...l,...n}),{})}const[E,f]=await Promise.all([this.getGlobalData(),((S=o==null?void 0:o.dataProvider)==null?void 0:S.call(o,{lang:r,draft:t,inBuilder:!1,pageProps:s}))||Promise.resolve({})]);return o?{...f,global:E,...m}:{global:E,...m}}async getGlobalData(){const a=this.getCurrentLang();return await T({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class N{constructor(a="",e=D){this.apiKey=a,this.apiUrl=e}async handleUsersAction(a,e){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":e}}),t=await s.json();return h.has(t,"error")?{...t,status:s.status}:t}async handleAction(a,e){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":e}}),t=await s.json();return h.has(t,"error")?{...t,status:s.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 D="https://api.chaibuilder.com";exports.API_URL=D;exports.ChaiBuilderPages=K;exports.ChaiBuilderPagesBackend=N;exports.ChaiBuilderPagesUserManagement=v;exports.LANGUAGES=G;exports.getChaiGlobalData=T;exports.getChaiPageType=A;exports.getChaiPageTypes=C;exports.registerChaiGlobalDataProvider=I;exports.registerChaiPageType=y;exports.registerChaiPartialType=_;
|
|
1
|
+
"use strict";var B=Object.defineProperty;var M=(i,a,e)=>a in i?B(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var k=(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"),P={};function I(i,a){c.has(P,i)&&console.warn(`Collection ${i} already registered`),P[i]={...a,id:i}}const R=()=>Object.values(P),L=i=>c.get(P,i),w={},_=(i,a)=>{w[i]={key:i,...a,hasSlug:!0}},b=(i,a)=>{w[i]={key:i,...a,hasSlug:!1}},T=()=>Object.values(w),A=i=>w[i];let v=async i=>({...i});const H=i=>v=i,y=async i=>{try{return await v(i)}catch(a){return console.error(a),{}}};class K{constructor(a){this.backend=a}async upload({file:a,folderId:e,name:s},t){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:e}},t))}async getAsset({id:a},e){var s,t;return(t=(s=this.backend).handleAssetsAction)==null?void 0:t.call(s,{action:"GET_ASSET",data:{id:a}},e)}async getAssets(a,e){var s,t;return(t=(s=this.backend).handleAssetsAction)==null?void 0:t.call(s,{action:"GET_ASSETS",data:a},e)}async deleteAsset({id:a},e){var s,t;return(t=(s=this.backend).handleAssetsAction)==null?void 0:t.call(s,{action:"DELETE_ASSET",data:{id:a}},e)}async updateAsset({id:a,file:e,description:s},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:s}},t)}}class G{constructor(a){this.backend=a}async refreshToken(a){var s,t;const e=await((t=(s=this.backend).handleUsersAction)==null?void 0:t.call(s,{action:"REFRESH_TOKEN",data:a}));return e.error?{error:e.error}:e}async login({email:a,password:e}){var t,r;const s=await((r=(t=this.backend).handleUsersAction)==null?void 0:r.call(t,{action:"LOGIN",data:{email:a,password:e}}));return s.error?{error:s.error}:s}async logout(){var a,e;await((e=(a=this.backend).handleUsersAction)==null?void 0:e.call(a,{action:"LOGOUT"}))}async isUserActive(a){var s,t;return(await((t=(s=this.backend).handleUsersAction)==null?void 0:t.call(s,{action:"CHECK_USER_STATUS"},a))).success}async getUserRoleAndPermissions(a){var s,t;return await((t=(s=this.backend).handleUsersAction)==null?void 0:t.call(s,{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))}}const 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 N{constructor(a,e,s){k(this,"fallbackLang","");k(this,"currentLang","");k(this,"draftMode",!1);this.backend=a,this.chaiUsers=e,this.chaiAssets=s,this._registerDefaultPageTypes(),this.chaiUsers=e??new G(this.backend),this.chaiAssets=s??new K(this.backend)}_registerDefaultPageTypes(){_("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>'})}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,C,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(C=this.chaiUsers)==null?void 0:C.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 n=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:n}:{global:n}}if(a.action==="GET_PAGE_TYPES")return Promise.all(T().map(async n=>({key:n.key,helpText:n.helpText??"",icon:n.icon??"",dynamicSegments:n.dynamicSegments??"",dynamicSlug:n.dynamicSlug??"",hasSlug:n.hasSlug??!0,name:typeof n.name=="function"?await n.name():n.name})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const n=A(a.data.pageType);return n?n.search?await n.search(a.data.query):this.backend.handleAction(a,e):{error:"Page type not found"}}if(a.action==="GET_COLLECTIONS")return R().map(n=>c.omit(n,"fetch"));if(a.action==="GET_BLOCK_ASYNC_PROPS"){const n=a.data.block,u=n._type;if(u==="Repeater"&&(n!=null&&n.repeaterItems.includes("{{#"))){const d=n.repeaterItems.replace("{{#","").replace("}}",""),p=L(d);return p?await(p==null?void 0:p.fetch({block:n,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:n,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0})??{}}}const s=await this.backend.handleAction(a,e);return this.emit(a.action,s),s}emit(a,e){var r,o,l;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const s=c.get(e,"page");if(!s)return;const t=A(s.pageType);if(t)switch(a){case"CREATE_PAGE":return(r=t.onCreate)==null?void 0:r.call(t,s);case"UPDATE_PAGE":return(o=t.onUpdate)==null?void 0:o.call(t,s);case"DELETE_PAGE":return(l=t.onDelete)==null?void 0:l.call(t,s)}}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],s=a.split(":")[2],t=A(e);return t?await this.resolveLink(t.key,s):a}async resolveLink(a,e){const s=A(a);if(!s)return"/not-found";const t=this.isDraftMode(),r=this.getCurrentLang()===this.getFallbackLang()?"":this.getCurrentLang();return s.resolveLink?await s.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(),s={};return T().forEach(t=>{c.has(t,"dynamicSegments")&&t.dynamicSegments&&(s[t.key]=t.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:e,dynamicSegments:s}})}async getFullPage(a){const e=this.isDraftMode(),s=this.getCurrentLang(),t=this.getFallbackLang();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,lang:t===s?void 0:s,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,s){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:n})=>{const u=L(h);try{const d=await(u==null?void 0:u.fetch({lang:r,draft:t,inBuilder:!1,pageProps:s,block:n}));return Promise.resolve({[`{{#${h}/${n._id}}}`]:d??[]})}catch{return Promise.resolve({[`{{#${h}/${n._id}}}`]:[]})}}))).reduce((h,n)=>({...h,...n}),{})}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:s}))||Promise.resolve({})]);return o?{...S,global:f,...m}:{global:f,...m}}async getGlobalData(){const a=this.getCurrentLang();return await y({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class j{constructor(a="",e=D){this.apiKey=a,this.apiUrl=e}async handleUsersAction(a,e){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":e}}),t=await s.json();return c.has(t,"error")?{...t,status:s.status}:t}async handleAction(a,e){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":e}}),t=await s.json();return c.has(t,"error")?{...t,status:s.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 D="https://api.chaibuilder.com";exports.API_URL=D;exports.ChaiBuilderPages=N;exports.ChaiBuilderPagesBackend=j;exports.ChaiBuilderPagesUserManagement=G;exports.LANGUAGES=U;exports.getChaiGlobalData=y;exports.getChaiPageType=A;exports.getChaiPageTypes=T;exports.registerChaiCollection=I;exports.registerChaiGlobalDataProvider=H;exports.registerChaiPageType=_;exports.registerChaiPartialType=b;
|
package/dist/server.d.ts
CHANGED
|
@@ -70,6 +70,7 @@ export declare class ChaiBuilderPages implements ChaiBuilderPagesInterface {
|
|
|
70
70
|
getPageData(blocks: ChaiBlock[], pageType: string, pageProps: {
|
|
71
71
|
slug: string;
|
|
72
72
|
params?: Record<string, string>;
|
|
73
|
+
[key: string]: any;
|
|
73
74
|
}): Promise<{
|
|
74
75
|
global: any;
|
|
75
76
|
}>;
|
|
@@ -234,6 +235,33 @@ export declare type ChaiWebsiteSetting = {
|
|
|
234
235
|
theme: Record<"fontFamily" | "borderRadius" | "colors", any>;
|
|
235
236
|
};
|
|
236
237
|
|
|
238
|
+
declare interface CollectionConfig<T> {
|
|
239
|
+
id: string;
|
|
240
|
+
name: string;
|
|
241
|
+
icon?: string;
|
|
242
|
+
filters?: {
|
|
243
|
+
id: string;
|
|
244
|
+
name: string;
|
|
245
|
+
}[];
|
|
246
|
+
sort?: {
|
|
247
|
+
id: string;
|
|
248
|
+
name: string;
|
|
249
|
+
}[];
|
|
250
|
+
fetch: (params: CollectionFetchParams) => Promise<T[]>;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
declare type CollectionFetchParams = {
|
|
254
|
+
block: ChaiBlock;
|
|
255
|
+
inBuilder: boolean;
|
|
256
|
+
draft: boolean;
|
|
257
|
+
lang: string;
|
|
258
|
+
pageProps: {
|
|
259
|
+
slug: string;
|
|
260
|
+
params?: Record<string, string>;
|
|
261
|
+
[key: string]: any;
|
|
262
|
+
};
|
|
263
|
+
};
|
|
264
|
+
|
|
237
265
|
export declare const getChaiGlobalData: (args: {
|
|
238
266
|
lang: string;
|
|
239
267
|
draft: boolean;
|
|
@@ -265,6 +293,8 @@ export declare type PageTypeSearchResult = {
|
|
|
265
293
|
slug?: string;
|
|
266
294
|
};
|
|
267
295
|
|
|
296
|
+
export declare function registerChaiCollection<T = Record<any, any>>(id: string, collection: Omit<CollectionConfig<T>, "id">): void;
|
|
297
|
+
|
|
268
298
|
export declare const registerChaiGlobalDataProvider: <T>(globalDataProvider: (args: {
|
|
269
299
|
lang: string;
|
|
270
300
|
draft: boolean;
|
package/dist/server.js
CHANGED
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
var G = Object.defineProperty;
|
|
2
2
|
var U = (i, a, e) => a in i ? G(i, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[a] = e;
|
|
3
3
|
var p = (i, a, e) => U(i, typeof a != "symbol" ? a + "" : a, e);
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
import { has as k, get as y, isEmpty as T, omit as D, isFunction as M, first as O, startsWith as B } from "lodash-es";
|
|
5
|
+
import { getRegisteredChaiBlock as I } from "@chaibuilder/runtime";
|
|
6
|
+
const w = {};
|
|
7
|
+
function $(i, a) {
|
|
8
|
+
k(w, i) && console.warn(`Collection ${i} already registered`), w[i] = { ...a, id: i };
|
|
9
|
+
}
|
|
10
|
+
const H = () => Object.values(w), L = (i) => y(w, i), P = {}, K = (i, a) => {
|
|
11
|
+
P[i] = { key: i, ...a, hasSlug: !0 };
|
|
12
|
+
}, R = (i, a) => {
|
|
13
|
+
P[i] = { key: i, ...a, hasSlug: !1 };
|
|
14
|
+
}, _ = () => Object.values(P), A = (i) => P[i];
|
|
15
|
+
let v = async (i) => ({
|
|
12
16
|
...i
|
|
13
17
|
});
|
|
14
|
-
const Y = (i) =>
|
|
18
|
+
const Y = (i) => v = i, b = async (i) => {
|
|
15
19
|
try {
|
|
16
|
-
return await
|
|
20
|
+
return await v(i);
|
|
17
21
|
} catch (a) {
|
|
18
22
|
return console.error(a), {};
|
|
19
23
|
}
|
|
20
24
|
};
|
|
21
|
-
class
|
|
25
|
+
class N {
|
|
22
26
|
constructor(a) {
|
|
23
27
|
this.backend = a;
|
|
24
28
|
}
|
|
@@ -87,7 +91,7 @@ class R {
|
|
|
87
91
|
);
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
|
-
class
|
|
94
|
+
class j {
|
|
91
95
|
constructor(a) {
|
|
92
96
|
this.backend = a;
|
|
93
97
|
}
|
|
@@ -148,7 +152,7 @@ class N {
|
|
|
148
152
|
));
|
|
149
153
|
}
|
|
150
154
|
}
|
|
151
|
-
const
|
|
155
|
+
const F = {
|
|
152
156
|
ab: "Abkhazian",
|
|
153
157
|
aa: "Afar",
|
|
154
158
|
af: "Afrikaans",
|
|
@@ -336,19 +340,19 @@ const j = {
|
|
|
336
340
|
yo: "Yoruba",
|
|
337
341
|
za: "Zhuang, Chuang",
|
|
338
342
|
zu: "Zulu"
|
|
339
|
-
}
|
|
340
|
-
class
|
|
343
|
+
};
|
|
344
|
+
class W {
|
|
341
345
|
constructor(a, e, n) {
|
|
342
346
|
p(this, "fallbackLang", "");
|
|
343
347
|
p(this, "currentLang", "");
|
|
344
348
|
p(this, "draftMode", !1);
|
|
345
|
-
this.backend = a, this.chaiUsers = e, this.chaiAssets = n, this._registerDefaultPageTypes(), this.chaiUsers = e ?? new
|
|
349
|
+
this.backend = a, this.chaiUsers = e, this.chaiAssets = n, this._registerDefaultPageTypes(), this.chaiUsers = e ?? new j(this.backend), this.chaiAssets = n ?? new N(this.backend);
|
|
346
350
|
}
|
|
347
351
|
_registerDefaultPageTypes() {
|
|
348
|
-
|
|
352
|
+
K("page", {
|
|
349
353
|
name: "Static Page",
|
|
350
354
|
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>'
|
|
351
|
-
}),
|
|
355
|
+
}), R("global", {
|
|
352
356
|
name: "Global Block",
|
|
353
357
|
helpText: "A global block can be reused in multiple pages.",
|
|
354
358
|
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>'
|
|
@@ -377,7 +381,7 @@ class $ {
|
|
|
377
381
|
return this.draftMode;
|
|
378
382
|
}
|
|
379
383
|
async handle(a, e) {
|
|
380
|
-
var t, r, o, c, d, m, E, f, u,
|
|
384
|
+
var t, r, o, c, d, m, E, f, u, C, l;
|
|
381
385
|
switch (a.action) {
|
|
382
386
|
// Media
|
|
383
387
|
case "UPLOAD_ASSET":
|
|
@@ -418,7 +422,7 @@ class $ {
|
|
|
418
422
|
case "CHECK_USER_STATUS":
|
|
419
423
|
return (u = this.chaiUsers) == null ? void 0 : u.isUserActive(e);
|
|
420
424
|
case "GET_ROLE_AND_PERMISSIONS":
|
|
421
|
-
return (
|
|
425
|
+
return (C = this.chaiUsers) == null ? void 0 : C.getUserRoleAndPermissions(e);
|
|
422
426
|
case "GET_CHAI_USER":
|
|
423
427
|
return (l = this.chaiUsers) == null ? void 0 : l.getUserInfo(
|
|
424
428
|
e,
|
|
@@ -426,7 +430,7 @@ class $ {
|
|
|
426
430
|
);
|
|
427
431
|
}
|
|
428
432
|
if (a.action === "GET_BUILDER_PAGE_DATA") {
|
|
429
|
-
const s = await
|
|
433
|
+
const s = await b({
|
|
430
434
|
lang: a.data.lang,
|
|
431
435
|
draft: !0,
|
|
432
436
|
inBuilder: !0
|
|
@@ -445,7 +449,7 @@ class $ {
|
|
|
445
449
|
}
|
|
446
450
|
if (a.action === "GET_PAGE_TYPES")
|
|
447
451
|
return Promise.all(
|
|
448
|
-
|
|
452
|
+
_().map(async (s) => ({
|
|
449
453
|
key: s.key,
|
|
450
454
|
helpText: s.helpText ?? "",
|
|
451
455
|
icon: s.icon ?? "",
|
|
@@ -462,13 +466,13 @@ class $ {
|
|
|
462
466
|
return s ? s.search ? await s.search(a.data.query) : this.backend.handleAction(a, e) : { error: "Page type not found" };
|
|
463
467
|
}
|
|
464
468
|
if (a.action === "GET_COLLECTIONS")
|
|
465
|
-
return
|
|
466
|
-
(s) =>
|
|
469
|
+
return H().map(
|
|
470
|
+
(s) => D(s, "fetch")
|
|
467
471
|
);
|
|
468
472
|
if (a.action === "GET_BLOCK_ASYNC_PROPS") {
|
|
469
473
|
const s = a.data.block, h = s._type;
|
|
470
474
|
if (h === "Repeater" && (s != null && s.repeaterItems.includes("{{#"))) {
|
|
471
|
-
const g = s.repeaterItems.replace("{{#", "").replace("}}", ""), S =
|
|
475
|
+
const g = s.repeaterItems.replace("{{#", "").replace("}}", ""), S = L(g);
|
|
472
476
|
return S ? await (S == null ? void 0 : S.fetch({
|
|
473
477
|
block: s,
|
|
474
478
|
pageProps: a.data.pageProps,
|
|
@@ -477,8 +481,8 @@ class $ {
|
|
|
477
481
|
inBuilder: !0
|
|
478
482
|
})) ?? [] : [];
|
|
479
483
|
} else {
|
|
480
|
-
const g =
|
|
481
|
-
return !g || !
|
|
484
|
+
const g = I(h);
|
|
485
|
+
return !g || !M(g.dataProvider) ? {} : await g.dataProvider({
|
|
482
486
|
block: s,
|
|
483
487
|
pageProps: a.data.pageProps,
|
|
484
488
|
lang: a.data.lang,
|
|
@@ -493,7 +497,7 @@ class $ {
|
|
|
493
497
|
emit(a, e) {
|
|
494
498
|
var r, o, c;
|
|
495
499
|
if (!["CREATE_PAGE", "UPDATE_PAGE", "DELETE_PAGE"].includes(a)) return;
|
|
496
|
-
const n =
|
|
500
|
+
const n = y(e, "page");
|
|
497
501
|
if (!n) return;
|
|
498
502
|
const t = A(n.pageType);
|
|
499
503
|
if (t)
|
|
@@ -512,8 +516,8 @@ class $ {
|
|
|
512
516
|
throw new Error(
|
|
513
517
|
"Please set a fallback language using setFallbackLang(lang: string)"
|
|
514
518
|
);
|
|
515
|
-
const e =
|
|
516
|
-
Object.keys(
|
|
519
|
+
const e = O(a || [""]);
|
|
520
|
+
Object.keys(F).includes(e) ? this.setCurrentLang(e) : this.setCurrentLang(this.getFallbackLang());
|
|
517
521
|
}
|
|
518
522
|
/**
|
|
519
523
|
* Resolve a page link
|
|
@@ -521,7 +525,7 @@ class $ {
|
|
|
521
525
|
* @returns The resolved link
|
|
522
526
|
*/
|
|
523
527
|
async resolvePageLink(a) {
|
|
524
|
-
if (!
|
|
528
|
+
if (!B(a, "pageType:"))
|
|
525
529
|
return a;
|
|
526
530
|
const e = a.split(":")[1], n = a.split(":")[2], t = A(e);
|
|
527
531
|
return t ? await this.resolveLink(t.key, n) : a;
|
|
@@ -543,8 +547,8 @@ class $ {
|
|
|
543
547
|
}
|
|
544
548
|
async getPageBySlug(a) {
|
|
545
549
|
const e = this.isDraftMode(), n = {};
|
|
546
|
-
return
|
|
547
|
-
|
|
550
|
+
return _().forEach((t) => {
|
|
551
|
+
k(t, "dynamicSegments") && t.dynamicSegments && (n[t.key] = t.dynamicSegments);
|
|
548
552
|
}), await this.backend.handleAction({
|
|
549
553
|
action: "GET_PAGE_META",
|
|
550
554
|
data: { slug: a, draft: e, dynamicSegments: n }
|
|
@@ -579,7 +583,7 @@ class $ {
|
|
|
579
583
|
const u = c.map((l) => ({ collectionId: l.repeaterItems.replace("{{#", "").replace("}}", ""), block: l }));
|
|
580
584
|
d = (await Promise.all(
|
|
581
585
|
u.map(async ({ collectionId: l, block: s }) => {
|
|
582
|
-
const h =
|
|
586
|
+
const h = L(l);
|
|
583
587
|
try {
|
|
584
588
|
const g = await (h == null ? void 0 : h.fetch({
|
|
585
589
|
lang: r,
|
|
@@ -616,7 +620,7 @@ class $ {
|
|
|
616
620
|
}
|
|
617
621
|
async getGlobalData() {
|
|
618
622
|
const a = this.getCurrentLang();
|
|
619
|
-
return await
|
|
623
|
+
return await b({
|
|
620
624
|
lang: a,
|
|
621
625
|
draft: this.isDraftMode(),
|
|
622
626
|
inBuilder: !1
|
|
@@ -626,7 +630,7 @@ class $ {
|
|
|
626
630
|
return await this.backend.handleAction(a);
|
|
627
631
|
}
|
|
628
632
|
}
|
|
629
|
-
class
|
|
633
|
+
class q {
|
|
630
634
|
constructor(a = "", e = x) {
|
|
631
635
|
this.apiKey = a, this.apiUrl = e;
|
|
632
636
|
}
|
|
@@ -639,7 +643,7 @@ class W {
|
|
|
639
643
|
"x-chai-auth-token": e
|
|
640
644
|
}
|
|
641
645
|
}), t = await n.json();
|
|
642
|
-
return
|
|
646
|
+
return k(t, "error") ? { ...t, status: n.status } : t;
|
|
643
647
|
}
|
|
644
648
|
async handleAction(a, e) {
|
|
645
649
|
const n = await fetch(`${this.apiUrl}/v1/api/chai`, {
|
|
@@ -650,7 +654,7 @@ class W {
|
|
|
650
654
|
"x-chai-auth-token": e
|
|
651
655
|
}
|
|
652
656
|
}), t = await n.json();
|
|
653
|
-
return
|
|
657
|
+
return k(t, "error") ? { ...t, status: n.status } : t;
|
|
654
658
|
}
|
|
655
659
|
async handleAssetsAction(a, e) {
|
|
656
660
|
return await (await fetch(`${this.apiUrl}/v1/api/assets`, {
|
|
@@ -666,14 +670,15 @@ class W {
|
|
|
666
670
|
const x = "https://api.chaibuilder.com";
|
|
667
671
|
export {
|
|
668
672
|
x as API_URL,
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
673
|
+
W as ChaiBuilderPages,
|
|
674
|
+
q as ChaiBuilderPagesBackend,
|
|
675
|
+
j as ChaiBuilderPagesUserManagement,
|
|
676
|
+
F as LANGUAGES,
|
|
677
|
+
b as getChaiGlobalData,
|
|
674
678
|
A as getChaiPageType,
|
|
675
|
-
|
|
679
|
+
_ as getChaiPageTypes,
|
|
680
|
+
$ as registerChaiCollection,
|
|
676
681
|
Y as registerChaiGlobalDataProvider,
|
|
677
|
-
|
|
678
|
-
|
|
682
|
+
K as registerChaiPageType,
|
|
683
|
+
R as registerChaiPartialType
|
|
679
684
|
};
|