management.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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 BaseModel = require('../base.model');
  11. let ModeUtil = require("../../util/model.util");
  12. let ImDb = require('../../repository/oracle/db/im.db');
  13. class Management extends BaseModel {
  14. constructor() {
  15. super();
  16. }
  17. getDatabaseTables() {
  18. let self = this;
  19. let data = new Array(0);
  20. ImDb.execQuery({
  21. "sql": "SELECT table_name FROM information_schema.TABLES WHERE TABLE_SCHEMA = ?",
  22. "args": [config.imDbConfig.database],
  23. "handler": function (err, result) {
  24. Management.makeResponse(data, config.imDbConfig.database, err, result);
  25. ModeUtil.emitOK(self.eventEmitter, data);
  26. }
  27. });
  28. }
  29. static makeResponse(dbStatus, dbName, err, rows) {
  30. if (err) {
  31. dbStatus.push({
  32. name: dbName,
  33. status: 'Failed',
  34. message: err
  35. });
  36. } else {
  37. let tableList = [];
  38. for (let i = 0; i < rows.length; ++i) {
  39. tableList.push(rows[i].table_name);
  40. }
  41. let status = {
  42. name: dbName,
  43. status: 'OK',
  44. tables: tableList
  45. };
  46. dbStatus.push(status);
  47. }
  48. }
  49. }
  50. module.exports = Management;