/** * 管理端。 * * author: Sand * since: 2016.11.20 */ "use strict"; let configFile = require('../../include/commons').CONFIG_FILE; let config = require('../../resources/config/' + configFile); let wlyyRepo = require('../../repository/database/wlyy.db.js'); let imRepo = require('../../repository/database/im.db.js'); let BaseModel = require('../base.model'); let modeUtil = require("../../util/modelUtil"); class Management extends BaseModel { constructor() { super(); } getDatabaseTables() { let self = this; let data = new Array(0); imRepo.execQuery({ "sql": "SELECT table_name FROM information_schema.TABLES WHERE TABLE_SCHEMA = ?", "args": [config.imDbConfig.database], "handler": function (err, result) { Management.makeResponse(data, config.wlyyDbConfig.database, err, result); wlyyRepo.execQuery({ "sql": "SELECT table_name FROM information_schema.TABLES WHERE TABLE_SCHEMA = ?", "args": [config.wlyyDbConfig.database], "handler": function (err, result) { Management.makeResponse(data, config.imDbConfig.database, err, result); modeUtil.emitData(self.eventEmitter, data); } }); } }); } static makeResponse(dbStatus, dbName, err, rows) { if (err) { dbStatus.push({ name: dbName, status: 'Failed', message: err }); } else { let tableList = []; for (let i = 0; i < rows.length; ++i) { tableList.push(rows[i].table_name); } let status = { name: dbName, status: 'OK', tables: tableList }; dbStatus.push(status); } } } module.exports = Management;