Advertisement
cianoid

Untitled

Jan 11th, 2017
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var DBShowUsers = function(OrderBy, CallBack) {
  2.     var mysql = require('mysql'), util = require('mysql-utilities');
  3.     var con = mysql.createConnection({host: "localhost", user: "mti", password: "***", database: "db_mti"});
  4.  
  5.     con.connect();
  6.     util.upgrade(con);
  7.     util.introspection(con);
  8.  
  9.     con.select('users', '*', {}, OrderBy, CallBack);
  10.     con.end();
  11. };
  12.  
  13. try{
  14.     var argv = process.argv, argc = argv.length, trim = require('trim'), com = "";
  15.  
  16.     for (var i=2; i<argc; i++) {
  17.         argv[i] = trim(argv[i]);
  18.         com += argv[i] + " ";
  19.     }
  20.     console.log(">> " + com);
  21.  
  22.     if (argc <= 2) { throw new Error("Пустой запрос"); }
  23.     if (argv[2].toLowerCase() != "show") { throw new Error("Неверный запрос"); }
  24.  
  25.     var sort_field = argc >= 4 ? argv[3] : "", sort_dir = argc == 5 ? argv[4] : "", OrderBy = [], dir = "";
  26.  
  27.     if (sort_field.length > 0) {
  28.         if (sort_field == "id" || sort_field == "name") {
  29.             if (sort_dir.length > 0) {
  30.                 if (sort_dir == "asc" || sort_dir == "desc") {
  31.                     dir = sort_dir;
  32.                 } else {
  33.                     throw new Error("Неверное направление сортировки");
  34.                 }
  35.             }    
  36.  
  37.             OrderBy[sort_field] = dir;
  38.         } else {
  39.             throw new Error("Неверный параметр сортировки");
  40.         }
  41.     }
  42.  
  43.     DBShowUsers(OrderBy, function (err, rows) {
  44.         if (err) { throw new Error(err); } else { console.log(rows); }
  45.     });
  46. } catch (err) {
  47.     console.error(err);
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement