You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.4 KiB

  1. //File: controllers/userController.js
  2. var mongoose = require('mongoose');
  3. var config = require('./config');
  4. var adminConfig = require('./adminConfig'); // get our config file
  5. mongoose.Promise = global.Promise;
  6. // Connection to DB
  7. mongoose.connect(config.database, function(err, res) {
  8. if (err) throw err;
  9. console.log('Connected to Database');
  10. });
  11. var adminMdl = require('./models/adminModel')(app, mongoose);
  12. var adminModel = mongoose.model('adminModel');
  13. /* */
  14. var jwt = require('jsonwebtoken'); // used to create, sign, and verify tokens
  15. var express = require("express");
  16. var app = express();
  17. var config = require('./config'); // get our config file
  18. app.set('superSecret', config.secret); // secret variable
  19. var crypto = require('crypto');
  20. /* */
  21. var request = require('request');
  22. var readlineSync = require('readline-sync');
  23. var admin = new adminModel({});
  24. console.log("Welcome to Common Routes");
  25. console.log("----------");
  26. console.log("This is the adminCreator.js");
  27. admin.username = readlineSync.question('Enter the admin name: ');
  28. if ((admin.username == "")) {
  29. console.log("username can't be empty");
  30. process.exit(0);
  31. }
  32. console.log('Hi ' + admin.username + '!');
  33. var clearPassword = readlineSync.question('Enter the admin password: ', {
  34. hideEchoBack: true // The typed text on screen is hidden by `*` (default).
  35. });
  36. var clearPassword2 = readlineSync.question('Enter the admin password again: ', {
  37. hideEchoBack: true // The typed text on screen is hidden by `*` (default).
  38. });
  39. if (clearPassword != clearPassword2) {
  40. console.log("passwords don't match");
  41. process.exit(0);
  42. }
  43. if (clearPassword=="undefined") {
  44. console.log("Password can't be empty");
  45. process.exit(0);
  46. }
  47. if (clearPassword.length < 10) {
  48. console.log("Please, choose a password with more than 10 characters");
  49. process.exit(0);
  50. }
  51. admin.password = crypto.createHash('sha256').update(clearPassword).digest('base64')
  52. admin.email = readlineSync.question('email: ');
  53. admin.phone = readlineSync.question('phone: ');
  54. admin.telegram = readlineSync.question('telegram: ');
  55. if (admin.email == undefined) {
  56. console.log("username or email empty");
  57. process.exit(0);
  58. }
  59. console.log(admin);
  60. admin.save(function(err, admin) {
  61. if (err){
  62. console.log(err.message);
  63. process.exit(0);
  64. }
  65. console.log("admin created correctly");
  66. process.exit(0);
  67. });
  68. process.exit(0);