const { body, validationResult, param } = require('express-validator'); const { _sr } = require('../plugins/serverResponses'); const { checkValidations } = require('../plugins/controllersHelperFunctions'); const Award = require('../models/GPS.Award'); module.exports.createAward = [ [ body('score').notEmpty().isInt().withMessage(_sr.fa.required.field), body('title').notEmpty().isString().withMessage(_sr.fa.required.field), body('desc').notEmpty().isString().withMessage(_sr.fa.required.field), body('expireDate').notEmpty().withMessage(_sr.fa.required.field), ], checkValidations(validationResult), async (req, res) => { const { score, title, desc, expireDate } = req.body; const fixDate = new Date(expireDate) const award = await Award.create({ score, title, desc, expireDate:fixDate }) // res.status(201).json({ // msg: _sr.fa.response.success_save, // data: award // }) res.status(201).json(award) } ] module.exports.findAllUser = async (req, res) => { const toDay = new Date() const data = await Award.find({expireDate: {$gt: toDay}}) res.status(200).json(data) } module.exports.findAllAdmin = async (req, res) => { const data = await Award.find({}) res.status(200).json(data) } module.exports.findOne = [ [ param('id').notEmpty().isMongoId().withMessage('ایدی را وارد یا تصحیح کنید') ], checkValidations(validationResult), async (req, res) => { const data = await Award.findById(req.params.id) if (!data) { res.status(404).json({ msg: _sr.fa.not_found.item_id }) } else { res.status(200).json(data) } } ] module.exports.update =[ [ param('id').notEmpty().isMongoId().withMessage('ایدی را وارد یا تصحیح کنید'), body('score').notEmpty().isInt().withMessage(_sr.fa.required.field), body('title').notEmpty().isString().withMessage(_sr.fa.required.field), body('desc').notEmpty().isString().withMessage(_sr.fa.required.field), body('expireDate').notEmpty().withMessage(_sr.fa.required.field), ], checkValidations(validationResult), async (req, res) => { const { score, title, desc, expireDate } = req.body; const data = await Award.findById(req.params.id) if (!data) { res.status(404).json({ msg: _sr.fa.not_found.item_id }) } else { data.score = score; data.title = title; data.desc = desc; data.expireDate = new Date(expireDate) data.save() // res.status(200).json({ // msg: _sr.fa.response.success_save, // data // }) res.status(200).json(data) } } ]