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