Nuovo Sistema di registrazione:
tramite il BOT, viene memorizzato l'username telegram e si usa quello come username per la APP, e l'ID telegram viene passato direttamente, senza chiedere la verifica. - ospitalità (inizio).
This commit is contained in:
498
src/server/models/myhosp.js
Executable file
498
src/server/models/myhosp.js
Executable file
@@ -0,0 +1,498 @@
|
|||||||
|
const mongoose = require('mongoose').set('debug', false);
|
||||||
|
const Schema = mongoose.Schema;
|
||||||
|
|
||||||
|
mongoose.Promise = global.Promise;
|
||||||
|
mongoose.level = 'F';
|
||||||
|
|
||||||
|
const tools = require('../tools/general');
|
||||||
|
|
||||||
|
const {ObjectID} = require('mongodb');
|
||||||
|
|
||||||
|
// Resolving error Unknown modifier: $pushAll
|
||||||
|
mongoose.plugin(schema => {
|
||||||
|
schema.options.usePushEach = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
const MyHospSchema = new Schema({
|
||||||
|
_id: {
|
||||||
|
type: Number,
|
||||||
|
},
|
||||||
|
idapp: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
userId: {type: Schema.Types.ObjectId, ref: 'User'},
|
||||||
|
idSector: {
|
||||||
|
type: Number,
|
||||||
|
},
|
||||||
|
idSkill: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
idStatusSkill: [
|
||||||
|
{
|
||||||
|
type: Number,
|
||||||
|
}],
|
||||||
|
idContribType: [
|
||||||
|
{
|
||||||
|
type: String,
|
||||||
|
}],
|
||||||
|
idCity: [
|
||||||
|
{
|
||||||
|
type: Number,
|
||||||
|
}],
|
||||||
|
dateTimeStart: {
|
||||||
|
type: Date,
|
||||||
|
},
|
||||||
|
dateTimeEnd: {
|
||||||
|
type: Date,
|
||||||
|
},
|
||||||
|
numLevel: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
adType: {
|
||||||
|
type: Number,
|
||||||
|
},
|
||||||
|
photos: [
|
||||||
|
{
|
||||||
|
imagefile: {
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
alt: {
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
description: {
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
}],
|
||||||
|
note: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
descr: {
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
//**ADDFIELD_MyHospS
|
||||||
|
website: {
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
date_created: {
|
||||||
|
type: Date,
|
||||||
|
default: Date.now,
|
||||||
|
},
|
||||||
|
date_updated: {
|
||||||
|
type: Date,
|
||||||
|
default: Date.now,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
MyHospSchema.pre('save', async function(next) {
|
||||||
|
if (this.isNew) {
|
||||||
|
const myrec = await MyHosp.findOne().limit(1).sort({_id: -1});
|
||||||
|
if (!!myrec) {
|
||||||
|
if (myrec._doc._id === 0)
|
||||||
|
this._id = 1;
|
||||||
|
else
|
||||||
|
this._id = myrec._doc._id + 1;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this._id = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.date_created = new Date();
|
||||||
|
}
|
||||||
|
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
|
MyHospSchema.statics.findAllIdApp = async function(idapp) {
|
||||||
|
const MyHosp = this;
|
||||||
|
|
||||||
|
const query = [
|
||||||
|
{$match: {idapp}},
|
||||||
|
{$sort: {descr: 1}},
|
||||||
|
];
|
||||||
|
|
||||||
|
return MyHosp.aggregate(query).then((arrrec) => {
|
||||||
|
return arrrec;
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
MyHospSchema.statics.getFieldsForSearch = function() {
|
||||||
|
return [];
|
||||||
|
};
|
||||||
|
|
||||||
|
MyHospSchema.statics.getFieldsLastForSearch = function() {
|
||||||
|
return [
|
||||||
|
{field: 'note', type: tools.FieldType.string},
|
||||||
|
{field: 'descr', type: tools.FieldType.string},
|
||||||
|
{field: 'recSkill.descr', type: tools.FieldType.string},
|
||||||
|
{field: 'MyHosp.descr', type: tools.FieldType.string},
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
MyHospSchema.statics.executeQueryTable = function(idapp, params) {
|
||||||
|
params.fieldsearch = this.getFieldsForSearch();
|
||||||
|
params.fieldsearch_last = this.getFieldsLastForSearch();
|
||||||
|
|
||||||
|
const otherparams = {
|
||||||
|
lookup1: {
|
||||||
|
lk_tab: 'users',
|
||||||
|
lk_LF: 'userId',
|
||||||
|
lk_FF: '_id',
|
||||||
|
lk_as: 'user',
|
||||||
|
af_objId_tab: 'myId',
|
||||||
|
lk_proj: {
|
||||||
|
idSkill: 1,
|
||||||
|
idSubSkill: 1,
|
||||||
|
MyHosp: 1,
|
||||||
|
idStatusSkill: 1,
|
||||||
|
idContribType: 1,
|
||||||
|
dateTimeStart: 1,
|
||||||
|
dateTimeEnd: 1,
|
||||||
|
idCity: 1,
|
||||||
|
numLevel: 1,
|
||||||
|
adType: 1,
|
||||||
|
photos: 1,
|
||||||
|
note: 1,
|
||||||
|
//**ADDFIELD_MyHospS
|
||||||
|
website: 1,
|
||||||
|
descr: 1,
|
||||||
|
date_created: 1,
|
||||||
|
date_updated: 1,
|
||||||
|
userId: 1,
|
||||||
|
username: 1,
|
||||||
|
name: 1,
|
||||||
|
surname: 1,
|
||||||
|
'profile.img': 1,
|
||||||
|
'profile.qualifica': 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
params = {...params, ...otherparams};
|
||||||
|
|
||||||
|
return tools.executeQueryTable(this, idapp, params);
|
||||||
|
};
|
||||||
|
|
||||||
|
MyHospSchema.statics.getMyRecById = function(idapp, id) {
|
||||||
|
const MyHosp = this;
|
||||||
|
|
||||||
|
const query = [
|
||||||
|
{
|
||||||
|
'$match': {
|
||||||
|
'$and': [
|
||||||
|
{
|
||||||
|
'_id': parseInt(id),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$match': {
|
||||||
|
'idapp': idapp,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$sort': {
|
||||||
|
'desc': 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$addFields': {
|
||||||
|
'myId1': {
|
||||||
|
'$toObjectId': '$userId',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$lookup': {
|
||||||
|
'from': 'users',
|
||||||
|
'localField': 'myId1',
|
||||||
|
'foreignField': '_id',
|
||||||
|
'as': 'user',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$replaceRoot': {
|
||||||
|
'newRoot': {
|
||||||
|
'$mergeObjects': [
|
||||||
|
{
|
||||||
|
'$arrayElemAt': [
|
||||||
|
'$user',
|
||||||
|
0,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'$$ROOT',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$project': {
|
||||||
|
'recSkill': 1,
|
||||||
|
'sector': 1,
|
||||||
|
'idSector': 1,
|
||||||
|
'idSkill': 1,
|
||||||
|
'idSubSkill': 1,
|
||||||
|
'idStatusSkill': 1,
|
||||||
|
'idContribType': 1,
|
||||||
|
dateTimeStart: 1,
|
||||||
|
dateTimeEnd: 1,
|
||||||
|
'idCity': 1,
|
||||||
|
'numLevel': 1,
|
||||||
|
adType: 1,
|
||||||
|
'photos': 1,
|
||||||
|
'note': 1,
|
||||||
|
website: 1,
|
||||||
|
//**ADDFIELD_MyHospS
|
||||||
|
'descr': 1,
|
||||||
|
'date_created': 1,
|
||||||
|
'date_updated': 1,
|
||||||
|
'userId': 1,
|
||||||
|
'username': 1,
|
||||||
|
'name': 1,
|
||||||
|
'surname': 1,
|
||||||
|
'comune': 1,
|
||||||
|
'mycities': 1,
|
||||||
|
'profile.img': 1,
|
||||||
|
'profile.qualifica': 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$lookup': {
|
||||||
|
'from': 'skills',
|
||||||
|
'localField': 'idSkill',
|
||||||
|
'foreignField': '_id',
|
||||||
|
'as': 'recSkill',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$replaceRoot': {
|
||||||
|
'newRoot': {
|
||||||
|
'$mergeObjects': [
|
||||||
|
{
|
||||||
|
'$arrayElemAt': [
|
||||||
|
'$recSkill',
|
||||||
|
0,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'$$ROOT',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$project': {
|
||||||
|
'recSkill': 1,
|
||||||
|
'sector': 1,
|
||||||
|
'idSector': 1,
|
||||||
|
'idSkill': 1,
|
||||||
|
'idSubSkill': 1,
|
||||||
|
'idStatusSkill': 1,
|
||||||
|
'idContribType': 1,
|
||||||
|
dateTimeStart: 1,
|
||||||
|
dateTimeEnd: 1,
|
||||||
|
'idCity': 1,
|
||||||
|
'numLevel': 1,
|
||||||
|
adType: 1,
|
||||||
|
'photos': 1,
|
||||||
|
'note': 1,
|
||||||
|
website: 1,
|
||||||
|
//**ADDFIELD_MyHospS
|
||||||
|
'descr': 1,
|
||||||
|
'date_created': 1,
|
||||||
|
'date_updated': 1,
|
||||||
|
'userId': 1,
|
||||||
|
'username': 1,
|
||||||
|
'name': 1,
|
||||||
|
'surname': 1,
|
||||||
|
'comune': 1,
|
||||||
|
'mycities': 1,
|
||||||
|
'profile.img': 1,
|
||||||
|
'profile.qualifica': 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$lookup': {
|
||||||
|
'from': 'sectors',
|
||||||
|
'localField': 'recSkill.idSector',
|
||||||
|
'foreignField': '_id',
|
||||||
|
'as': 'sector',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$replaceRoot': {
|
||||||
|
'newRoot': {
|
||||||
|
'$mergeObjects': [
|
||||||
|
{
|
||||||
|
'$arrayElemAt': [
|
||||||
|
'$sector',
|
||||||
|
0,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'$$ROOT',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$project': {
|
||||||
|
'recSkill': 1,
|
||||||
|
'sector': 1,
|
||||||
|
'idSector': 1,
|
||||||
|
'idSkill': 1,
|
||||||
|
'idSubSkill': 1,
|
||||||
|
'idStatusSkill': 1,
|
||||||
|
'idContribType': 1,
|
||||||
|
dateTimeStart: 1,
|
||||||
|
dateTimeEnd: 1,
|
||||||
|
'idCity': 1,
|
||||||
|
'numLevel': 1,
|
||||||
|
adType: 1,
|
||||||
|
'photos': 1,
|
||||||
|
'note': 1,
|
||||||
|
website: 1,
|
||||||
|
//**ADDFIELD_MyHospS
|
||||||
|
'descr': 1,
|
||||||
|
'date_created': 1,
|
||||||
|
'date_updated': 1,
|
||||||
|
'userId': 1,
|
||||||
|
'username': 1,
|
||||||
|
'name': 1,
|
||||||
|
'surname': 1,
|
||||||
|
'comune': 1,
|
||||||
|
'mycities': 1,
|
||||||
|
'profile.img': 1,
|
||||||
|
'profile.qualifica': 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
/*{
|
||||||
|
'$lookup': {
|
||||||
|
'from': 'subskills',
|
||||||
|
'localField': 'idSubSkill',
|
||||||
|
'foreignField': '_id',
|
||||||
|
'as': 'MyHosp',
|
||||||
|
},
|
||||||
|
},*/
|
||||||
|
{
|
||||||
|
'$replaceRoot': {
|
||||||
|
'newRoot': {
|
||||||
|
'$mergeObjects': [
|
||||||
|
{
|
||||||
|
'$arrayElemAt': [
|
||||||
|
'$MyHosp',
|
||||||
|
0,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'$$ROOT',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$project': {
|
||||||
|
'recSkill': 1,
|
||||||
|
'sector': 1,
|
||||||
|
'idSector': 1,
|
||||||
|
'idSkill': 1,
|
||||||
|
// 'idSubSkill': 1,
|
||||||
|
'idStatusSkill': 1,
|
||||||
|
'idContribType': 1,
|
||||||
|
dateTimeStart: 1,
|
||||||
|
dateTimeEnd: 1,
|
||||||
|
'idCity': 1,
|
||||||
|
'numLevel': 1,
|
||||||
|
adType: 1,
|
||||||
|
'photos': 1,
|
||||||
|
'note': 1,
|
||||||
|
website: 1,
|
||||||
|
//**ADDFIELD_MyHospS
|
||||||
|
'descr': 1,
|
||||||
|
'date_created': 1,
|
||||||
|
'date_updated': 1,
|
||||||
|
'userId': 1,
|
||||||
|
'username': 1,
|
||||||
|
'name': 1,
|
||||||
|
'surname': 1,
|
||||||
|
'comune': 1,
|
||||||
|
'mycities': 1,
|
||||||
|
'profile.img': 1,
|
||||||
|
'profile.qualifica': 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$lookup': {
|
||||||
|
'from': 'cities',
|
||||||
|
'localField': 'idCity',
|
||||||
|
'foreignField': '_id',
|
||||||
|
'as': 'mycities',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$replaceRoot': {
|
||||||
|
'newRoot': {
|
||||||
|
'$mergeObjects': [
|
||||||
|
{
|
||||||
|
'$arrayElemAt': [
|
||||||
|
'$mycities',
|
||||||
|
0,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'$$ROOT',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$project': {
|
||||||
|
'recSkill': 1,
|
||||||
|
'sector': 1,
|
||||||
|
'idSector': 1,
|
||||||
|
'idSkill': 1,
|
||||||
|
// 'idSubSkill': 1,
|
||||||
|
'idStatusSkill': 1,
|
||||||
|
'idContribType': 1,
|
||||||
|
dateTimeStart: 1,
|
||||||
|
dateTimeEnd: 1,
|
||||||
|
'idCity': 1,
|
||||||
|
'numLevel': 1,
|
||||||
|
adType: 1,
|
||||||
|
'photos': 1,
|
||||||
|
'note': 1,
|
||||||
|
website: 1,
|
||||||
|
//**ADDFIELD_MyHospS
|
||||||
|
'descr': 1,
|
||||||
|
'date_created': 1,
|
||||||
|
'date_updated': 1,
|
||||||
|
'userId': 1,
|
||||||
|
'username': 1,
|
||||||
|
'name': 1,
|
||||||
|
'surname': 1,
|
||||||
|
'comune': 1,
|
||||||
|
'mycities': 1,
|
||||||
|
'profile.img': 1,
|
||||||
|
'profile.qualifica': 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
return MyHosp.aggregate(query).then((rec) => {
|
||||||
|
return rec ? rec[0] : null;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
MyHospSchema.statics.getCompleteRecord = function(idapp, id) {
|
||||||
|
const MyHosp = this;
|
||||||
|
|
||||||
|
return MyHosp.getMyRecById(idapp, id);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const MyHosp = mongoose.model('MyHosp', MyHospSchema);
|
||||||
|
|
||||||
|
module.exports = {MyHosp};
|
||||||
@@ -76,19 +76,19 @@ module.exports.getProducerByTitle = function (query,sort, callback) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module.exports.filterProducerByDepartment = function (department, callback) {
|
module.exports.filterProducerByDepartment = function (department, callback) {
|
||||||
let regexp = new RegExp(`${department}`, 'i')
|
let regexp = new RegExp(`^${department}$`, 'i')
|
||||||
var query = { department: { $regex: regexp } };
|
var query = { department: { $regex: regexp } };
|
||||||
Producer.find(query, callback)
|
Producer.find(query, callback)
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.filterProducerByCategory = function (category, callback) {
|
module.exports.filterProducerByCategory = function (category, callback) {
|
||||||
let regexp = new RegExp(`${category}`, 'i')
|
let regexp = new RegExp(`^${category}$`, 'i')
|
||||||
var query = { category: { $regex: regexp } };
|
var query = { category: { $regex: regexp } };
|
||||||
Producer.find(query, callback);
|
Producer.find(query, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.filterProducerByTitle = function (title, callback) {
|
module.exports.filterProducerByTitle = function (title, callback) {
|
||||||
let regexp = new RegExp(`${title}`, 'i')
|
let regexp = new RegExp(`^${title}$`, 'i')
|
||||||
var query = { title: { $regex: regexp } };
|
var query = { title: { $regex: regexp } };
|
||||||
Producer.find(query, callback);
|
Producer.find(query, callback);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,19 +162,19 @@ module.exports.getProductByCode = function (idapp, code) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module.exports.filterProductByDepartment = function (department, callback) {
|
module.exports.filterProductByDepartment = function (department, callback) {
|
||||||
let regexp = new RegExp(`${department}`, 'i')
|
let regexp = new RegExp(`^${department}$`, 'i')
|
||||||
var query = { department: { $regex: regexp } };
|
var query = { department: { $regex: regexp } };
|
||||||
Product.find(query, callback)
|
Product.find(query, callback)
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.filterProductByCategory = function (category, callback) {
|
module.exports.filterProductByCategory = function (category, callback) {
|
||||||
let regexp = new RegExp(`${category}`, 'i')
|
let regexp = new RegExp(`^${category}$`, 'i')
|
||||||
var query = { category: { $regex: regexp } };
|
var query = { category: { $regex: regexp } };
|
||||||
Product.find(query, callback);
|
Product.find(query, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.filterProductByTitle = function (title, callback) {
|
module.exports.filterProductByTitle = function (title, callback) {
|
||||||
let regexp = new RegExp(`${title}`, 'i')
|
let regexp = new RegExp(`^${title}$`, 'i')
|
||||||
var query = { title: { $regex: regexp } };
|
var query = { title: { $regex: regexp } };
|
||||||
Product.find(query, callback);
|
Product.find(query, callback);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -549,7 +549,7 @@ UserSchema.statics.findByCredentials = function(idapp, username, password, pwdcr
|
|||||||
const User = this;
|
const User = this;
|
||||||
let pwd = '';
|
let pwd = '';
|
||||||
|
|
||||||
let regexp = new RegExp(`${username}`, 'i');
|
let regexp = new RegExp(`^${username}$`, 'i');
|
||||||
|
|
||||||
return User.findOne({
|
return User.findOne({
|
||||||
idapp,
|
idapp,
|
||||||
@@ -647,7 +647,7 @@ UserSchema.statics.findByUsername = async function(idapp, username, alsoemail, o
|
|||||||
UserSchema.statics.getUserShortDataByUsername = async function(idapp, username) {
|
UserSchema.statics.getUserShortDataByUsername = async function(idapp, username) {
|
||||||
const User = this;
|
const User = this;
|
||||||
|
|
||||||
let regexp = new RegExp(`${username}`, 'i');
|
let regexp = new RegExp(`^${username}$`, 'i');
|
||||||
|
|
||||||
const myrec = await User.findOne({
|
const myrec = await User.findOne({
|
||||||
'idapp': idapp,
|
'idapp': idapp,
|
||||||
@@ -2196,7 +2196,7 @@ UserSchema.statics.getNameSurnameByUsername = async function(
|
|||||||
UserSchema.statics.getIdByUsername = async function(idapp, username) {
|
UserSchema.statics.getIdByUsername = async function(idapp, username) {
|
||||||
const User = this;
|
const User = this;
|
||||||
|
|
||||||
let regexp = new RegExp(`${username}`, 'i');
|
let regexp = new RegExp(`^${username}$`, 'i');
|
||||||
|
|
||||||
return User.findOne({
|
return User.findOne({
|
||||||
idapp,
|
idapp,
|
||||||
@@ -2212,7 +2212,7 @@ UserSchema.statics.getIdByUsername = async function(idapp, username) {
|
|||||||
UserSchema.statics.getRealUsernameByUsername = async function(idapp, username) {
|
UserSchema.statics.getRealUsernameByUsername = async function(idapp, username) {
|
||||||
const User = this;
|
const User = this;
|
||||||
|
|
||||||
let regexp = new RegExp(`${username}`, 'i');
|
let regexp = new RegExp(`^${username}$`, 'i');
|
||||||
|
|
||||||
return User.findOne({
|
return User.findOne({
|
||||||
idapp,
|
idapp,
|
||||||
|
|||||||
@@ -171,8 +171,7 @@ router.post('/', async (req, res) => {
|
|||||||
if (useralreadyexist) {
|
if (useralreadyexist) {
|
||||||
|
|
||||||
if (tools.getAskToVerifyReg(useralreadyexist.idapp)) {
|
if (tools.getAskToVerifyReg(useralreadyexist.idapp)) {
|
||||||
if (!useralreadyexist.verified_by_aportador &&
|
if (!useralreadyexist.verified_by_aportador && useralreadyexist.profile.teleg_id > 0) {
|
||||||
useralreadyexist.profile.teleg_id > 0) {
|
|
||||||
if (trovarec) {
|
if (trovarec) {
|
||||||
utentenonancoraVerificato = true;
|
utentenonancoraVerificato = true;
|
||||||
}
|
}
|
||||||
@@ -316,6 +315,9 @@ router.post('/', async (req, res) => {
|
|||||||
// Invia un'email all'utente
|
// Invia un'email all'utente
|
||||||
// tools.mylog('process.env.TESTING_ON', process.env.TESTING_ON);
|
// tools.mylog('process.env.TESTING_ON', process.env.TESTING_ON);
|
||||||
console.log('res.locale', res.locale);
|
console.log('res.locale', res.locale);
|
||||||
|
|
||||||
|
await telegrambot.askConfirmationUser(user.idapp, shared_consts.CallFunz.REGISTRATION, user);
|
||||||
|
|
||||||
// if (!tools.testing()) {
|
// if (!tools.testing()) {
|
||||||
await sendemail.sendEmail_Registration(user.lang, user.email, user,
|
await sendemail.sendEmail_Registration(user.lang, user.email, user,
|
||||||
user.idapp, user.linkreg);
|
user.idapp, user.linkreg);
|
||||||
|
|||||||
@@ -408,8 +408,9 @@ const MenuYesNo = {
|
|||||||
|
|
||||||
const MenuAdmin = {
|
const MenuAdmin = {
|
||||||
it: {
|
it: {
|
||||||
menu: [[Menu.RESTART_SRV + ' 6711', Menu.LOG_SRV + ' 6711'],
|
menu: [
|
||||||
[Menu.REBOOT_SRV+ ' 6711', Menu.it.INDIETRO]],
|
[Menu.RESTART_SRV + ' 6711', Menu.LOG_SRV + ' 6711'],
|
||||||
|
[Menu.REBOOT_SRV + ' 6711', Menu.it.INDIETRO]],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -439,8 +440,10 @@ const Status = {
|
|||||||
EXIT: -5,
|
EXIT: -5,
|
||||||
NONE: 0,
|
NONE: 0,
|
||||||
VERIFIED: 1,
|
VERIFIED: 1,
|
||||||
WAITFOR_USERNAME_BO: 102,
|
WAITFOR_USERNAME_TELEGRAM: 101,
|
||||||
WAITFOR_VERIFY_CODE: 103,
|
WAITFOR_USERNAME_INVITANTE: 104,
|
||||||
|
SET_USERNAME_INVITANTE: 105,
|
||||||
|
CLICK_LINK_REG: 106,
|
||||||
WAITFOR_RISPOSTA: 110,
|
WAITFOR_RISPOSTA: 110,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -473,6 +476,8 @@ const txt = {
|
|||||||
MSG_SCEGLI_MENU: emoji.get('dizzy') + ' Scegli una voce di menu:' +
|
MSG_SCEGLI_MENU: emoji.get('dizzy') + ' Scegli una voce di menu:' +
|
||||||
emoji.get('dizzy'),
|
emoji.get('dizzy'),
|
||||||
MSG_ASK_USERNAME_BO: 'Scrivete nel messaggio l\'username (SENZA SPAZI) o la email con cui vi siete registrati sul sito di %s:',
|
MSG_ASK_USERNAME_BO: 'Scrivete nel messaggio l\'username (SENZA SPAZI) o la email con cui vi siete registrati sul sito di %s:',
|
||||||
|
MSG_ASK_USERNAME_INVITANTE: 'Scrivi l\'username di chi ti ha invitato su %s (non inserire spazi)',
|
||||||
|
MSG_ERRORE_INVITANTE_NOT_FOUND: 'L\'username dell\'invitante appena digitato non sembra essere corretto!',
|
||||||
MSG_ERRORE_USERNAME: 'Attenzione! Devi inserire solo lo username (40 caratteri massimo)',
|
MSG_ERRORE_USERNAME: 'Attenzione! Devi inserire solo lo username (40 caratteri massimo)',
|
||||||
MSG_ERRORE_USERNAME_NOT_FOUND: 'Per Completare la Verifica Telegram BOT, dovete ora scrivere qui sotto nel messaggio l\'Username (senza spazi) OPPURE la email con cui vi siete registrati sul sito',
|
MSG_ERRORE_USERNAME_NOT_FOUND: 'Per Completare la Verifica Telegram BOT, dovete ora scrivere qui sotto nel messaggio l\'Username (senza spazi) OPPURE la email con cui vi siete registrati sul sito',
|
||||||
MSG_ERRORE_USERNAME_ANNULLA: 'Inserimento Annullato. Riprovare',
|
MSG_ERRORE_USERNAME_ANNULLA: 'Inserimento Annullato. Riprovare',
|
||||||
@@ -496,13 +501,26 @@ const txt = {
|
|||||||
MSG_APORTADOR_DEST_CONFIRMED: '✅ Sei stato Abilitato correttamente da %s!\n' +
|
MSG_APORTADOR_DEST_CONFIRMED: '✅ Sei stato Abilitato correttamente da %s!\n' +
|
||||||
'Vai sulla App oppure clicca qui per entrare\n👉🏻 %s',
|
'Vai sulla App oppure clicca qui per entrare\n👉🏻 %s',
|
||||||
MSG_GROUP_CONFIRMED: '✅ Sei stato Aggiunto sul Gruppo %s!',
|
MSG_GROUP_CONFIRMED: '✅ Sei stato Aggiunto sul Gruppo %s!',
|
||||||
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK + '🚫 Ci dispiace ma non sei stato Verificato correttamente dal tuo invitante %s.<br>Contattalo per farti abilitare !',
|
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
|
||||||
|
'🚫 Ci dispiace ma non sei stato Verificato correttamente dal tuo invitante %s.<br>Contattalo per farti abilitare !',
|
||||||
MSG_APORTADOR_NOT_CONFIRMED: emo.EXCLAMATION_MARK + '🚫 %s Non è stato Abilitato !',
|
MSG_APORTADOR_NOT_CONFIRMED: emo.EXCLAMATION_MARK + '🚫 %s Non è stato Abilitato !',
|
||||||
MSG_ISCRITTO_CONACREIS: emo.FIRE + ' Si è appena Iscritto al Conacreis "%s"',
|
MSG_ISCRITTO_CONACREIS: emo.FIRE + ' Si è appena Iscritto al Conacreis "%s"',
|
||||||
MSG_MSG_SENT: emoji.get('envelope') + ' Messaggi Inviati !',
|
MSG_MSG_SENT: emoji.get('envelope') + ' Messaggi Inviati !',
|
||||||
MSG_MSG_TOSENT: emoji.get('envelope') + ' Messaggi da Inviare',
|
MSG_MSG_TOSENT: emoji.get('envelope') + ' Messaggi da Inviare',
|
||||||
MSG_MSG_INCORSO: emoji.get('envelope') +
|
MSG_MSG_INCORSO: emoji.get('envelope') + ' messaggi in corso... Inviati attualmente',
|
||||||
' messaggi in corso... Inviati attualmente',
|
MSG_SET_USERNAME_TELEGRAM: '[Prima di continuare con la registrazione in RISO.APP]\n' +
|
||||||
|
'Segui questi passi per <b>IMPOSTARE UN USERNAME IN TELEGRAM</b>: \n\n' +
|
||||||
|
'1. premi sull\'icona con <b>3 linee orizzontali</b>, in alto a sinistra (sull\'iPhone si chiama "Impostazioni").\n' +
|
||||||
|
'Per vederlo premi INDIETRO (si chiuderà questa chat).\n\n' +
|
||||||
|
'2. Seleziona la voce <b>IMPOSTAZIONI</b> dalla lista.\n\n' +
|
||||||
|
'3.Premi su <b>USERNAME</b> nella sezione account.\n\n' +
|
||||||
|
'4. Digita un username (o nome utente) qualsiasi a tua scelta, se è già usato aggiungi dei numeri.\n\n' +
|
||||||
|
'5. Per confermare premi sull\'icona con la spunta (V) in alto a destra.\n\n' +
|
||||||
|
'🏁 6. Infine ritorna su questa chat BOT e scrivi OK nel messaggio. \n\n' +
|
||||||
|
' Se non riesci a fare questi passaggi, clicca qui: \n' +
|
||||||
|
'👉🏻 https://www.nigiara.it/telegram/come-impostare-uno-username-su-telegram.htm ',
|
||||||
|
MSG_SIGNUP: 'Per registrarti su %s:',
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const txt_es = {
|
const txt_es = {
|
||||||
@@ -1345,7 +1363,7 @@ class Telegram {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async start(msg) {
|
async settotheDatabase(msg) {
|
||||||
|
|
||||||
// Check if Present to the DB
|
// Check if Present to the DB
|
||||||
const riscreate = await this.createIfNotExist(msg);
|
const riscreate = await this.createIfNotExist(msg);
|
||||||
@@ -1357,12 +1375,21 @@ class Telegram {
|
|||||||
|
|
||||||
if (rec.user)
|
if (rec.user)
|
||||||
rec.status = Status.VERIFIED;
|
rec.status = Status.VERIFIED;
|
||||||
} else {
|
|
||||||
// await this.sendMsg(msg.chat.id, getstr(this.getlang(msg), 'MSG_ASK_USERNAME_BO', tools.getNomeAppByIdApp(this.idapp)), MenuNoLogin);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async start(msg) {
|
||||||
|
|
||||||
|
// Check if Username Telegram Present
|
||||||
|
if (!msg.from.username) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
await this.settotheDatabase(msg);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
geturlfaq() {
|
geturlfaq() {
|
||||||
return tools.getHostByIdApp(this.idapp) + '/faq';
|
return tools.getHostByIdApp(this.idapp) + '/faq';
|
||||||
}
|
}
|
||||||
@@ -1463,10 +1490,10 @@ class Telegram {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
/*} else {
|
||||||
if (!rec.user.profile.username_telegram) {
|
if (!rec.user.profile.username_telegram) {
|
||||||
return this.checkIfUsernameTelegramSet(msg, rec.user);
|
return this.checkIfUsernameTelegramSet(msg, rec.user);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1875,10 +1902,6 @@ class Telegram {
|
|||||||
|
|
||||||
async menuAccedi(msg) {
|
async menuAccedi(msg) {
|
||||||
let status = this.getstatusInMemory(msg);
|
let status = this.getstatusInMemory(msg);
|
||||||
if (status === Status.WAITFOR_USERNAME_BO) {
|
|
||||||
await this.sendMsg(msg.from.id,
|
|
||||||
getstr(this.getlang(msg), 'MSG_ERRORE_USERNAME_NOT_FOUND'));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getlang(msg) {
|
getlang(msg) {
|
||||||
@@ -2216,7 +2239,8 @@ class Telegram {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nonAbilitato(msg) {
|
nonAbilitato(msg) {
|
||||||
MyTelegramBot.local_sendMsgTelegramByIdTelegram(this.idapp, msg.chat.id, 'Utente Non abilitato o codice non valido ad eseguire questa funzione');
|
MyTelegramBot.local_sendMsgTelegramByIdTelegram(this.idapp, msg.chat.id,
|
||||||
|
'Utente Non abilitato o codice non valido ad eseguire questa funzione');
|
||||||
}
|
}
|
||||||
|
|
||||||
chisono(rec) {
|
chisono(rec) {
|
||||||
@@ -2228,9 +2252,10 @@ class Telegram {
|
|||||||
async menuRestartSrv(rec, msg, cmd2) {
|
async menuRestartSrv(rec, msg, cmd2) {
|
||||||
if (cmd2 === '6711') {
|
if (cmd2 === '6711') {
|
||||||
await MyTelegramBot.sendMsgTelegramToTheAdminAllSites(this.chisono(rec) + ' ha rilanciato il Server NODE.JS...');
|
await MyTelegramBot.sendMsgTelegramToTheAdminAllSites(this.chisono(rec) + ' ha rilanciato il Server NODE.JS...');
|
||||||
const ris = await tools.execScript(this.idapp, msg, '~/batch/production_restart_server.sh', this.chisono(rec) + ' Restart il Server (Node.Js)');
|
const ris = await tools.execScript(this.idapp, msg, '~/batch/production_restart_server.sh',
|
||||||
|
this.chisono(rec) + ' Restart il Server (Node.Js)');
|
||||||
} else {
|
} else {
|
||||||
this.nonAbilitato(msg)
|
this.nonAbilitato(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2238,16 +2263,17 @@ class Telegram {
|
|||||||
if (cmd2 === '6711') {
|
if (cmd2 === '6711') {
|
||||||
const ris = await tools.execScript(this.idapp, msg, '~/batch/logserver.sh', this.chisono(rec) + ' Visualizzo il Log del Server...');
|
const ris = await tools.execScript(this.idapp, msg, '~/batch/logserver.sh', this.chisono(rec) + ' Visualizzo il Log del Server...');
|
||||||
} else {
|
} else {
|
||||||
this.nonAbilitato(msg)
|
this.nonAbilitato(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async menuRebootSrv(rec, msg, cmd2) {
|
async menuRebootSrv(rec, msg, cmd2) {
|
||||||
if (cmd2 === '6711') {
|
if (cmd2 === '6711') {
|
||||||
await MyTelegramBot.sendMsgTelegramToTheAdminAllSites(this.chisono(rec) + ' ha effettuato il Reboot del Server! ...');
|
await MyTelegramBot.sendMsgTelegramToTheAdminAllSites(this.chisono(rec) + ' ha effettuato il Reboot del Server! ...');
|
||||||
const ris = await tools.execScript(this.idapp, msg, '~/batch/esegui_reboot.sh', this.chisono(rec) + ' Eseguo il Reboot del Server !...');
|
const ris = await tools.execScript(this.idapp, msg, '~/batch/esegui_reboot.sh',
|
||||||
|
this.chisono(rec) + ' Eseguo il Reboot del Server !...');
|
||||||
} else {
|
} else {
|
||||||
this.nonAbilitato(msg)
|
this.nonAbilitato(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2432,41 +2458,19 @@ class Telegram {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async setUsernameBo(msg) {
|
async setUsernameBo(msg) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async askUsernameInvitante(msg) {
|
||||||
try {
|
try {
|
||||||
let rec = this.getRecInMem(msg);
|
let rec = this.getRecInMem(msg);
|
||||||
if (msg.text === undefined)
|
if (msg.text === undefined)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
console.log('msg.text', msg.text);
|
if (rec) {
|
||||||
const text = msg.text;
|
rec.status = Status.SET_USERNAME_INVITANTE;
|
||||||
if (text.length < 40) {
|
await this.sendMsg(msg.chat.id, getstr(this.getlang(msg), 'MSG_ASK_USERNAME_INVITANTE', tools.getNomeAppByIdApp(this.idapp), null));
|
||||||
if (rec) {
|
|
||||||
let ris = await this.getUser(msg, rec, true);
|
|
||||||
rec = ris.rec;
|
|
||||||
|
|
||||||
if (ris.ok) {
|
|
||||||
rec.user = ris.user;
|
|
||||||
await User.SetTelegramCheckCode(this.idapp, ris.myid.toString(),
|
|
||||||
rec.code);
|
|
||||||
rec.status = Status.WAITFOR_VERIFY_CODE;
|
|
||||||
await this.sendMsg(msg.from.id,
|
|
||||||
getstr(this.getlang(msg), 'MSG_VERIFY_CODE',
|
|
||||||
tools.getHostByIdApp(this.idapp)), null);
|
|
||||||
} else {
|
|
||||||
await this.sendMsg(msg.chat.id,
|
|
||||||
getstr(this.getlang(msg), 'MSG_ASK_USERNAME_BO',
|
|
||||||
tools.getNomeAppByIdApp(this.idapp)), null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (text.length === 0) {
|
|
||||||
if (rec)
|
|
||||||
rec.status = Status.NONE;
|
|
||||||
await this.sendMsg(msg.from.id,
|
|
||||||
getstr(this.getlang(msg), 'MSG_ERRORE_USERNAME_ANNULLA'));
|
|
||||||
this.deleteRecInMem(msg);
|
|
||||||
} else {
|
|
||||||
await this.sendMsg(msg.from.id,
|
|
||||||
getstr(this.getlang(msg), 'MSG_ERRORE_USERNAME'));
|
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('Error setUsernameBo:', e);
|
console.error('Error setUsernameBo:', e);
|
||||||
@@ -2484,13 +2488,85 @@ class Telegram {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async checkIfUsernameTelegramSet(msg, myuser) {
|
async sendMsgByTemplateByMsgStrutt(title, msg) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
let langcode = 'it';
|
||||||
|
let id = 0;
|
||||||
|
try {
|
||||||
|
langcode = msg.from.language_code;
|
||||||
|
id = msg.from.id;
|
||||||
|
} catch (e) {
|
||||||
|
}
|
||||||
|
const mymsg = await MsgTemplate.getMsgByTitleAndLang(tools.RISO, title, langcode);
|
||||||
|
const mytext = tools.convertSpecialTags(null, mymsg.body);
|
||||||
|
if (id > 0)
|
||||||
|
return this.sendMsg(id, mytext);
|
||||||
|
} catch (e) {
|
||||||
|
console.error('ERR sendMsgByTemplateByMsgStrutt', e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async sendMsgByTextByMsgStrutt(keytext, msg) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
let langcode = 'it';
|
||||||
|
let id = 0;
|
||||||
|
try {
|
||||||
|
id = msg.from.id;
|
||||||
|
langcode = msg.from.language_code;
|
||||||
|
} catch (e) {
|
||||||
|
}
|
||||||
|
const text = getstr(langcode, keytext);
|
||||||
|
const mytext = tools.convertSpecialTags(null, text);
|
||||||
|
if (id > 0)
|
||||||
|
return this.sendMsg(id, mytext);
|
||||||
|
} catch (e) {
|
||||||
|
console.error('ERR sendMsgByTextByMsgStrutt', e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async checkIfUsernameTelegramSet(msg) {
|
||||||
try {
|
try {
|
||||||
if (!msg.from.username) {
|
if (!msg.from.username) {
|
||||||
await this.sendMsgByTemplate('MSG_SET_USERNAME', myuser);
|
//await this.sendMsgByTemplateByMsgStrutt('MSG_SET_USERNAME', msg);
|
||||||
|
await this.sendMsgByTextByMsgStrutt('MSG_SET_USERNAME_TELEGRAM', msg);
|
||||||
|
return false;
|
||||||
|
//await this.sendMsgByTemplate('MSG_SET_USERNAME', myuser);
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('e');
|
console.error('e');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async setUsernameInvitante(msg) {
|
||||||
|
try {
|
||||||
|
if (!!msg.text) {
|
||||||
|
const rec = this.getRecInMem(msg);
|
||||||
|
let aportador_solidario = rec.aportador_solidario;
|
||||||
|
if (!aportador_solidario) {
|
||||||
|
aportador_solidario = msg.text.toString().trim().toLowerCase();
|
||||||
|
const user = await User.getUserShortDataByUsername(this.idapp, aportador_solidario);
|
||||||
|
if (user)
|
||||||
|
rec.aportador_solidario = user.username;
|
||||||
|
}
|
||||||
|
if (rec.aportador_solidario) {
|
||||||
|
|
||||||
|
// Link per Registrarsi
|
||||||
|
this.asktoRegistrationByLink(msg);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
rec.status = Status.WAITFOR_USERNAME_INVITANTE;
|
||||||
|
|
||||||
|
const str2 = '\n' + getstr(this.getlang(msg), 'MSG_ASK_USERNAME_INVITANTE', tools.getNomeAppByIdApp(this.idapp));
|
||||||
|
|
||||||
|
await this.sendMsg(msg.from.id, getstr(this.getlang(msg), 'MSG_ERRORE_INVITANTE_NOT_FOUND') + str2, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error('Error setUsernameInvitante', e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2535,7 +2611,7 @@ class Telegram {
|
|||||||
console.log(' ... MA GLI MANCA L\'USERNAME TELEGRAM !! ');
|
console.log(' ... MA GLI MANCA L\'USERNAME TELEGRAM !! ');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.checkIfUsernameTelegramSet(msg, recuser);
|
// this.checkIfUsernameTelegramSet(msg, recuser);
|
||||||
// local_sendMsgTelegramToTheManagers(this.idapp, recuser.name + ' ' + recuser.surname + ' si è Verificato a Telegram BOT! (lang=' + recuser.lang + ')' + emo.STARS, msg);
|
// local_sendMsgTelegramToTheManagers(this.idapp, recuser.name + ' ' + recuser.surname + ' si è Verificato a Telegram BOT! (lang=' + recuser.lang + ')' + emo.STARS, msg);
|
||||||
} else {
|
} else {
|
||||||
this.sendMsgLog(msg.from.id, getstr(this.getlang(msg), 'MSG_ERR_UNKNOWN_VERIFY_CODE'));
|
this.sendMsgLog(msg.from.id, getstr(this.getlang(msg), 'MSG_ERR_UNKNOWN_VERIFY_CODE'));
|
||||||
@@ -2830,6 +2906,11 @@ class Telegram {
|
|||||||
|
|
||||||
async receiveMsg(msg) {
|
async receiveMsg(msg) {
|
||||||
|
|
||||||
|
// Check if Username Telegram Present
|
||||||
|
if (!this.checkIfUsernameTelegramSet(msg)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let status = await this.setInit(msg);
|
let status = await this.setInit(msg);
|
||||||
|
|
||||||
if (status === Status.EXIT) {
|
if (status === Status.EXIT) {
|
||||||
@@ -2839,11 +2920,14 @@ class Telegram {
|
|||||||
const rec = this.getRecInMem(msg);
|
const rec = this.getRecInMem(msg);
|
||||||
|
|
||||||
status = this.getstatus(rec);
|
status = this.getstatus(rec);
|
||||||
if (status === Status.WAITFOR_USERNAME_BO && !this.selectMenuHelp(msg) &&
|
if (status === Status.WAITFOR_USERNAME_TELEGRAM && !this.selectMenuHelp(msg) && !this.selectMenuLang(msg)) {
|
||||||
!this.selectMenuLang(msg)) {
|
// await this.setUsernameBo(msg);
|
||||||
await this.setUsernameBo(msg);
|
await this.settotheDatabase(msg);
|
||||||
} else if (status === Status.WAITFOR_VERIFY_CODE) {
|
} else if (status === Status.WAITFOR_USERNAME_INVITANTE && !this.selectMenuHelp(msg) && !this.selectMenuLang(msg)) {
|
||||||
await this.setVerifyCode(msg);
|
await this.askUsernameInvitante(msg);
|
||||||
|
// await this.settotheDatabase(msg);
|
||||||
|
} else if (status === Status.SET_USERNAME_INVITANTE) {
|
||||||
|
await this.setUsernameInvitante(msg);
|
||||||
} else if (status === Status.NONE) {
|
} else if (status === Status.NONE) {
|
||||||
await this.start(msg);
|
await this.start(msg);
|
||||||
} else if (status === Status.VERIFIED) {
|
} else if (status === Status.VERIFIED) {
|
||||||
@@ -2924,18 +3008,47 @@ class Telegram {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async askVerifiedCode(msg) {
|
async asktoRegistrationByLink(msg) {
|
||||||
|
|
||||||
const rec = this.getRecInMem(msg);
|
const rec = this.getRecInMem(msg);
|
||||||
|
|
||||||
|
let visu = false;
|
||||||
|
|
||||||
if (!rec) {
|
if (!rec) {
|
||||||
await this.addUser(msg);
|
await this.addUser(msg);
|
||||||
|
|
||||||
// await this.sendMsg(msg.chat.id, getstr(this.getlang(msg), printf(txt.MSG_ASK_USERNAME_BO, tools.getHostByIdApp(this.idapp))));
|
visu = true;
|
||||||
await this.sendMsg(msg.chat.id, getstr(this.getlang(msg), 'MSG_ASK_USERNAME_BO', tools.getNomeAppByIdApp(this.idapp)), null);
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rec && !rec.username_bo)
|
||||||
|
visu = true;
|
||||||
|
|
||||||
|
if (visu) {
|
||||||
|
|
||||||
|
const status = this.getstatus(rec);
|
||||||
|
if (status === Status.SET_USERNAME_INVITANTE && rec.aportador_solidario) {
|
||||||
|
let linkreg = tools.getLinkRegByIdAppAndMsgStrutt(this.idapp, msg);
|
||||||
|
|
||||||
|
if (process.env.LOCALE === '1') {
|
||||||
|
linkreg = 'http://192.168.1.115:8084/signup/' + rec.aportador_solidario + '/' + msg.from.username + '/' + msg.from.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
const keyb = this.getInlineKeyboard(this.getlang(msg), [
|
||||||
|
{
|
||||||
|
text: '✅ CLICCA QUI ',
|
||||||
|
url: linkreg,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
// await this.sendMsg(msg.chat.id, getstr(this.getlang(msg), printf(txt.MSG_ASK_USERNAME_BO, tools.getHostByIdApp(this.idapp))));
|
||||||
|
await this.sendMsg(msg.chat.id, getstr(this.getlang(msg), 'MSG_SIGNUP', tools.getNomeAppByIdApp(this.idapp)), null, keyb);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -3003,7 +3116,6 @@ class Telegram {
|
|||||||
id: this.getchatid(msg),
|
id: this.getchatid(msg),
|
||||||
code,
|
code,
|
||||||
lang,
|
lang,
|
||||||
status: Status.WAITFOR_USERNAME_BO,
|
|
||||||
statusmsg: 0,
|
statusmsg: 0,
|
||||||
msgcodeprec: '',
|
msgcodeprec: '',
|
||||||
sex: 0,
|
sex: 0,
|
||||||
@@ -3029,8 +3141,15 @@ class Telegram {
|
|||||||
menuSaved: {},
|
menuSaved: {},
|
||||||
pagenow: 1,
|
pagenow: 1,
|
||||||
menuDb: null,
|
menuDb: null,
|
||||||
|
aportador_solidario: '',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!msg.from.username) {
|
||||||
|
rec.status = Status.WAITFOR_USERNAME_TELEGRAM;
|
||||||
|
} else {
|
||||||
|
rec.status = Status.WAITFOR_USERNAME_INVITANTE;
|
||||||
|
}
|
||||||
|
|
||||||
this.arrUsers.push(rec);
|
this.arrUsers.push(rec);
|
||||||
|
|
||||||
return rec;
|
return rec;
|
||||||
@@ -3039,7 +3158,7 @@ class Telegram {
|
|||||||
|
|
||||||
async insertIntoDB(msg) {
|
async insertIntoDB(msg) {
|
||||||
|
|
||||||
return this.askVerifiedCode(msg);
|
return this.asktoRegistrationByLink(msg);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3071,7 +3190,7 @@ class Telegram {
|
|||||||
// Check if you are Admin
|
// Check if you are Admin
|
||||||
const user = await User.UserByIdTelegram(idapp, id);
|
const user = await User.UserByIdTelegram(idapp, id);
|
||||||
// let isAdmin = user ? user.profile.manage_telegram && user.username === 'paoloar77' : false;
|
// let isAdmin = user ? user.profile.manage_telegram && user.username === 'paoloar77' : false;
|
||||||
let isAdmin = user ? user.profile.manage_telegram: false;
|
let isAdmin = user ? user.profile.manage_telegram : false;
|
||||||
const isManager = user ? user.profile.manage_telegram : false;
|
const isManager = user ? user.profile.manage_telegram : false;
|
||||||
const isVerified = user ? user.profile.teleg_id > 0 && user.verified_by_aportador : false;
|
const isVerified = user ? user.profile.teleg_id > 0 && user.verified_by_aportador : false;
|
||||||
|
|
||||||
@@ -3280,7 +3399,6 @@ class Telegram {
|
|||||||
// text = text.replace(/<\/div>/g, '');
|
// text = text.replace(/<\/div>/g, '');
|
||||||
text = text.replace(/ /g, ' ');
|
text = text.replace(/ /g, ' ');
|
||||||
|
|
||||||
|
|
||||||
if (!form) {
|
if (!form) {
|
||||||
form = {
|
form = {
|
||||||
'parse_mode': 'HTML',
|
'parse_mode': 'HTML',
|
||||||
|
|||||||
@@ -1114,6 +1114,16 @@ module.exports = {
|
|||||||
return '';
|
return '';
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getLinkRegByIdAppAndMsgStrutt: function(idapp, msg) {
|
||||||
|
|
||||||
|
let myapp = this.getHostByIdApp(idapp);
|
||||||
|
if (myapp) {
|
||||||
|
myapp += '/' + msg.from.username + '/' + msg.from.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
return myapp;
|
||||||
|
},
|
||||||
|
|
||||||
getHostByIdApp: function(idapp) {
|
getHostByIdApp: function(idapp) {
|
||||||
|
|
||||||
const myapp = this.getApps().find(item => item.idapp === idapp);
|
const myapp = this.getApps().find(item => item.idapp === idapp);
|
||||||
@@ -1222,8 +1232,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
getAskToVerifyReg: function(idapp) {
|
getAskToVerifyReg: function(idapp) {
|
||||||
return this.getConfSiteOptionEnabledByIdApp(idapp,
|
return this.getConfSiteOptionEnabledByIdApp(idapp, shared_consts.ConfSite.Need_Aportador_On_DataReg_To_Verify_Reg);
|
||||||
shared_consts.ConfSite.Need_Aportador_On_DataReg_To_Verify_Reg);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
isManagAndAdminDifferent(idapp) {
|
isManagAndAdminDifferent(idapp) {
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ const {SubSkill} = require('../models/subskill');
|
|||||||
const {MySkill} = require('../models/myskill');
|
const {MySkill} = require('../models/myskill');
|
||||||
const {MyGood} = require('../models/mygood');
|
const {MyGood} = require('../models/mygood');
|
||||||
const {MyBacheca} = require('../models/mybacheca');
|
const {MyBacheca} = require('../models/mybacheca');
|
||||||
|
const {MyHosp} = require('../models/myhosp');
|
||||||
const {StatusSkill} = require('../models/statusSkill');
|
const {StatusSkill} = require('../models/statusSkill');
|
||||||
const {City} = require('../models/city');
|
const {City} = require('../models/city');
|
||||||
const {Province} = require('../models/province');
|
const {Province} = require('../models/province');
|
||||||
@@ -167,6 +168,8 @@ module.exports = {
|
|||||||
mytable = MySkill;
|
mytable = MySkill;
|
||||||
else if (tablename === shared_consts.TABLES_MYBACHECAS)
|
else if (tablename === shared_consts.TABLES_MYBACHECAS)
|
||||||
mytable = MyBacheca;
|
mytable = MyBacheca;
|
||||||
|
else if (tablename === shared_consts.TABLES_MYHOSPS)
|
||||||
|
mytable = MyHosp;
|
||||||
else if (tablename === shared_consts.TABLES_MYGOODS)
|
else if (tablename === shared_consts.TABLES_MYGOODS)
|
||||||
mytable = MyGood;
|
mytable = MyGood;
|
||||||
else if (tablename === 'statusSkills')
|
else if (tablename === 'statusSkills')
|
||||||
|
|||||||
@@ -90,16 +90,17 @@ module.exports = {
|
|||||||
|
|
||||||
TABLES_MYSKILLS: 'myskills',
|
TABLES_MYSKILLS: 'myskills',
|
||||||
TABLES_MYBACHECAS: 'mybachecas',
|
TABLES_MYBACHECAS: 'mybachecas',
|
||||||
|
TABLES_MYHOSPS: 'myhosps',
|
||||||
TABLES_MYGOODS: 'mygoods',
|
TABLES_MYGOODS: 'mygoods',
|
||||||
|
|
||||||
TABLES_ENABLE_GETREC_BYID: ['mybachecas', 'myskills', 'mygoods'],
|
TABLES_ENABLE_GETREC_BYID: ['mybachecas', 'myhosps', 'myskills', 'mygoods'],
|
||||||
|
|
||||||
TABLES_USER_INCLUDE_MY: ['mygroups'],
|
TABLES_USER_INCLUDE_MY: ['mygroups'],
|
||||||
TABLES_GETCOMPLETEREC: ['myskills', 'mybachecas', 'mygoods'],
|
TABLES_GETCOMPLETEREC: ['myskills', 'mybachecas', 'myhosps', 'mygoods'],
|
||||||
TABLES_PERM_NEWREC: ['skills', 'goods', 'subskills', 'mygroups'],
|
TABLES_PERM_NEWREC: ['skills', 'goods', 'subskills', 'mygroups'],
|
||||||
TABLES_REC_ID: ['skills', 'goods', 'subskills'],
|
TABLES_REC_ID: ['skills', 'goods', 'subskills'],
|
||||||
|
|
||||||
TABLES_VISU_STAT_IN_HOME: ['myskills', 'mybachecas', 'mygoods', 'mygroups'],
|
TABLES_VISU_STAT_IN_HOME: ['myskills', 'mybachecas', 'myhosps', 'mygoods', 'mygroups'],
|
||||||
|
|
||||||
TABLES_ID_NUMBER: [
|
TABLES_ID_NUMBER: [
|
||||||
'permissions',
|
'permissions',
|
||||||
@@ -116,15 +117,13 @@ module.exports = {
|
|||||||
'provinces',
|
'provinces',
|
||||||
'myskills',
|
'myskills',
|
||||||
'mybachecas',
|
'mybachecas',
|
||||||
|
'myhosps',
|
||||||
'mygoods',
|
'mygoods',
|
||||||
'mygroups'],
|
'mygroups'],
|
||||||
TABLES_USER_ID: ['mygroups', 'myskills', 'mybachecas', 'mygoods'],
|
TABLES_USER_ID: ['mygroups', 'myskills', 'mybachecas', 'myhosps', 'mygoods'],
|
||||||
TABLES_UPDATE_LASTMODIFIED: ['myskills', 'mybachecas', 'mygoods', 'mybots'],
|
TABLES_UPDATE_LASTMODIFIED: ['myskills', 'mybachecas', 'myhosps', 'mygoods', 'mybots'],
|
||||||
TABLES_FINDER: ['myskills', 'mybachecas', 'mygoods', 'mygroups'],
|
|
||||||
TABLES_VISU_CMYSRECCARD: ['myskills', 'mybachecas', 'mygoods'],
|
|
||||||
|
|
||||||
TABLES_PERM_CHANGE_FOR_USERS: ['myskills', 'mybachecas', 'mygoods'],
|
TABLES_PERM_CHANGE_FOR_USERS: ['myskills', 'mybachecas', 'myhosps', 'mygoods'],
|
||||||
TABLES_VISU_LISTA_USER: ['myskills', 'mybachecas', 'mygoods', 'users'],
|
|
||||||
|
|
||||||
TABLES_POPULATE_DATA: [
|
TABLES_POPULATE_DATA: [
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user