X-Git-Url: https://git.auder.net/assets/icon_infos.svg?a=blobdiff_plain;ds=sidebyside;f=server%2Fmodels%2FUser.js;h=b2a99e0571556c47e8cc41478aa3f57cb1988ac0;hb=2be5d6140901fc7bb2a33d672e52cfdc545a1912;hp=9401133aa7a34c66cc2be7c862665da7738e52f6;hpb=1f49533df1dafc5f83b815a9c89b8ccaccde2d6d;p=vchess.git diff --git a/server/models/User.js b/server/models/User.js index 9401133a..b2a99e05 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: @@ -63,14 +63,14 @@ const UserModel = }); }, - getByName: function(names, cb) { - db.serialize(function() { - const query = - "SELECT id + getByIds: function(ids, cb) { + db.serialize(function() { + const query = + "SELECT id, name " + "FROM Users " + - "WHERE name IN ('" + names.join("','") + "')";; - db.all(query, cb); - }); + "WHERE id IN (" + ids + ")"; + db.all(query, cb); + }); }, ///////// @@ -124,6 +124,22 @@ const UserModel = db.run(query, cb); }); }, + + ///////////////// + // NOTIFICATIONS + + tryNotify: function(oppId, 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 || {}); + }); + }); + } } module.exports = UserModel;