This commit is contained in:
payacom
2026-10-01 21:12:05 +03:30
parent 806471241e
commit d4ebc20aa8
41 changed files with 1015 additions and 135 deletions

View File

@@ -0,0 +1,32 @@
const express = require('express')
const router = express.Router()
const auth = require('../../../middlewares/auth')
const blockCheck = require('../../../middlewares/blockCheck')
const {
createSubUser,
listSubUsers,
getSubUser,
updateSubUser,
setSubUserActive
} = require('../../../controllers/application/subUsers/subUserController')
// یه کاربرِ زیرمجموعه هیچ‌وقت نباید بتونه خودش زیرمجموعه بسازه/مدیریت کنه —
// فقط صاحبِ اصلیِ اکانت (req.actingSubUser خالیه)
function ownerOnly (req, res, next) {
if (req.actingSubUser) {
return res.status(403).json({
error: true,
message: 'کاربر زیرمجموعه اجازه‌ی مدیریت کاربران زیرمجموعه را ندارد'
})
}
next()
}
router.post('/', [auth, blockCheck, ownerOnly], createSubUser)
router.get('/', [auth, blockCheck, ownerOnly], listSubUsers)
router.get('/:id', [auth, blockCheck, ownerOnly], getSubUser)
router.patch('/:id', [auth, blockCheck, ownerOnly], updateSubUser)
router.patch('/:id/active', [auth, blockCheck, ownerOnly], setSubUserActive)
module.exports = router