set notif if service your province
This commit is contained in:
@@ -4696,13 +4696,21 @@ UserSchema.statics.addExtraInfo = async function (idapp, recUser, recUserSave, v
|
||||
|
||||
try {
|
||||
|
||||
try {
|
||||
if (recUserSave && recUser.profile && recUser.profile.notifs && recUser.profile.notifs.length <= 0) {
|
||||
recUser.profile.notifs = shared_consts.DEFAULT_NOTIFS_USER;
|
||||
await recUserSave.save();
|
||||
if (version) {
|
||||
let versattualeuser = 0;
|
||||
if (!recUser.profile.version) {
|
||||
recUser.version = 0;
|
||||
versattualeuser = 0;
|
||||
} else {
|
||||
versattualeuser = recUser.profile.version;
|
||||
}
|
||||
|
||||
if (versattualeuser < version) {
|
||||
// Aggiornamento versione
|
||||
recUser = await User.updateVersion(versattualeuser, recUser);
|
||||
|
||||
await User.findOneAndUpdate({_id: recUser._id}, {$set: { 'profile.version' : version }});
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Err addExtraInfo notifs ', e);
|
||||
}
|
||||
|
||||
const listSentMyRequestFriends = await User.find({
|
||||
@@ -4781,23 +4789,6 @@ UserSchema.statics.addExtraInfo = async function (idapp, recUser, recUserSave, v
|
||||
|
||||
recUser.profile.calc = await User.calcOtherByUser(idapp, recUser._id);
|
||||
|
||||
if (version) {
|
||||
let versattualeuser = 0;
|
||||
if (!recUser.profile.version) {
|
||||
recUser.version = 0;
|
||||
versattualeuser = 0;
|
||||
} else {
|
||||
versattualeuser = recUser.profile.version;
|
||||
}
|
||||
|
||||
if (versattualeuser < version) {
|
||||
// Aggiornamento versione
|
||||
recUser = await User.updateVersion(versattualeuser, recUser);
|
||||
|
||||
await User.findOneAndUpdate({_id: recUser._id}, {$set: { 'profile.version' : version }});
|
||||
}
|
||||
}
|
||||
|
||||
return recUser;
|
||||
|
||||
} catch (e) {
|
||||
@@ -4808,9 +4799,48 @@ UserSchema.statics.addExtraInfo = async function (idapp, recUser, recUserSave, v
|
||||
};
|
||||
|
||||
UserSchema.statics.updateVersion = async function (userversion, recUser) {
|
||||
|
||||
const { MySkill } = require('../models/myskill');
|
||||
const { MyGood } = require('../models/mygood');
|
||||
const { City } = require('../models/city');
|
||||
|
||||
if (userversion < 603) {
|
||||
recUser.profile.notifs.push( { dir: 11, value: 1 })
|
||||
if (userversion < 604) {
|
||||
if (!recUser.profile.notifs || recUser.profile.notifs.length === 0) {
|
||||
recUser.profile.notifs = shared_consts.DEFAULT_NOTIFS_USER;
|
||||
}
|
||||
|
||||
const recfavoriteNotif = recUser.profile.notifs.find((rec) => rec.dir === 11);
|
||||
if (!recfavoriteNotif){
|
||||
recUser.profile.notifs.push( { dir: 11, value: 1 })
|
||||
}
|
||||
|
||||
// Imposta la provincia, se non l'ho messa, in base al bene o servizio che hai messo.
|
||||
if (!recUser.profile.resid_province) {
|
||||
let resid_province = '';
|
||||
const firstrec = await MySkill.findOne({userId: recUser._id}).lean();
|
||||
if (firstrec && firstrec.idCity && firstrec.idCity.length > 0) {
|
||||
resid_province = await City.getProvinceByIdCity(firstrec.idCity[0]);
|
||||
} else {
|
||||
const firstrec = await MyGood.findOne({userId: recUser._id}).lean();
|
||||
if (firstrec && firstrec.idCity && firstrec.idCity.length === 1) {
|
||||
resid_province = await City.getProvinceByIdCity(firstrec.idCity[0]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (resid_province) {
|
||||
await User.findOneAndUpdate({_id: recUser._id}, {$set: {'profile.resid_province': resid_province}});
|
||||
}
|
||||
}
|
||||
|
||||
let recmybach = recUser.profile.notifs.find((rec) => rec.dir === shared_consts.TypeNotifs.TYPEDIR_BACHECA);
|
||||
if (!tools.isBitActive(recmybach.value, shared_consts.UsersNotif.NEW_ADV_YOUR_PROVINCE)) {
|
||||
recmybach.value = tools.SetBit(recmybach.value, shared_consts.UsersNotif.NEW_ADV_YOUR_PROVINCE);
|
||||
for (let i = 0; i < recUser.profile.notifs.length; i++) {
|
||||
if (recUser.profile.notifs[i].dir === shared_consts.TypeNotifs.TYPEDIR_BACHECA)
|
||||
recUser.profile.notifs[i].value = recmybach.value;
|
||||
}
|
||||
}
|
||||
|
||||
await User.findOneAndUpdate({_id: recUser._id}, {$set: { 'profile.notifs': recUser.profile.notifs }});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user