Added queries , clickedSections , numLogins
This commit is contained in:
parent
cd04f9b9e9
commit
f7abe2f46c
3
app.js
3
app.js
|
@ -7,6 +7,7 @@ const paymentRoute = require('./routes/payment') ;
|
||||||
const courseRoute = require('./routes/course') ;
|
const courseRoute = require('./routes/course') ;
|
||||||
const adminRoute = require('./routes/admin') ;
|
const adminRoute = require('./routes/admin') ;
|
||||||
const couponRoute = require('./routes/Coupon') ;
|
const couponRoute = require('./routes/Coupon') ;
|
||||||
|
const queryRoute = require('./routes/query') ;
|
||||||
const port=process.env.PORT || 5000;
|
const port=process.env.PORT || 5000;
|
||||||
|
|
||||||
const cors = require('cors') ;
|
const cors = require('cors') ;
|
||||||
|
@ -89,6 +90,8 @@ app.use(adminRoute) ;
|
||||||
|
|
||||||
app.use(couponRoute) ;
|
app.use(couponRoute) ;
|
||||||
|
|
||||||
|
app.use(queryRoute) ;
|
||||||
|
|
||||||
mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true ,useFindAndModify:false}).
|
mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true ,useFindAndModify:false}).
|
||||||
then(result => {
|
then(result => {
|
||||||
console.log('connected');
|
console.log('connected');
|
||||||
|
|
|
@ -66,11 +66,18 @@ module.exports.postSignin = async (req , res , next) => {
|
||||||
if(isMatched)
|
if(isMatched)
|
||||||
{
|
{
|
||||||
const token = jwt.sign({_id:user._id},JWT_secret)
|
const token = jwt.sign({_id:user._id},JWT_secret)
|
||||||
|
if(!user.numLoggedIn)
|
||||||
|
{
|
||||||
|
user.numLoggedIn = 0 ;
|
||||||
|
}
|
||||||
|
user.numLoggedIn = user.numLoggedIn + 1 ;
|
||||||
res.json(
|
res.json(
|
||||||
{
|
{
|
||||||
token:token
|
token:token ,
|
||||||
|
isAdmin : user.isAdmin
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
await user.save() ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
const Course = require('../models/Course') ;
|
const Course = require('../models/Course') ;
|
||||||
const CourseType = require('../models/CourseType') ;
|
const CourseType = require('../models/CourseType') ;
|
||||||
|
const User = require('../models/User') ;
|
||||||
|
|
||||||
module.exports.postAddCourse = async (req , res , next) => {
|
module.exports.postAddCourse = async (req , res , next) => {
|
||||||
try
|
try
|
||||||
|
@ -170,3 +171,29 @@ module.exports.getFromRoute = async (req , res , next) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module.exports.addClick = async (req , res , next) => {
|
||||||
|
try
|
||||||
|
{
|
||||||
|
const route = req.body.route ;
|
||||||
|
const userId = req.user._id ;
|
||||||
|
let user = await User.findById(userId) ;
|
||||||
|
let clicked = {...user.clicked} ;
|
||||||
|
if(!clicked[route])
|
||||||
|
{
|
||||||
|
clicked[route] = 0 ;
|
||||||
|
}
|
||||||
|
clicked[route] = clicked[route] + 1 ;
|
||||||
|
user.clicked = clicked ;
|
||||||
|
await user.save() ;
|
||||||
|
res.json({
|
||||||
|
data : "added click"
|
||||||
|
}) ;
|
||||||
|
}
|
||||||
|
catch(err)
|
||||||
|
{
|
||||||
|
res.json({
|
||||||
|
error : err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,91 @@
|
||||||
|
const Query = require('../models/query') ;
|
||||||
|
|
||||||
|
module.exports.addQuery = async (req , res , next)=> {
|
||||||
|
try
|
||||||
|
{
|
||||||
|
let firstName = req.body.firstName || " " ;
|
||||||
|
let lastName = req.body.lastName || " " ;
|
||||||
|
let email = req.body.email ;
|
||||||
|
let query = req.body.query || " " ;
|
||||||
|
let other = req.body.other || false ;
|
||||||
|
let queryModel = await Query.findOne({email:email , query:query}) ;
|
||||||
|
if(queryModel)
|
||||||
|
{
|
||||||
|
if(!queryModel.numAsked)
|
||||||
|
{
|
||||||
|
queryModel.numAsked = 0 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
queryModel.numAsked = queryModel.numAsked + 1 ;
|
||||||
|
await queryModel.save() ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
queryModel = new Query ({
|
||||||
|
firstName : firstName ,
|
||||||
|
lastName : lastName ,
|
||||||
|
email : email,
|
||||||
|
query : query ,
|
||||||
|
numAsked : 1 ,
|
||||||
|
other : other
|
||||||
|
}) ;
|
||||||
|
await queryModel.save() ;
|
||||||
|
}
|
||||||
|
res.json({
|
||||||
|
message : "Saved Query"
|
||||||
|
}) ;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch(err)
|
||||||
|
{
|
||||||
|
res.json({
|
||||||
|
error : err
|
||||||
|
}) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports.getQueries = async (req , res , next) => {
|
||||||
|
try
|
||||||
|
{
|
||||||
|
const queries = await Query.find() ;
|
||||||
|
res.json({
|
||||||
|
queries : queries
|
||||||
|
})
|
||||||
|
}
|
||||||
|
catch(err)
|
||||||
|
{
|
||||||
|
res.json({
|
||||||
|
error : err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports.getOtherQueries = async (req , res , next) => {
|
||||||
|
try{
|
||||||
|
const queries = await Query.find({other : true}) ;
|
||||||
|
res.json({
|
||||||
|
queries : queries
|
||||||
|
})
|
||||||
|
}
|
||||||
|
catch(err){
|
||||||
|
res.json({
|
||||||
|
error : err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports.getTypeQueries = async (req , res , next) => {
|
||||||
|
try{
|
||||||
|
const type = req.body.type ;
|
||||||
|
const queries = await Query.find({type:type}) ;
|
||||||
|
res.json({
|
||||||
|
queries : queries
|
||||||
|
})
|
||||||
|
}
|
||||||
|
catch(err)
|
||||||
|
{
|
||||||
|
res.json({
|
||||||
|
error:err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
|
@ -27,6 +27,12 @@ const userSchema = new Schema({
|
||||||
} ,
|
} ,
|
||||||
isAdmin : {
|
isAdmin : {
|
||||||
type : Boolean
|
type : Boolean
|
||||||
|
} ,
|
||||||
|
numLoggedIn : {
|
||||||
|
type : Number
|
||||||
|
} ,
|
||||||
|
clicked : {
|
||||||
|
type : Object
|
||||||
}
|
}
|
||||||
//need to add isAdmin
|
//need to add isAdmin
|
||||||
}) ;
|
}) ;
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
const mongoose = require('mongoose') ;
|
||||||
|
|
||||||
|
const Schema = mongoose.Schema ;
|
||||||
|
|
||||||
|
const querySchema = new Schema({
|
||||||
|
firstName : {
|
||||||
|
type :String ,
|
||||||
|
required : true
|
||||||
|
} ,
|
||||||
|
lastName : {
|
||||||
|
type:String ,
|
||||||
|
required: true
|
||||||
|
} ,
|
||||||
|
email : {
|
||||||
|
type:String ,
|
||||||
|
required: true
|
||||||
|
} ,
|
||||||
|
query : {
|
||||||
|
type:String ,
|
||||||
|
required : true
|
||||||
|
} ,
|
||||||
|
numAsked : {
|
||||||
|
type:Number ,
|
||||||
|
required : true
|
||||||
|
} ,
|
||||||
|
other : {
|
||||||
|
type : Boolean ,
|
||||||
|
require : true
|
||||||
|
}
|
||||||
|
}) ;
|
||||||
|
|
||||||
|
module.exports = mongoose.model('Query' , querySchema) ;
|
|
@ -21,4 +21,6 @@ router.post('/getMeetSchedule' ,isAuth , courseController.getMeetSchedule) ;
|
||||||
|
|
||||||
router.get('/getFromRoute' , courseController.getFromRoute) ;
|
router.get('/getFromRoute' , courseController.getFromRoute) ;
|
||||||
|
|
||||||
|
router.post('/addClick' , isAuth , courseController.addClick) ;
|
||||||
|
|
||||||
module.exports = router ;
|
module.exports = router ;
|
|
@ -0,0 +1,15 @@
|
||||||
|
const express = require('express') ;
|
||||||
|
|
||||||
|
const queryController = require('../controllers/query') ;
|
||||||
|
|
||||||
|
const router = express.Router() ;
|
||||||
|
|
||||||
|
router.post('/addQuery' , queryController.addQuery) ;
|
||||||
|
|
||||||
|
router.get('/getAllQueries' , queryController.getQueries) ;
|
||||||
|
|
||||||
|
router.get('/getOtherQueries' , queryController.getOtherQueries) ;
|
||||||
|
|
||||||
|
router.post('/getTypeQueries' , queryController.getTypeQueries) ;
|
||||||
|
|
||||||
|
module.exports = router ;
|
Loading…
Reference in New Issue