154 lines
2.5 KiB
JavaScript
Executable File
154 lines
2.5 KiB
JavaScript
Executable File
const mongoose = require('mongoose').set('debug', false)
|
|
const Schema = mongoose.Schema;
|
|
|
|
const tools = require('../tools/general');
|
|
|
|
mongoose.Promise = global.Promise;
|
|
mongoose.level = "F";
|
|
|
|
mongoose.set('debug', false);
|
|
|
|
// Resolving error Unknown modifier: $pushAll
|
|
mongoose.plugin(schema => {
|
|
schema.options.usePushEach = true
|
|
});
|
|
|
|
const SiteSchema = new Schema({
|
|
active: {
|
|
type: Boolean,
|
|
},
|
|
idapp: {
|
|
type: String,
|
|
},
|
|
name: {
|
|
type: String,
|
|
},
|
|
adminemail: {
|
|
type: String,
|
|
},
|
|
manageremail: {
|
|
type: String,
|
|
},
|
|
replyTo: {
|
|
type: String,
|
|
},
|
|
host: {
|
|
type: String,
|
|
},
|
|
host_test: {
|
|
type: String,
|
|
},
|
|
portapp: {
|
|
type: String,
|
|
},
|
|
dir: {
|
|
type: String,
|
|
},
|
|
dir_test: {
|
|
type: String,
|
|
},
|
|
email_from: {
|
|
type: String,
|
|
},
|
|
email_pwd: {
|
|
type: String,
|
|
},
|
|
telegram_key: {
|
|
type: String,
|
|
},
|
|
telegram_bot_name: {
|
|
type: String,
|
|
},
|
|
telegram_key_test: {
|
|
type: String,
|
|
},
|
|
telegram_bot_name_test: {
|
|
type: String,
|
|
},
|
|
telegram_support_chat: {
|
|
type: String,
|
|
},
|
|
pathreg_add: {
|
|
type: String,
|
|
},
|
|
who: {
|
|
type: String
|
|
},
|
|
status: {
|
|
type: String
|
|
},
|
|
note: {
|
|
type: String
|
|
},
|
|
domain_provider: {
|
|
type: String,
|
|
},
|
|
domain_expiring: {
|
|
type: Date
|
|
},
|
|
next_payment: {
|
|
type: Date
|
|
},
|
|
confsite: {
|
|
options: { // ConfSite
|
|
type: Number,
|
|
default: 0,
|
|
},
|
|
}
|
|
});
|
|
|
|
var Site = module.exports = mongoose.model('Site', SiteSchema);
|
|
|
|
module.exports.getFieldsForSearch = function () {
|
|
return []
|
|
};
|
|
|
|
module.exports.executeQueryTable = async function (idapp, params, userreq) {
|
|
params.fieldsearch = this.getFieldsForSearch();
|
|
// return tools.executeQueryTable(this, null, params);
|
|
|
|
const { User } = require('../models/user');
|
|
|
|
// Solo l'Admin puó leggerlo
|
|
|
|
const extrapar = params.extrapar;
|
|
|
|
if (extrapar) {
|
|
return await Site.findOne({idapp: extrapar}, {name: 1, manageremail: 1, confsite: 1}).lean();
|
|
}
|
|
|
|
if (User.isAdmin(userreq.perm)) {
|
|
const myarr = await Site.find({});
|
|
|
|
return ({ count: myarr.length, rows: myarr })
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
module.exports.findAll = async function () {
|
|
|
|
const myfind = { active: true };
|
|
|
|
return await Site.find(myfind).lean();
|
|
|
|
};
|
|
|
|
module.exports.findAllIdApp = async function (idapp) {
|
|
|
|
const myfind = { idapp, active: true };
|
|
|
|
let rec = await Site.findOne(myfind).lean();
|
|
if (rec) {
|
|
|
|
rec.email_pwd = '';
|
|
rec.telegram_key = '';
|
|
rec.telegram_key_test = '';
|
|
|
|
return rec;
|
|
}
|
|
return {};
|
|
|
|
};
|