management.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /**
  2. * 管理端。
  3. *
  4. * author: Sand
  5. * since: 2016.11.20
  6. */
  7. "use strict";
  8. let configFile = require('../../include/commons').CONFIG_FILE;
  9. let config = require('../../resources/config/' + configFile);
  10. let wlyyRepo = require('../../repository/database/wlyy.db.js');
  11. let imRepo = require('../../repository/database/im.db.js');
  12. let BaseModel = require('../base.model');
  13. let modeUtil = require("../../util/modelUtil");
  14. class Management extends BaseModel {
  15. constructor() {
  16. super();
  17. }
  18. getDatabaseTables() {
  19. let self = this;
  20. let data = new Array(0);
  21. imRepo.execQuery({
  22. "sql": "SELECT table_name FROM information_schema.TABLES WHERE TABLE_SCHEMA = ?",
  23. "args": [config.imDbConfig.database],
  24. "handler": function (err, result) {
  25. Management.makeResponse(data, config.wlyyDbConfig.database, err, result);
  26. wlyyRepo.execQuery({
  27. "sql": "SELECT table_name FROM information_schema.TABLES WHERE TABLE_SCHEMA = ?",
  28. "args": [config.wlyyDbConfig.database],
  29. "handler": function (err, result) {
  30. Management.makeResponse(data, config.imDbConfig.database, err, result);
  31. modeUtil.emitData(self.eventEmitter, data);
  32. }
  33. });
  34. }
  35. });
  36. }
  37. static makeResponse(dbStatus, dbName, err, rows) {
  38. if (err) {
  39. dbStatus.push({
  40. name: dbName,
  41. status: 'Failed',
  42. message: err
  43. });
  44. } else {
  45. let tableList = [];
  46. for (let i = 0; i < rows.length; ++i) {
  47. tableList.push(rows[i].table_name);
  48. }
  49. let status = {
  50. name: dbName,
  51. status: 'OK',
  52. tables: tableList
  53. };
  54. dbStatus.push(status);
  55. }
  56. }
  57. }
  58. module.exports = Management;