Files
asan-service/server/controllers/faqController.js
T
2023-08-17 13:05:51 +03:30

77 lines
1.9 KiB
JavaScript

const { body, validationResult } = require('express-validator')
const FAQ = require('../models/FAQ')
const { _sr } = require('../plugins/serverResponses')
const { res404, res500, checkValidations } = require('../plugins/controllersHelperFunctions')
const _faSr = _sr.fa
module.exports.create = [
[
body('question').notEmpty().withMessage(_faSr.required.question),
body('answer').notEmpty().withMessage(_faSr.required.answer)
],
checkValidations(validationResult),
(req, res) => {
const data = {
_creator: req.user_id,
question: req.body.question,
answer: req.body.answer
}
const faq = new FAQ(data)
faq.save(cb => {
return res.json({ message: _faSr.response.success_save })
})
}
]
module.exports.getAll = [
(req, res) => {
FAQ.find({}, (err, data) => {
if (err) return res500(res, err)
return res.json(data)
})
}
]
module.exports.getOne = [
(req, res) => {
FAQ.findById(req.params.id)
.populate('_creator', 'first_name last_name')
.exec((err, data) => {
if (err) return res.status(404).json({ message: err })
return res.json(data)
})
}
]
module.exports.update = [
[
body('question').notEmpty().withMessage(_faSr.required.question),
body('answer').notEmpty().withMessage(_faSr.required.answer)
],
checkValidations(validationResult),
(req, res) => {
const data = {
_creator: req.user_id,
question: req.body.question,
answer: req.body.answer
}
FAQ.findByIdAndUpdate(req.params.id, data, (err, oldData) => {
if (err) return res404(res, err)
return res.json({ message: _faSr.response.success_save })
})
}
]
module.exports.delete = [
(req, res) => {
FAQ.findByIdAndDelete(req.params.id, (err, oldData) => {
if (err) return res.status(404).json({ message: err })
return res.json({ message: _faSr.response.success_remove })
})
}
]