diff --git a/apxtri/models/Wwws.js b/apxtri/models/Wwws.js index 207e03d..036136e 100644 --- a/apxtri/models/Wwws.js +++ b/apxtri/models/Wwws.js @@ -16,6 +16,15 @@ const log = conf.api.activelog.includes(currentmod); const Wwws = {}; Wwws.getwco = (wconame, ctx) => { + /** + * In a webpage to add a wco + * + * This will update /tribe/objects/wwws/itm/xapp.json + * A wco has a /adminapi/objects/wco/itm/wconame.json + * + * + * + */ const filereq = `../${ctx.wcotribe}/objects/wco/${wconame}/${wconame}.js`; const wcoconf = `../${ctx.wcotribe}/objects/wco/itm/${wconame}.json`; if (!fs.existsSync(filereq) || !fs.existsSync(wcoconf)) { @@ -32,13 +41,28 @@ Wwws.getwco = (wconame, ctx) => { const webconf = `../${ctx.tribe}/objects/wwws/itm/${ctx.xapp}.json`; const wcoinfo = fs.readJSONSync(wcoconf); const webpage = fs.readJSONSync(webconf); + // check that webconf for tailwindcsscontent property exist for this wco request + const pathtocheckfortw=[`../adminapi/objects/wco/${wconame}/*.{html,js,mustache}`,`../${ctx.tribe}/objects/wwws/${ctx.xapp}/src/**/*.{html,js,mustache}`] + if (!webconf.tailwindcsscontent){ + webconf.tailwindcsscontent=[] + } + pathtocheckfortw.forEach(tw=>{ + if (!webconf.tailwindcsscontent.includes(tw)){ + webconf.tailwindcsscontent.push(tw) + } + }) + // check that all tpl for this compoent are well in pages tpl object if (wcoinfo.tpl && Object.keys(wcoinfo.tpl).length > 0) { Object.keys(wcoinfo.tpl).forEach((t) => { + //console.log(ctx.pagename,"---",t) + //console.log(Object.keys(webpage.pages[ctx.pagename].tpl)) if (!Object.keys(webpage.pages[ctx.pagename].tpl).includes(t)) { + //console.log(wcoinfo.tpl[t]) webpage.pages[ctx.pagename].tpl[t] = wcoinfo.tpl[t]; } }); } + // check that tpldata exist for the wco, if not create them with template data example into the project if (wcoinfo.tpldatamodel && Object.keys(wcoinfo.tpldatamodel).length > 0) { Object.keys(wcoinfo.tpldatamodel).forEach((t) => { const pathtpldata = `../${ctx.tribe}/objects/wwws/${ctx.xapp}/src/tpldata/${wconame}/${t}`; @@ -58,6 +82,7 @@ Wwws.getwco = (wconame, ctx) => { }); }); } + // check if referential are there for this wco if (wcoinfo.ref && Object.keys(wcoinfo.ref).length > 0) { Object.keys(wcoinfo.ref).forEach((t) => { t = t.replace("{{tribe}}", ctx.tribe); @@ -66,6 +91,7 @@ Wwws.getwco = (wconame, ctx) => { } }); } + //check that schema are also their for wco if (wcoinfo.schema && wcoinfo.schema.length > 0) [ wcoinfo.schema.forEach((s) => { @@ -75,7 +101,8 @@ Wwws.getwco = (wconame, ctx) => { } }), ]; - fs.outputJSONSync(webconf, webpage); + // save the conf for update localdb when the web page request it + fs.outputJSONSync(webconf, webpage, {spaces:2}); return { status: 200, ref: "Wwws", diff --git a/package.json b/package.json index 83b0da3..b036137 100755 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "publishtestwall": "scp -r /media/phil/usbfarm/apxtowns/dev-ants/tribes/$space phil@wall-ants://home/phil/apxtowns/testwall-ants/tribes/$space/..", "publishwall": "scp -r /media/phil/usbfarm/apxtowns/dev-ants/tribes/$space phil@wall-ants://home/phil/apxtowns/wall-ants/tribes/$space/..", "publishhouse": "scp -r /media/phil/usbfarm/apxtowns/dev-ants/tribes/$space phil@house-ants://home/phil/apxtowns/house-ants/tribes/$space/..", - "src:css": "node apxtri/models/Wwws.js $tribe $webapp src && tailwindcss --watch -c ../$tribe/objects/wwws/$webapp/tailwind.config.js -i ../$tribe/objects/wwws/$webapp/src/static/css/twdevstyle.css -o ../$tribe/objects/wwws/$webapp/src/static/css/twstyle.css", + "src:css": "tailwindcss --watch -c ../$tribe/objects/wwws/$webapp/tailwind.config.js -i ../$tribe/objects/wwws/$webapp/src/static/css/twdevstyle.css -o ../$tribe/objects/wwws/$webapp/src/static/css/twstyle.css", "dist:css": "node apxtri/models/Wwws.js $tribe $webapp dist && tailwindcss --minify -c ../$tribe/objects/wwws/$webapp/tailwind.config.js -i ../$tribe/objects/wwws/$webapp/src/static/css/twdevstyle.css -o ../$tribe/objects/wwws/$webapp/dist/static/css/twstyle.css" }, "commentscript": "cf wiki apxtri doc for details: yarn startpm2 -n teswallants, yarn pm2 stop testwallants, yarn pm2 delete testwallants, yarn pm2 logs --lines 200 testwall, yarn pm2 monit -n testwallants, yarn pm2 save tribe=tribeid yarn apidoc to build apidoc // space=adminapi/www/cdn/apidoc yarn publishtestwall ", @@ -78,11 +78,10 @@ "sharp": "^0.33.5", "smtp-client": "^0.4.0", "stripe": "^17.3.1", - "uuid": "^11.0.2" - }, - "devDependencies": { + "uuid": "^11.0.2", "@tailwindcss/typography": "^0.5.15", "daisyui": "^4.12.23", "tailwindcss": "^3.4.17" - } + }, + "devDependencies": {} }