Added queries , clickedSections , numLogins
This commit is contained in:
parent
cd04f9b9e9
commit
f7abe2f46c
5
app.js
5
app.js
|
@ -7,6 +7,7 @@ const paymentRoute = require('./routes/payment') ;
|
|||
const courseRoute = require('./routes/course') ;
|
||||
const adminRoute = require('./routes/admin') ;
|
||||
const couponRoute = require('./routes/Coupon') ;
|
||||
const queryRoute = require('./routes/query') ;
|
||||
const port=process.env.PORT || 5000;
|
||||
|
||||
const cors = require('cors') ;
|
||||
|
@ -87,7 +88,9 @@ app.use(courseRoute) ;
|
|||
|
||||
app.use(adminRoute) ;
|
||||
|
||||
app.use(couponRoute) ;
|
||||
app.use(couponRoute) ;
|
||||
|
||||
app.use(queryRoute) ;
|
||||
|
||||
mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true ,useFindAndModify:false}).
|
||||
then(result => {
|
||||
|
|
|
@ -66,11 +66,18 @@ module.exports.postSignin = async (req , res , next) => {
|
|||
if(isMatched)
|
||||
{
|
||||
const token = jwt.sign({_id:user._id},JWT_secret)
|
||||
if(!user.numLoggedIn)
|
||||
{
|
||||
user.numLoggedIn = 0 ;
|
||||
}
|
||||
user.numLoggedIn = user.numLoggedIn + 1 ;
|
||||
res.json(
|
||||
{
|
||||
token:token
|
||||
token:token ,
|
||||
isAdmin : user.isAdmin
|
||||
}
|
||||
)
|
||||
await user.save() ;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const Course = require('../models/Course') ;
|
||||
const CourseType = require('../models/CourseType') ;
|
||||
const User = require('../models/User') ;
|
||||
|
||||
module.exports.postAddCourse = async (req , res , next) => {
|
||||
try
|
||||
|
@ -169,4 +170,30 @@ module.exports.getFromRoute = async (req , res , next) => {
|
|||
error : "error"
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
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 : {
|
||||
type : Boolean
|
||||
} ,
|
||||
numLoggedIn : {
|
||||
type : Number
|
||||
} ,
|
||||
clicked : {
|
||||
type : Object
|
||||
}
|
||||
//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.post('/addClick' , isAuth , courseController.addClick) ;
|
||||
|
||||
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