Guest User

Untitled

a guest
Feb 12th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. require('dotenv').config({ path: './.env' })
  2. var express = require('express');
  3. var router = express.Router();
  4. const mysql = require('mysql2/promise');
  5. const co = require('co');
  6. const chalk = require('chalk');
  7.  
  8. /* GET users listing. */
  9. router.get('/:database/tables', function (req, res, next) {
  10. process.env.DB_DATABASE = req.params.database;
  11.  
  12. const connect = function* () {
  13. return yield mysql.createConnection({
  14. host: process.env.DB_HOST,
  15. user: process.env.DB_USER,
  16. password: process.env.DB_PASS,
  17. database: process.env.DB_DATABASE
  18. });
  19. }
  20.  
  21. const showTables = function* () {
  22. try {
  23. const connection = yield connect();
  24.  
  25. const [rows, fields] = yield connection.query('show tables');
  26. const tables = rows.map(row => row[`Tables_in_${process.env.DB_DATABASE}`])
  27.  
  28. return tables;
  29. } catch (err) {
  30. yield Promise.reject(err);
  31. }
  32. }
  33.  
  34. co(showTables)
  35. .then(tables => {
  36. res.send(tables);
  37. }).catch(err => {
  38. res.status(500).send({message: err.message})
  39. })
  40.  
  41. });
  42.  
  43. module.exports = router;
Add Comment
Please, Sign In to add comment