This commit is contained in:
2026-10-01 13:43:46 +05:30
parent e5bc11b6de
commit ba835cff8e
-24
View File
@@ -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;