Просмотр исходного кода

Add saving of data for users on the site

Lee Morgan 6 лет назад
Родитель
Сommit
756bf875f5
2 измененных файлов с 36 добавлено и 3 удалено
  1. 20 3
      controllers/renderer.js
  2. 16 0
      models/activity.js

+ 20 - 3
controllers/renderer.js

@@ -1,9 +1,9 @@
 const axios = require("axios");
 const ObjectId = require("mongoose").Types.ObjectId;
 
-const Merchant = require("../models/merchant");
-const Transaction = require("../models/transaction");
-// const ingredient = require("../models/ingredient");
+const Merchant = require("../models/merchant.js");
+const Transaction = require("../models/transaction.js");
+const Activity = require("../models/activity.js");
 
 module.exports = {
     /*
@@ -12,6 +12,15 @@ module.exports = {
     Renders landingPage
     */
     landingPage: function(req, res){
+        let activity = new Activity({
+            ipAddr: req.headers['x-forwarded-for'] || req.connection.remoteAddress,
+            merchant: req.session.user,
+            route: "landing",
+            date: new Date()
+        })
+            .save()
+            .catch(()=>{});
+
         let error = {};
         let isLoggedIn = req.session.isLoggedIn || false;
         if(req.session.error){
@@ -34,6 +43,14 @@ module.exports = {
             req.session.error = "MUST BE LOGGED IN TO DO THAT";
             return res.redirect("/");
         }
+        let activity = new Activity({
+            ipAddr: req.headers['x-forwarded-for'] || req.connection.remoteAddress,
+            merchant: req.session.user,
+            route: "dashboard",
+            date: new Date()
+        })
+            .save()
+            .catch(()=>{});
 
         Merchant.findOne({_id: req.session.user}, {password: 0, createdAt: 0})
             .populate("inventory.ingredient")

+ 16 - 0
models/activity.js

@@ -0,0 +1,16 @@
+const mongoose = require("mongoose");
+
+const ActivitySchema = new mongoose.Schema({
+    ipAddr: String,
+    merchant: {
+        type: mongoose.Schema.Types.ObjectId,
+        ref: "Merchant"
+    },
+    route: String,
+    date: {
+        type: Date,
+        required: true
+    }
+});
+
+module.exports = mongoose.model("Activity", ActivitySchema);