@flatfile/plugin-space-configure-from-template
Version:
A plugin for configuring a Flatfile Space from a Space Template.
10 lines (7 loc) • 1.47 kB
JavaScript
;
var api = require('@flatfile/api');
var pluginJobHandler = require('@flatfile/plugin-job-handler');
var a=new api.FlatfileClient;function y(s){return function(m){m.use(pluginJobHandler.jobHandler("space:configure",async(i,r)=>{try{let{spaceId:o,environmentId:d,appId:f}=i.context,c=await a.spaces.list({appId:f,isAppTemplate:!0,sortField:"createdAt",sortDirection:"asc"});if(c.data.length===0)throw new Error("No space template found");let e=c.data[0],l=e.id,u=(await a.workbooks.list({spaceId:l})).data.map(t=>({name:t.name,labels:t.labels,spaceId:o,environmentId:d,namespace:e.namespace,sheets:t.sheets.map(p=>({...p.config})),actions:t.actions,settings:t.settings,metadata:t.metadata,treatments:t.treatments})),n=await Promise.all(u.map(async t=>(await a.workbooks.create(t)).data.id));await r(50,"Workbook created"),await a.spaces.update(o,{primaryWorkbookId:n&&n.length>0?n[0]:"",settings:e.settings||{},metadata:e.metadata||{},actions:e.actions||[],access:e.access||[],labels:e.labels,translationsPath:e.translationsPath||"",languageOverride:e.languageOverride||""});let g=await a.documents.list(l);for(let t of g.data)await a.documents.create(o,t);return s&&await s(i,n,r),{info:"Space configured"}}catch(o){throw console.log("Space configuration failed with error:",o),new Error("Space configuration failed")}}));}}
exports.configureSpaceFromTemplate = y;
//# sourceMappingURL=index.browser.cjs.map
//# sourceMappingURL=index.browser.cjs.map