X-Git-Url: https://git.auder.net/assets/discord.svg?a=blobdiff_plain;f=server%2Fmodels%2FUser.js;h=c2e78837e439f827b4de23aebdbfd24a116dcd46;hb=d431028c73d41a22636130bd6aff562762eaf2bb;hp=60584275713dbdefe177a5064bdb7749c3de402d;hpb=ed9c9c3741ec8b03cf899eae529216a2520bba0d;p=vchess.git diff --git a/server/models/User.js b/server/models/User.js index 60584275..c2e78837 100644 --- a/server/models/User.js +++ b/server/models/User.js @@ -1,7 +1,7 @@ var db = require("../utils/database"); -var maild = require("../utils/mailer.js"); var genToken = require("../utils/tokenGenerator"); var params = require("../config/parameters"); +var sendEmail = require('../utils/mailer'); /* * Structure: @@ -128,11 +128,37 @@ const UserModel = ///////////////// // NOTIFICATIONS - tryNotify: function(oppId, gid, vname, message) + tryNotify: function(oppId, message) { - // TODO: send email to oppId (request...) with title - // "vchess.club - vname" and content "message" + UserModel.getOne("id", oppId, (err,opp) => { + if (!err || !opp.notify) + return; //error is ignored here (TODO: should be logged) + const subject = "vchess.club - notification"; + const body = "Hello " + opp.name + "!\n" + message; + sendEmail(params.mail.noreply, opp.email, subject, body, err => { + res.json(err || {}); + }); + }); } } +// TODO: adapt +//exports.cleanUsersDb = function() +//{ +// var tsNow = new Date().getTime(); +// // 86400000 = 24 hours in milliseconds +// var day = 86400000; +// +// db.users.find({}, (err,userArray) => { +// userArray.forEach( u => { +// if ((u.sessionTokens.length==0 && +// u._id.getTimestamp().getTime() + day < tsNow) //unlogged +// || u.updated + 365*day < tsNow) //inactive for one year +// { +// db.users.remove({"_id": u._id}); +// } +// }); +// }); +//} + module.exports = UserModel;