Commit 146d6635 authored by Hasitha Samarasekara's avatar Hasitha Samarasekara

Merge branch 'IT18050240' into 'master'

add question model and add question route

See merge request !4
parents dee2b0c5 584bb7c3
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let Question = new Schema({
question_id: mongoose.Schema.Types.ObjectId,
category:{
type:String
},
name:{
type:String
},
question_text:{
type:String
},
question_answer:{
type:String
},
defult_mark:{
type: Number
},
q_type:{
type: String
},
time_createdby:{
type: Date
},
time_modifiedby:{
type: Date
},
general_feedback:{
type: String
}
});
module.exports = mongoose.model('Question',Question);
\ No newline at end of file
const questionRouter = require('express').Router();
let Question = require('../models/question.model.js');
const mongoose = require('mongoose');
questionRouter.route('/').get(function(req, res) {
Question.find(function(err, questions) {
if (err) {
console.log(err);
res.render('index');
} else {
res.json(questions);
}
});
});
questionRouter.route('/:id').get(function (req, res) {
let id = req.params.id;
Question.findById(id, function (err, question) {
res.json(question);
});
});
questionRouter.route('/questionId/:id').get(function (req, res) {
console.log("Question ID");
console.log(req.params.id);
let id = req.params.id;
Question.find({"_id" : id}, function (err, question) {
res.json(question);
});
});
questionRouter.route('/add').post(function(req, res) {
const question = new Question({
question_id: new mongoose.Types.ObjectId(),
category : req.body.category,
name : req.body.name,
question_text: req.body.question_text,
question_answer:req.body.question_answer,
defult_mark: req.body.defult_mark,
q_type: req.body.q_type,
time_createdby: req.body.time_createdby,
time_modifiedby: req.body.time_modifiedby,
general_feedback: req.body.general_feedback
});
question
.save()
.then(result => {
res.json(result);
console.log(result);
res.status(201).json({
message: "Created product successfully",
createdProduct: {
category: result.category,
name: result.name,
question_text: result.question_text,
defult_mark: result.defult_mark,
q_type: result.q_type,
time_createdby: req.body.time_createdby,
time_modifiedby: req.body.time_modifiedby,
general_feedback: req.body.general_feedback,
question_id: result.question_id,
request: {
type: 'GET',
url: "http://localhost:5000/questions/" + result._id
}
}
});
})
.catch(err => {
console.log(err);
res.status(500).json({error: err});
});
});
questionRouter.route('/update/:id').post((req, res) => {
Question.findById(req.params.id,function(err, question){
if(!question)
req.status(404).send("data is not found");
else
question.category = req.body.category;
question.name =req.body.name;
question.question_text = req.body.question_text;
question.defult_mark = req.body.defult_mark;
question.q_type = req.body.q_type;
question.time_createdby = req.body.time_createdby;
question.time_modifiedby = req.body.time_modifiedby;
question.general_feedback = req.body.general_feedback;
question.save().then(question =>{
res.json('Item update!');
})
.catch(err =>{
res.status(400).send("Update not possible");
});
});
});
questionRouter.route('/delete/:id').delete((req, res) => {
Question.findByIdAndDelete(req.params.id)
.then(() => res.json('Product Deleted.'))
.catch(err => res.status(400).json('Error: ' + err));
});
module.exports = questionRouter;
\ No newline at end of file
......@@ -22,11 +22,12 @@ connection.once('open',() => {
const studentRouter = require('./routes/student.route');
const tutorRouter = require('./routes/tutor.route');
const instituteRouter = require('./routes/institute.route');
const questionManage = require('./routes/question.route');
app.use('/studentSingUp',studentRouter);
app.use('/tutorSingUp',tutorRouter);
app.use('/instituteSingUp',instituteRouter);
app.use('/questions', questionManage);
app.listen(port, () => {
console.log(`Server is running on Port: ${port}`);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment