Fix model & request for gps controller
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
const { body, param, validationResult } = require('express-validator')
|
||||
const { _sr } = require('../plugins/serverResponses')
|
||||
const { checkValidations, res400 } = require('../plugins/controllersHelperFunctions')
|
||||
const User = require('../models/User')
|
||||
const RequestGPS = require('../models/GPS.Request')
|
||||
|
||||
module.exports.gpsRequest = [
|
||||
[
|
||||
body('shopName').notEmpty().isString().withMessage(_sr.fa.required.name),
|
||||
body('shopNumber').notEmpty().isString().withMessage(_sr.fa.required.store_number),
|
||||
body('shopAddress').notEmpty().isString().withMessage(_sr.fa.required.address),
|
||||
body('birthDate').notEmpty().isString().withMessage(_sr.fa.required.date),
|
||||
],
|
||||
checkValidations(validationResult),
|
||||
async (req, res) => {
|
||||
const { shopName, shopNumber, shopAddress, birthDate, profilePic } = req.body;
|
||||
const repeated = await RequestGPS.findOne({ userId: req.user_id })
|
||||
if (repeated) {
|
||||
res400(res, "شما قبلا درخواست ثبت کرده اید")
|
||||
} else {
|
||||
const request = await RequestGPS.create({
|
||||
shopName,
|
||||
shopNumber,
|
||||
shopAddress,
|
||||
birthDate,
|
||||
profilePic,
|
||||
userId: req.user_id,
|
||||
})
|
||||
res.status(201).json({ msg: 'درخواست شما با موفقیت ثبت شد', date: request })
|
||||
}
|
||||
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
module.exports.getAllRequest = [
|
||||
async (req, res) => {
|
||||
const data = await RequestGPS.find({}).sort({ status: 1 })
|
||||
res.status(200).json(data)
|
||||
}
|
||||
]
|
||||
|
||||
module.exports.getOneRequest = [
|
||||
[
|
||||
param('id').notEmpty().isMongoId().withMessage('این ایدی اشتباه است')
|
||||
],
|
||||
checkValidations(validationResult),
|
||||
async (req, res) => {
|
||||
const data = await RequestGPS.findById(req.params.id).populate('userId')
|
||||
res.status(200).json(data)
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
module.exports.changeStatus = [
|
||||
[
|
||||
param('status').notEmpty().isString().withMessage('این استاتوس اشتباه است'),
|
||||
param('id').notEmpty().isMongoId().withMessage('این ایدی اشتباه است')
|
||||
],
|
||||
checkValidations(validationResult),
|
||||
async (req, res) => {
|
||||
switch (req.params.status) {
|
||||
case "accept": {
|
||||
const data = await RequestGPS.findByIdAndUpdate(req.params.id,
|
||||
{
|
||||
status:1
|
||||
},
|
||||
{ new: true })
|
||||
const userData = await User.findByIdAndUpdate(
|
||||
data.userId,
|
||||
{
|
||||
shopName: data.shopName,
|
||||
shopNumber: data.shopNumber,
|
||||
shopAddress: data.shopAddress,
|
||||
birthDate: data.birthDate,
|
||||
},
|
||||
{ new: true}
|
||||
)
|
||||
res.status(200).json({ msg: 'با موفقیت به روز شد', data:userData })
|
||||
break;
|
||||
}
|
||||
case "reject": {
|
||||
const data = await RequestGPS.findByIdAndUpdate(req.params.id,
|
||||
{
|
||||
status:2
|
||||
},
|
||||
{ new: true })
|
||||
|
||||
res.status(200).json({ msg: 'با موفقیت به روز شد', data })
|
||||
break;
|
||||
}
|
||||
default:
|
||||
res.status(400).json({ msg: 'این استاتوس اشتباه است' })
|
||||
break;
|
||||
}
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user