Creazione Sito Web da pagina
This commit is contained in:
@@ -8,7 +8,9 @@ mongoose.level = "F";
|
||||
|
||||
mongoose.set('debug', false);
|
||||
|
||||
const {ObjectID} = require('mongodb');
|
||||
const { ObjectID } = require('mongodb');
|
||||
|
||||
const _ = require('lodash');
|
||||
|
||||
// Resolving error Unknown modifier: $pushAll
|
||||
mongoose.plugin(schema => {
|
||||
@@ -242,6 +244,46 @@ module.exports.findAllIdApp = async function (idapp) {
|
||||
|
||||
};
|
||||
|
||||
module.exports.generateNewSite_IdApp = async function (idapp, params) {
|
||||
|
||||
let ris = null;
|
||||
|
||||
try {
|
||||
|
||||
if (idapp) {
|
||||
ris = await Site.find({ idapp: idapp.toString(), host: params.host });
|
||||
} else {
|
||||
|
||||
for (let idapp = 20; idapp <= 100; idapp++) {
|
||||
ris = await Site.find({ idapp: idapp.toString(), host: params.host });
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (ris && ris.length === 0) {
|
||||
const paramSite = _.pick(params, ['name', 'host', 'email']);
|
||||
let mysite = new Site(paramSite);
|
||||
|
||||
mysite.active = true;
|
||||
mysite.idapp = idapp.toString();
|
||||
mysite.adminemail = params.email;
|
||||
|
||||
const ris = await mysite.save();
|
||||
|
||||
if (ris)
|
||||
return mysite.idapp;
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
|
||||
return '';
|
||||
|
||||
};
|
||||
|
||||
module.exports.createFirstUserAdmin = async function () {
|
||||
|
||||
const { User } = require('../models/user');
|
||||
|
||||
@@ -14,6 +14,7 @@ const { Graduatoria } = require('../models/graduatoria');
|
||||
// const {NavePersistente} = require('../models/navepersistente');
|
||||
// const { ExtraList } = require('../models/extralist');
|
||||
|
||||
const server_constants = require('../tools/server_constants');
|
||||
|
||||
const { Reaction } = require('../models/reaction');
|
||||
|
||||
@@ -1291,7 +1292,7 @@ UserSchema.statics.createNewRequestPwd = function (idapp, email, code) {
|
||||
return { ris: false };
|
||||
} else {
|
||||
// Creo il tokenforgot
|
||||
user.tokenforgot = jwt.sign({_id: 'prova123##', smart: user._id.toHexString()}, process.env.SIGNCODE).
|
||||
user.tokenforgot = jwt.sign({ _id: 'prova123##', smart: user._id.toHexString() }, process.env.SIGNCODE).
|
||||
toString();
|
||||
user.date_tokenforgot = new Date();
|
||||
user.tokenforgot_code = 100000 + Math.round(Math.random() * 899999);
|
||||
@@ -1322,7 +1323,7 @@ UserSchema.statics.createNewRequestPwdByUsernameAndGetLink = async function (ida
|
||||
};
|
||||
const prova = 'dasdas1231#11';
|
||||
// Creo il tokenforgot
|
||||
user.tokenforgot = jwt.sign({_id: prova, smart: user._id.toHexString(), ...additionalData}, process.env.SIGNCODE).
|
||||
user.tokenforgot = jwt.sign({ _id: prova, smart: user._id.toHexString(), ...additionalData }, process.env.SIGNCODE).
|
||||
toString();
|
||||
user.date_tokenforgot = new Date();
|
||||
user.tokenforgot_code = 100000 + Math.round(Math.random() * 899999);
|
||||
@@ -5348,6 +5349,63 @@ UserSchema.statics.setReceiveRis = async function (idapp, username) {
|
||||
|
||||
};
|
||||
|
||||
UserSchema.statics.addNewSite = async function (idappPass, body) {
|
||||
const User = this;
|
||||
|
||||
const Site = require('../models/site');
|
||||
|
||||
// Inserisci il nuovo Sito (se non esiste)
|
||||
// Site.
|
||||
// Inserisci il Nuovo Utente (se non esiste)
|
||||
|
||||
if (!body.code || body.code.toString() !== process.env.AUTH_NEW_SITES) {
|
||||
return { code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, idapp: -1 };
|
||||
}
|
||||
|
||||
try {
|
||||
// cerca un IdApp Libero
|
||||
let idapp = await Site.generateNewSite_IdApp(idappPass, body);
|
||||
|
||||
if (idapp) {
|
||||
let arrSite = await Site.find({ idapp }).lean();
|
||||
let numutenti = 0;
|
||||
if (idapp) {
|
||||
numutenti = await User.countDocuments({ idapp });
|
||||
};
|
||||
|
||||
if (arrSite && arrSite.length === 1 && numutenti === 0) {
|
||||
// Nessun Sito Installato e Nessun Utente installato !
|
||||
let myuser = new User();
|
||||
myuser._id = new ObjectID();
|
||||
myuser.idapp = idapp;
|
||||
myuser.email = body.email;
|
||||
myuser.username = body.username;
|
||||
myuser.password = body.password;
|
||||
myuser.name = body.username;
|
||||
myuser.index = 1;
|
||||
myuser.surname = '';
|
||||
myuser.lang = 'it';
|
||||
myuser.verified_email = true;
|
||||
myuser.verified_by_aportador = true;
|
||||
myuser.perm = '3';
|
||||
myuser.profile.special_req = true;
|
||||
myuser.profile.nationality = 'IT';
|
||||
myuser.lasttimeonline = new Date();
|
||||
myuser.date_reg = new Date();
|
||||
|
||||
await myuser.save();
|
||||
|
||||
return { code: server_constants.RIS_CODE_OK, idapp };
|
||||
}
|
||||
}
|
||||
|
||||
return { code: server_constants.RIS_CODE_ERR, idapp: -1 };
|
||||
} catch (e) {
|
||||
console.error('Error in addNewSite:', e.message);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
UserSchema.statics.createNewSubRecord = async function (idapp, req) {
|
||||
const User = this;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user