zet-lib 1.2.19 → 1.2.21
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/lib/connection.js +1 -1
- package/lib/zCache.js +11 -5
- package/lib/zRoute.js +92 -86
- package/package.json +1 -1
package/lib/connection.js
CHANGED
package/lib/zCache.js
CHANGED
|
@@ -296,12 +296,18 @@ zCache.updateVersions = (name) => {
|
|
|
296
296
|
}
|
|
297
297
|
|
|
298
298
|
zCache.MODELS_RELATIONS = async () => {
|
|
299
|
-
if (
|
|
300
|
-
|
|
299
|
+
if (process.env.APP_IS_CACHE == 1) {
|
|
300
|
+
console.log('cache models')
|
|
301
|
+
if (myCache.has('MODELS_RELATIONS')) {
|
|
302
|
+
return myCache.get('MODELS_RELATIONS')
|
|
303
|
+
} else {
|
|
304
|
+
const obj = await zRoute.modelsCache()
|
|
305
|
+
myCache.set('MODELS_RELATIONS', obj)
|
|
306
|
+
return obj
|
|
307
|
+
}
|
|
301
308
|
} else {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
return obj
|
|
309
|
+
console.log('not cache models')
|
|
310
|
+
return {}
|
|
305
311
|
}
|
|
306
312
|
}
|
|
307
313
|
|
package/lib/zRoute.js
CHANGED
|
@@ -290,6 +290,10 @@ zRoute.post = (req, res, MYMODEL, routeName, body) => {
|
|
|
290
290
|
}
|
|
291
291
|
post[routeName][key] = val ? val : null
|
|
292
292
|
break
|
|
293
|
+
|
|
294
|
+
case 'numeric':
|
|
295
|
+
post[routeName][key] = val ? val : null
|
|
296
|
+
break
|
|
293
297
|
}
|
|
294
298
|
}
|
|
295
299
|
//check if widget have a tag default null
|
|
@@ -3662,110 +3666,113 @@ cache models in so it's no need call database repeatly
|
|
|
3662
3666
|
*/
|
|
3663
3667
|
|
|
3664
3668
|
zRoute.modelsCache = async () => {
|
|
3665
|
-
let models = zRoute.MYMODELS() || {}
|
|
3666
|
-
delete models.zrole
|
|
3667
|
-
delete models.zuser_company
|
|
3668
3669
|
let obj = {}
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
let
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
if (
|
|
3683
|
-
obj[table]
|
|
3670
|
+
if (process.env.APP_IS_CACHE == 1) {
|
|
3671
|
+
let models = zRoute.MYMODELS() || {}
|
|
3672
|
+
delete models.zrole
|
|
3673
|
+
delete models.zuser_company
|
|
3674
|
+
let companies
|
|
3675
|
+
let mustCaches = ['relation', 'typeahead', 'multi_line_editor', 'dropdown_multi']
|
|
3676
|
+
let nots = ['created_by', 'updated_by']
|
|
3677
|
+
for (let keys in models) {
|
|
3678
|
+
let widgets = models[keys].widgets
|
|
3679
|
+
for (let key in widgets) {
|
|
3680
|
+
if (Util.in_array(widgets[key].name, mustCaches)) {
|
|
3681
|
+
let widget = widgets[key]
|
|
3682
|
+
let table = widget.table
|
|
3683
|
+
if (widget.fields[1] != undefined) {
|
|
3684
|
+
if (!obj[table]) {
|
|
3685
|
+
obj[table] = {}
|
|
3686
|
+
}
|
|
3687
|
+
if (!Util.in_array(key, nots)) {
|
|
3688
|
+
obj[table][`${keys}___${key}`] = `${widgets[key].fields[1]} as ${key}`
|
|
3689
|
+
}
|
|
3684
3690
|
}
|
|
3685
3691
|
}
|
|
3686
3692
|
}
|
|
3687
3693
|
}
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
}
|
|
3694
|
+
companies = await connection.results({
|
|
3695
|
+
table: 'zcompany',
|
|
3696
|
+
})
|
|
3697
|
+
obj.zuser = {}
|
|
3698
|
+
obj.zuser = {
|
|
3699
|
+
created_by: 'fullname as created_by',
|
|
3700
|
+
updated_by: 'fullname as updated_by',
|
|
3701
|
+
}
|
|
3697
3702
|
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
for (let key in obj[keys]) {
|
|
3705
|
-
selects += `${obj[keys][key]},`
|
|
3706
|
-
}
|
|
3707
|
-
selects += `id, company_id`
|
|
3708
|
-
for (const company of companies) {
|
|
3709
|
-
const results = await connection.results({
|
|
3710
|
-
table: keys,
|
|
3711
|
-
select: selects,
|
|
3712
|
-
where: {
|
|
3713
|
-
company_id: company.id,
|
|
3714
|
-
},
|
|
3715
|
-
})
|
|
3703
|
+
try {
|
|
3704
|
+
for (let keys in obj) {
|
|
3705
|
+
let checks = await connection.query(`SELECT EXISTS ( SELECT 1 FROM pg_tables WHERE tablename = '${keys}') AS oke;`)
|
|
3706
|
+
if (checks[0].oke) {
|
|
3707
|
+
if (!Util.in_array(keys, zRoute.tableHasNoCompanyId)) {
|
|
3708
|
+
let selects = ``
|
|
3716
3709
|
for (let key in obj[keys]) {
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3710
|
+
selects += `${obj[keys][key]},`
|
|
3711
|
+
}
|
|
3712
|
+
selects += `id, company_id`
|
|
3713
|
+
for (const company of companies) {
|
|
3714
|
+
const results = await connection.results({
|
|
3715
|
+
table: keys,
|
|
3716
|
+
select: selects,
|
|
3717
|
+
where: {
|
|
3718
|
+
company_id: company.id,
|
|
3719
|
+
},
|
|
3720
|
+
})
|
|
3721
|
+
for (let key in obj[keys]) {
|
|
3722
|
+
const splits = key.split('___') || []
|
|
3723
|
+
let item = splits.length > 1 ? splits[1] : key
|
|
3724
|
+
let arr = []
|
|
3725
|
+
for (const result of results) {
|
|
3726
|
+
arr.push({ id: result.id, zname: result[item] })
|
|
3727
|
+
}
|
|
3728
|
+
const myarray = Util.sortArray(arr, 'zname')
|
|
3729
|
+
myCache.set(`${keys}_${key}_${company.id}`, myarray)
|
|
3722
3730
|
}
|
|
3723
|
-
const myarray = Util.sortArray(arr, 'zname')
|
|
3724
|
-
myCache.set(`${keys}_${key}_${company.id}`, myarray)
|
|
3725
3731
|
}
|
|
3726
3732
|
}
|
|
3727
3733
|
}
|
|
3728
3734
|
}
|
|
3735
|
+
} catch (e) {
|
|
3736
|
+
//debug(req,res,e.toString());
|
|
3737
|
+
console.log('modelsCache :', e + '')
|
|
3729
3738
|
}
|
|
3730
|
-
} catch (e) {
|
|
3731
|
-
//debug(req,res,e.toString());
|
|
3732
|
-
console.log('modelsCache :', e + '')
|
|
3733
3739
|
}
|
|
3734
|
-
|
|
3735
3740
|
return obj
|
|
3736
3741
|
}
|
|
3737
3742
|
|
|
3738
3743
|
zRoute.modelsCacheRenew = (table, companyId) => {
|
|
3739
|
-
if (
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3744
|
+
if (process.env.APP_IS_CACHE == 1) {
|
|
3745
|
+
if (myCache.has('MODELS_RELATIONS')) {
|
|
3746
|
+
let MODELS = myCache.get('MODELS_RELATIONS')
|
|
3747
|
+
let arr = Object.keys(MODELS) || []
|
|
3748
|
+
let obj = MODELS[table] || {}
|
|
3749
|
+
if (Util.in_array(table, arr)) {
|
|
3750
|
+
let selects = ''
|
|
3751
|
+
for (let key in obj) {
|
|
3752
|
+
selects += `${obj[key]},`
|
|
3753
|
+
}
|
|
3754
|
+
selects += `id`
|
|
3755
|
+
connection
|
|
3756
|
+
.results({
|
|
3757
|
+
select: selects,
|
|
3758
|
+
table: table,
|
|
3759
|
+
where: {
|
|
3760
|
+
company_id: companyId,
|
|
3761
|
+
},
|
|
3762
|
+
})
|
|
3763
|
+
.then(function (results) {
|
|
3764
|
+
for (let key in obj) {
|
|
3765
|
+
const splits = key.split('___') || []
|
|
3766
|
+
let item = splits.length > 1 ? splits[1] : key
|
|
3767
|
+
let arr = []
|
|
3768
|
+
for (const result of results) {
|
|
3769
|
+
arr.push({ id: result.id, zname: result[item] })
|
|
3770
|
+
}
|
|
3771
|
+
const myarray = Util.sortArray(arr, 'zname')
|
|
3772
|
+
myCache.set(`${table}_${key}_${companyId}`, myarray)
|
|
3764
3773
|
}
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
}
|
|
3768
|
-
})
|
|
3774
|
+
})
|
|
3775
|
+
}
|
|
3769
3776
|
}
|
|
3770
3777
|
}
|
|
3771
3778
|
}
|
|
@@ -3786,7 +3793,6 @@ module.exports = (req, res, next) => {`
|
|
|
3786
3793
|
templateSystem += ` next();
|
|
3787
3794
|
};
|
|
3788
3795
|
`
|
|
3789
|
-
|
|
3790
3796
|
Util.writeFile(fileSystem, templateSystem)
|
|
3791
3797
|
if (process.env.NODE_ENV === 'production') {
|
|
3792
3798
|
setTimeout(function () {
|