Creazione Sito Web da pagina
This commit is contained in:
@@ -28,3 +28,4 @@ PATH_SSL_CHAIN_PEM=chain.pem
|
||||
PROD=0
|
||||
PROJECT_DESCR_MAIN='__PROJECTS'
|
||||
SECRK=iUUb38v23jjDFaosWj92axkBOXCQ
|
||||
AUTH_NEW_SITES=B234HDSAOJ734ndcsdKWNVZZ
|
||||
@@ -28,3 +28,4 @@ PATH_SSL_CHAIN_PEM=chain.pem
|
||||
PROD=0
|
||||
PROJECT_DESCR_MAIN='__PROJECTS'
|
||||
SECRK=iUUb38v23jjDFaosWj92axkBOXCQ
|
||||
AUTH_NEW_SITES=B234HDSAOJ734ndcsdKWNV
|
||||
@@ -26,3 +26,4 @@ PATH_SSL_CHAIN_PEM=chain.pem
|
||||
PROD=0
|
||||
PROJECT_DESCR_MAIN='__PROJECTS'
|
||||
SECRK=iUUb38v23jjDFaosWj92axkBOXCQ
|
||||
AUTH_NEW_SITES=B234HDSAOJ734ndcsdKWNV
|
||||
@@ -10,6 +10,7 @@ var file = `.env.${node_env}`;
|
||||
// GLOBALI (Uguali per TUTTI)
|
||||
process.env.LINKVERIF_REG = '/vreg';
|
||||
process.env.LINK_REQUEST_NEWPASSWORD = '/requestnewpwd';
|
||||
process.env.ADD_NEW_SITE = '/addNewSite';
|
||||
process.env.LINK_UPDATE_PASSWORD = '/updatepassword';
|
||||
process.env.LINK_UPDATE_PWD = '/updatepwd';
|
||||
process.env.LINK_CHECK_UPDATES = '/checkupdates';
|
||||
|
||||
@@ -10,6 +10,8 @@ mongoose.set('debug', false);
|
||||
|
||||
const { ObjectID } = require('mongodb');
|
||||
|
||||
const _ = require('lodash');
|
||||
|
||||
// Resolving error Unknown modifier: $pushAll
|
||||
mongoose.plugin(schema => {
|
||||
schema.options.usePushEach = true
|
||||
@@ -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');
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -136,6 +136,33 @@ router.post(process.env.LINKVERIF_REG, (req, res) => {
|
||||
|
||||
});
|
||||
|
||||
|
||||
router.post(process.env.ADD_NEW_SITE, async (req, res) => {
|
||||
|
||||
try {
|
||||
const body = req.body;
|
||||
const idapp = body.idappSent;
|
||||
const name = body.name;
|
||||
const email = body.email.toLowerCase().trim();
|
||||
|
||||
console.log('Add New Site: idapp = ', idapp, 'email=', email, 'name=', name);
|
||||
|
||||
const ris = await User.addNewSite(idapp, body);
|
||||
|
||||
if (ris) {
|
||||
res.send(ris);
|
||||
} else {
|
||||
res.status(400).send({ code: server_constants.RIS_CODE_ERR, msg: 'Errore' });
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
console.log(process.env.ADD_NEW_SITE, e.message);
|
||||
res.status(400).send({ code: server_constants.RIS_CODE_ERR, msg: e });
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
// Faccio richiesta di una Nuova Password
|
||||
router.post(process.env.LINK_REQUEST_NEWPASSWORD, async (req, res) => {
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ const tools = require('../tools/general');
|
||||
const appTelegram = [tools.FREEPLANET, tools.RISO];
|
||||
|
||||
const appTelegram_TEST = [tools.FREEPLANET, tools.RISO];
|
||||
const appTelegram_DEVELOP = [tools.RISO];
|
||||
// const appTelegram_DEVELOP = [tools.FIOREDELLAVITA];
|
||||
//const appTelegram_DEVELOP = [tools.RISO];
|
||||
const appTelegram_DEVELOP = [tools.FIOREDELLAVITA];
|
||||
|
||||
const appTelegramFinti = ['2', tools.CNM];
|
||||
const appTelegramDest = [tools.FREEPLANET, tools.FREEPLANET];
|
||||
|
||||
@@ -243,6 +243,7 @@ module.exports = {
|
||||
{ table: 'statusSkills', key: 'descr' },
|
||||
],
|
||||
|
||||
|
||||
VISIB_ALL: 0,
|
||||
VISIB_ONLYIF_VERIFIED: 1,
|
||||
VISIB_ONLY_MANAGER: 2,
|
||||
|
||||
Reference in New Issue
Block a user