front-end almost done | started back-end
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
const Broadcast = require('../models/Broadcast')
|
||||
const {body, validationResult} = require('express-validator')
|
||||
const dateformat = require('dateformat')
|
||||
|
||||
|
||||
module.exports.create = [
|
||||
[
|
||||
body('title')
|
||||
.isLength({min: 2}).withMessage('حداقل 2 کاراکتر'),
|
||||
|
||||
body('message')
|
||||
.isLength({min: 10}).withMessage('حداقل 10 کاراکتر'),
|
||||
|
||||
body('locale')
|
||||
.notEmpty().withMessage('زبان پیام را انتخاب کنید')
|
||||
],
|
||||
(req, res) => {
|
||||
const errors = validationResult(req)
|
||||
if (!errors.isEmpty()) return res.status(422).json({validation: errors.mapped()})
|
||||
|
||||
const data = {
|
||||
title: req.body.title,
|
||||
message: req.body.message,
|
||||
admin_id: req.body.admin_id,
|
||||
locale: req.body.locale,
|
||||
created_at: dateformat(Date.now(), 'yyyy-mm-dd HH:MM:ss')
|
||||
}
|
||||
const broadcast = new Broadcast(data)
|
||||
broadcast.save((err, data) => {
|
||||
if (err) console.log(err)
|
||||
return res.json(data)
|
||||
})
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
module.exports.getAll = [
|
||||
(req, res) => {
|
||||
Broadcast.find({})
|
||||
.then(messages => {
|
||||
return res.json(messages)
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
module.exports.getOne = [
|
||||
(req, res) => {
|
||||
Broadcast.findById(req.params.id)
|
||||
.then(message => {
|
||||
if (!message.read.includes(req.body.user_id)) {
|
||||
message.read.push(req.body.user_id)
|
||||
message.save(err => {
|
||||
if (err) console.log(err)
|
||||
return res.json(message)
|
||||
})
|
||||
} else {
|
||||
return res.json(message)
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
module.exports.delete = [
|
||||
(req, res) => {
|
||||
Broadcast.findByIdAndDelete(req.params.id)
|
||||
.then(message => {
|
||||
return res.json({message: 'Message deleted.'})
|
||||
})
|
||||
.catch(err => {
|
||||
return res.status(404).json(err)
|
||||
})
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user