zet-lib 1.2.20 → 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 +88 -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
|
@@ -3666,110 +3666,113 @@ cache models in so it's no need call database repeatly
|
|
|
3666
3666
|
*/
|
|
3667
3667
|
|
|
3668
3668
|
zRoute.modelsCache = async () => {
|
|
3669
|
-
let models = zRoute.MYMODELS() || {}
|
|
3670
|
-
delete models.zrole
|
|
3671
|
-
delete models.zuser_company
|
|
3672
3669
|
let obj = {}
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
let
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
if (
|
|
3687
|
-
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
|
+
}
|
|
3688
3690
|
}
|
|
3689
3691
|
}
|
|
3690
3692
|
}
|
|
3691
3693
|
}
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
}
|
|
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
|
+
}
|
|
3701
3702
|
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
for (let key in obj[keys]) {
|
|
3709
|
-
selects += `${obj[keys][key]},`
|
|
3710
|
-
}
|
|
3711
|
-
selects += `id, company_id`
|
|
3712
|
-
for (const company of companies) {
|
|
3713
|
-
const results = await connection.results({
|
|
3714
|
-
table: keys,
|
|
3715
|
-
select: selects,
|
|
3716
|
-
where: {
|
|
3717
|
-
company_id: company.id,
|
|
3718
|
-
},
|
|
3719
|
-
})
|
|
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 = ``
|
|
3720
3709
|
for (let key in obj[keys]) {
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
|
|
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)
|
|
3726
3730
|
}
|
|
3727
|
-
const myarray = Util.sortArray(arr, 'zname')
|
|
3728
|
-
myCache.set(`${keys}_${key}_${company.id}`, myarray)
|
|
3729
3731
|
}
|
|
3730
3732
|
}
|
|
3731
3733
|
}
|
|
3732
3734
|
}
|
|
3735
|
+
} catch (e) {
|
|
3736
|
+
//debug(req,res,e.toString());
|
|
3737
|
+
console.log('modelsCache :', e + '')
|
|
3733
3738
|
}
|
|
3734
|
-
} catch (e) {
|
|
3735
|
-
//debug(req,res,e.toString());
|
|
3736
|
-
console.log('modelsCache :', e + '')
|
|
3737
3739
|
}
|
|
3738
|
-
|
|
3739
3740
|
return obj
|
|
3740
3741
|
}
|
|
3741
3742
|
|
|
3742
3743
|
zRoute.modelsCacheRenew = (table, companyId) => {
|
|
3743
|
-
if (
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
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)
|
|
3768
3773
|
}
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
}
|
|
3772
|
-
})
|
|
3774
|
+
})
|
|
3775
|
+
}
|
|
3773
3776
|
}
|
|
3774
3777
|
}
|
|
3775
3778
|
}
|
|
@@ -3790,7 +3793,6 @@ module.exports = (req, res, next) => {`
|
|
|
3790
3793
|
templateSystem += ` next();
|
|
3791
3794
|
};
|
|
3792
3795
|
`
|
|
3793
|
-
|
|
3794
3796
|
Util.writeFile(fileSystem, templateSystem)
|
|
3795
3797
|
if (process.env.NODE_ENV === 'production') {
|
|
3796
3798
|
setTimeout(function () {
|