add user edit for admin
This commit is contained in:
@@ -361,6 +361,109 @@ module.exports.getUserForAdmin = async (req, res) => {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports.updateUserByAdmin = [
|
||||
[
|
||||
body('first_name')
|
||||
.optional()
|
||||
.notEmpty()
|
||||
.withMessage(_faSr.required.first_name)
|
||||
.bail()
|
||||
.isLength({ min: 2 })
|
||||
.withMessage(_faSr.min_char.min2)
|
||||
.bail()
|
||||
.custom((value, { req }) => {
|
||||
if (removeWhiteSpaces(value).length < 2) return Promise.reject(_faSr.min_char.min2)
|
||||
if (!isPersian(value)) return Promise.reject(new Error('لطفا با حروف فارسی تایپ کنید'))
|
||||
else return true
|
||||
}),
|
||||
body('last_name')
|
||||
.optional()
|
||||
.notEmpty()
|
||||
.withMessage(_faSr.required.last_name)
|
||||
.bail()
|
||||
.isLength({ min: 2 })
|
||||
.withMessage(_faSr.min_char.min2)
|
||||
.bail()
|
||||
.custom((value, { req }) => {
|
||||
if (removeWhiteSpaces(value).length < 2) return Promise.reject(_faSr.min_char.min2)
|
||||
if (!isPersian(value)) return Promise.reject(new Error('لطفا با حروف فارسی تایپ کنید'))
|
||||
else return true
|
||||
}),
|
||||
|
||||
body('national_code')
|
||||
.optional()
|
||||
.notEmpty()
|
||||
.withMessage(_faSr.required.national_code)
|
||||
.bail()
|
||||
.custom((value, { req }) => {
|
||||
if (checkNationalCode(value)) return true
|
||||
else return Promise.reject(_faSr.format.national_code)
|
||||
})
|
||||
.bail()
|
||||
.custom((value, { req }) => {
|
||||
const nationalCode = value.trim()
|
||||
return User.findOne({ national_code: nationalCode, _id: { $ne: req.params.id } }).then(user => {
|
||||
if (user && user.national_code === nationalCode)
|
||||
return Promise.reject(new Error('کاربر با این کد ملی از قبل وجود دارد'))
|
||||
else return true
|
||||
})
|
||||
}),
|
||||
|
||||
body('shopName').optional().notEmpty().withMessage(_faSr.required.address),
|
||||
|
||||
body('mobile_number')
|
||||
.optional()
|
||||
.notEmpty()
|
||||
.withMessage(_faSr.required.phone_number)
|
||||
.bail()
|
||||
.custom((value, { req }) => {
|
||||
const mobileNStatus = checkMobileNumber(value)
|
||||
if (!mobileNStatus) return Promise.reject(_faSr.format.phone_number)
|
||||
else return Promise.resolve()
|
||||
})
|
||||
.bail()
|
||||
.custom((value, { req }) => {
|
||||
const mobileNumber = value.trim()
|
||||
return User.findOne({ mobile_number: mobileNumber, _id: { $ne: req.params.id } }).then(user => {
|
||||
if (user && user.mobile_number === mobileNumber)
|
||||
return Promise.reject(new Error('کاربر با این شماره موبایل از قبل وجود دارد'))
|
||||
else return true
|
||||
})
|
||||
}),
|
||||
|
||||
body('cell_number').optional().notEmpty().withMessage(_faSr.required.phone_number).bail(),
|
||||
body('birthDate').optional().notEmpty().withMessage(_faSr.required.birthdate).bail(),
|
||||
body('address').optional().notEmpty().withMessage(_faSr.required.address).bail()
|
||||
],
|
||||
checkValidations(validationResult),
|
||||
async (req, res) => {
|
||||
try {
|
||||
const { first_name, last_name, national_code, mobile_number, shopName, birthDate, address, cell_number } =
|
||||
req.body
|
||||
|
||||
const data = {
|
||||
first_name: nameOptimizer(first_name),
|
||||
last_name,
|
||||
national_code: national_code.trim(),
|
||||
mobile_number: normalizeMobileNumber(mobile_number),
|
||||
shopName,
|
||||
birthDate,
|
||||
address,
|
||||
cell_number
|
||||
}
|
||||
// const existMobile = await User.findOne({ mobile_number, _id: { $ne: req.params.id } })
|
||||
// if (existMobile) return res.status(400).json({ msg: 'این شماره موبایل قبلا ثبت شده است' })
|
||||
|
||||
const updateUser = await User.findByIdAndUpdate(req.params.id, data, { new: true })
|
||||
if (!updateUser) return res.status(404).json({ msg: _sr.fa.not_found.user_id })
|
||||
return res.status(200).json({ message: _faSr.response.success_update, user: updateUser })
|
||||
} catch (error) {
|
||||
const registerFailurMsg = 'مشکلی پیش آمده، لطفا مجددا تلاش کنید'
|
||||
res500(res, registerFailurMsg)
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
module.exports.activeUser = [
|
||||
[
|
||||
param('status').notEmpty().isBoolean().withMessage('این استاتوس اشتباه است'),
|
||||
|
||||
@@ -119,6 +119,7 @@ module.exports._sr = {
|
||||
unauthenticated: 'غیرمجاز',
|
||||
recovery_link: 'لینک بازیابی فرستاده شد',
|
||||
success_save: 'با موفقیت ثبت شد',
|
||||
success_update: 'با موفقیت ثبت شد',
|
||||
success_remove: 'با موفقیت حذف شد',
|
||||
cart_empty: 'سبد خرید خالی است',
|
||||
already_has_address: 'آدرس قبلا اضافه شده',
|
||||
|
||||
+33
-42
@@ -34,73 +34,68 @@ const awardRequest = require('../controllers/GPS.AwardRequest')
|
||||
const userGPS = require('../controllers/GPS.User')
|
||||
const renewal = require('../controllers/GPS.Renewal')
|
||||
|
||||
|
||||
/// //////////////////////////////////////////////////////// routes
|
||||
|
||||
|
||||
/// ///////////////////////////// GPS
|
||||
|
||||
/// /////////////// Renewal
|
||||
router.get('/gps/renew',hasPermission('gps'), renewal.findAllAdmin)
|
||||
|
||||
router.get('/gps/renew', hasPermission('gps'), renewal.findAllAdmin)
|
||||
|
||||
/// /////////////// User
|
||||
|
||||
router.get('/gps/users',hasPermission('gps'), userGPS.getUsersForAdmin)
|
||||
router.get('/gps/users/pending',hasPermission('gps'), userGPS.getPendingUsersForAdmin)
|
||||
router.get('/gps/users/:id',hasPermission('gps'), userGPS.getUserForAdmin)
|
||||
|
||||
router.post('/gps/users',hasPermission('gps'), userGPS.addUserByAdmin)
|
||||
|
||||
router.patch('/gps/users/:id/:status',hasPermission('gps'), userGPS.activeUser)
|
||||
router.get('/gps/users', hasPermission('gps'), userGPS.getUsersForAdmin)
|
||||
router.get('/gps/users/pending', hasPermission('gps'), userGPS.getPendingUsersForAdmin)
|
||||
router.get('/gps/users/:id', hasPermission('gps'), userGPS.getUserForAdmin)
|
||||
router.put('/gps/users/:id', hasPermission('gps'), userGPS.updateUserByAdmin)
|
||||
|
||||
router.post('/gps/users', hasPermission('gps'), userGPS.addUserByAdmin)
|
||||
|
||||
router.patch('/gps/users/:id/:status', hasPermission('gps'), userGPS.activeUser)
|
||||
|
||||
/// ////////////// Award
|
||||
router.post('/gps/award',hasPermission('gps'), award.createAward)
|
||||
router.get('/gps/award',hasPermission('gps'), award.findAllAdmin)
|
||||
router.get('/gps/award/:id',hasPermission('gps'), award.findOne)
|
||||
router.put('/gps/award/:id',hasPermission('gps'), award.update)
|
||||
router.delete('/gps/award/:id',hasPermission('gps'), award.delete)
|
||||
router.post('/gps/award', hasPermission('gps'), award.createAward)
|
||||
router.get('/gps/award', hasPermission('gps'), award.findAllAdmin)
|
||||
router.get('/gps/award/:id', hasPermission('gps'), award.findOne)
|
||||
router.put('/gps/award/:id', hasPermission('gps'), award.update)
|
||||
router.delete('/gps/award/:id', hasPermission('gps'), award.delete)
|
||||
|
||||
/// ////////////// Award request
|
||||
router.get('/gps/award-request',hasPermission('gps'), awardRequest.findAllAdmin)
|
||||
router.get('/gps/award-request/:id',hasPermission('gps'), awardRequest.findOne)
|
||||
router.put('/gps/award-request/:id',hasPermission('gps'), awardRequest.update)
|
||||
router.get('/gps/award-request', hasPermission('gps'), awardRequest.findAllAdmin)
|
||||
router.get('/gps/award-request/:id', hasPermission('gps'), awardRequest.findOne)
|
||||
router.put('/gps/award-request/:id', hasPermission('gps'), awardRequest.update)
|
||||
|
||||
/// ////////////// Withdraw
|
||||
router.get('/gps/withdraw',hasPermission('gps'), withdraw.getAllForAdmin)
|
||||
router.patch('/gps/withdraw/:id/:type',hasPermission('gps'), withdraw.updateReq)
|
||||
router.get('/gps/withdraw', hasPermission('gps'), withdraw.getAllForAdmin)
|
||||
router.patch('/gps/withdraw/:id/:type', hasPermission('gps'), withdraw.updateReq)
|
||||
|
||||
/// ////////////// Installed device
|
||||
router.patch('/gps/register-device/:id/:type', installedDevice.updateInstalled)
|
||||
router.get('/gps/register-device', installedDevice.getAllForAdmin)
|
||||
|
||||
/// ////////////// Device
|
||||
router.post('/gps/device',hasPermission('gps'), device.addCode)
|
||||
router.post('/gps/device/exel',hasPermission('gps'), device.importExel)
|
||||
router.get('/gps/device/exel',hasPermission('gps'), device.downloadAll)
|
||||
router.get('/gps/device',hasPermission('gps'), device.getAll)
|
||||
router.get('/gps/device/imei/:imei',hasPermission('gps'), device.getOneByIMEI)
|
||||
router.get('/gps/device/id/:id',hasPermission('gps'), device.getOne)
|
||||
router.put('/gps/device/:id',hasPermission('gps'), device.updateDevice)
|
||||
router.post('/gps/device', hasPermission('gps'), device.addCode)
|
||||
router.post('/gps/device/exel', hasPermission('gps'), device.importExel)
|
||||
router.get('/gps/device/exel', hasPermission('gps'), device.downloadAll)
|
||||
router.get('/gps/device', hasPermission('gps'), device.getAll)
|
||||
router.get('/gps/device/imei/:imei', hasPermission('gps'), device.getOneByIMEI)
|
||||
router.get('/gps/device/id/:id', hasPermission('gps'), device.getOne)
|
||||
router.put('/gps/device/:id', hasPermission('gps'), device.updateDevice)
|
||||
|
||||
/// /////////////////////////////////////////////////////////
|
||||
/// ///////////// survey
|
||||
router.get('/surveys',hasPermission('surveys'), surveyController.getAllForAdmin)
|
||||
router.get('/surveys/:id',hasPermission('surveys'), surveyController.getOneForAdmin)
|
||||
router.get('/surveys', hasPermission('surveys'), surveyController.getAllForAdmin)
|
||||
router.get('/surveys/:id', hasPermission('surveys'), surveyController.getOneForAdmin)
|
||||
|
||||
/// ///////////// Brand
|
||||
router.post('/brand',hasPermission('brands'), brandController.createbrand)
|
||||
router.get('/brand/:id',hasPermission('brands'), brandController.getbrand)
|
||||
router.put('/brand/:id',hasPermission('brands'), brandController.updatebrand)
|
||||
router.delete('/brand/:id',hasPermission('brands'), brandController.deletebrand)
|
||||
|
||||
router.post('/brand', hasPermission('brands'), brandController.createbrand)
|
||||
router.get('/brand/:id', hasPermission('brands'), brandController.getbrand)
|
||||
router.put('/brand/:id', hasPermission('brands'), brandController.updatebrand)
|
||||
router.delete('/brand/:id', hasPermission('brands'), brandController.deletebrand)
|
||||
|
||||
/// ///////////// Complaint
|
||||
router.get('/complaint',hasPermission('complaint'), complaintController.getsComplaint)
|
||||
router.get('/complaint/:id',hasPermission('complaint'), complaintController.get)
|
||||
router.put('/complaint/:id',hasPermission('apply'), complaintController.put)
|
||||
router.get('/complaint', hasPermission('complaint'), complaintController.getsComplaint)
|
||||
router.get('/complaint/:id', hasPermission('complaint'), complaintController.get)
|
||||
router.put('/complaint/:id', hasPermission('apply'), complaintController.put)
|
||||
|
||||
/// ///////////// warranty terms
|
||||
router.post('/warranty', hasPermission('warranty-terms'), warrantyTermsController.create)
|
||||
@@ -164,7 +159,6 @@ router.put('/user/changePanatechInfo/:id', hasPermission('customers'), userContr
|
||||
router.put('/user/update/:id', hasPermission('customers'), userController.update_user_by_admin)
|
||||
router.post('/user', hasPermission('customers'), userController.add_user)
|
||||
|
||||
|
||||
/// ///////////// serials exel file
|
||||
router.post('/addExel', hasPermission('serials-exel'), serialsExelController.addExel)
|
||||
router.delete('/removeExel/:name', hasPermission('serials-exel'), serialsExelController.removeExel)
|
||||
@@ -266,7 +260,4 @@ router.get('/smsBroadcasts', hasPermission('sms'), smsBroadcastController.getAll
|
||||
router.get('/smsBroadcasts/:id', hasPermission('sms'), smsBroadcastController.getOneForAdmin)
|
||||
router.get('/usersForSMS', hasPermission('sms'), userController.get_all_users_for_admin)
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = router
|
||||
|
||||
Reference in New Issue
Block a user