tweaks
This commit is contained in:
@@ -3,7 +3,6 @@ const prisma = require('../db');
|
||||
const { asyncHandler, httpError } = require('../lib/errors');
|
||||
const { isValidPhone, normalizePhone } = require('../lib/phone');
|
||||
const { hashPassword } = require('../lib/passwords');
|
||||
const { canAccessDealer } = require('../lib/access');
|
||||
const { userPublicSelect, publicUser } = require('../lib/users');
|
||||
const { requireAuth, requireRole } = require('../middleware/auth');
|
||||
|
||||
@@ -196,27 +195,4 @@ router.patch(
|
||||
})
|
||||
);
|
||||
|
||||
router.post(
|
||||
'/dealer-users',
|
||||
requireRole('superAdmin', 'salesRep'),
|
||||
asyncHandler(async (req, res) => {
|
||||
const name = String(req.body?.name || '').trim();
|
||||
const phone = normalizePhone(req.body?.phone);
|
||||
const dealerId = String(req.body?.dealerId || '').trim();
|
||||
if (!name || !isValidPhone(phone) || !dealerId) {
|
||||
throw httpError(400, 'Name, phone, and dealerId are required');
|
||||
}
|
||||
if (!canAccessDealer(req.user, dealerId)) throw httpError(403, 'Forbidden');
|
||||
|
||||
const dealer = await prisma.dealer.findUnique({ where: { id: dealerId } });
|
||||
if (!dealer) throw httpError(404, 'Dealer not found');
|
||||
|
||||
const user = await prisma.user.create({
|
||||
data: { name, phone, role: 'dealer', dealerId },
|
||||
select: userPublicSelect,
|
||||
});
|
||||
return res.status(201).json({ success: true, data: publicUser(user) });
|
||||
})
|
||||
);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user