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.

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