Created
November 28, 2017 07:29
-
-
Save ruangprogrammer/5698fa63838d7a94a53b0832691d1faa to your computer and use it in GitHub Desktop.
promis.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const knex = require('../knex'); // the connection! | |
const Promise = require('bluebird'); | |
module.exports = { | |
getShow(id){ | |
// return knex('_modules').orderBy('module_order','ASC'); | |
return knex.select('module_id').from('_user_level_authority').where('user_level_id',id).map(function(row) { | |
return knex('_modules').where('module_id',row.module_id).orderBy('module_order','ASC').first().then(function(ssss){ | |
var module_desc =row.module_desc; | |
var show_title = (module_desc=='title') ? true : false; | |
return knex("_modules").where('module_parent_id', ssss.module_id).orderBy('module_order','ASC').reduce(function(parent, rows) { | |
parent.data.push({module_id:rows.module_id, | |
name:rows.module_name, | |
icon:rows.module_icon, | |
url:rows.module_link, | |
checked:false}); | |
parent.n++; | |
return parent; | |
}, {n:0, data:[]}) | |
.then(function(img) { | |
return { | |
module_id:ssss.module_id, | |
name:ssss.module_name, | |
icon:ssss.module_icon, | |
title:show_title, | |
url:ssss.module_link, | |
module_order:ssss.module_order, | |
checked:false, | |
children:img.data | |
}; | |
}); | |
}); | |
}).then(function(obj) { | |
return obj; | |
}); | |
}, | |
list_module (id) { | |
return knex('_user_level_authority').where('user_level_id',id).map(function (module){ | |
return knex('_modules').select('module_id', | |
'module_name AS name', | |
'module_icon AS icon', | |
'module_id', | |
'module_link AS url').where('module_id',module.module_id).then(function (rows) { | |
let promises = rows.map(function (element) { | |
element['checked'] = false | |
return knex('_modules').select('module_name AS name','module_icon AS icon','module_id','module_link AS url').where('module_parent_id',element.module_id) | |
.then(function (docs) { | |
element['children'] = docs | |
return element; | |
}) | |
}) | |
return Promise.all(promises);//.first(); | |
}).then(function (elements) { | |
return elements; | |
}) | |
}) | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment