Advance on corr game start
[vchess.git] / server / models / User.js
index cf4c529..b2a99e0 100644 (file)
@@ -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,6 +63,16 @@ const UserModel =
                });
        },
 
+  getByIds: function(ids, cb) {
+    db.serialize(function() {
+      const query =
+        "SELECT id, name " +
+        "FROM Users " +
+        "WHERE id IN (" + ids + ")";
+      db.all(query, cb);
+    });
+  },
+
        /////////
        // MODIFY
 
@@ -114,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;