v0.6.4: авто-имперсонация (ORIGINAL→TARGET) + ADMIN_EMAIL

This commit is contained in:
2026-06-15 10:14:16 +04:00
parent ed58df38d8
commit 6032a574a9
4 changed files with 40 additions and 21 deletions
+2 -1
View File
@@ -35,12 +35,13 @@ function resolveContext(req, res, next) {
// Имперсонация: админ действует от имени компании
// u.originalUserEmail — реальный админ
// u.impersonatedCompanyId — W-номер компании
const ADMIN_EMAIL = process.env.ADMIN_EMAIL || '';
const isImpersonated = !!(u.originalUserEmail && u.impersonatedCompanyId);
req.email = isImpersonated ? u.originalUserEmail : (u.email || '');
req.clientId = isImpersonated ? u.impersonatedCompanyId : (u.activeClientId || u.clientId || '');
req.companyName = u.companyName || req.clientId;
req.isAdmin = !!(u.isAdmin && u.adminMode);
req.isAdmin = !!(u.isAdmin && u.adminMode) || (ADMIN_EMAIL && u.email === ADMIN_EMAIL);
req.isImpersonated = isImpersonated;
req.impersonatedBy = isImpersonated ? u.email : null;
req.allClientIds = u.allClientIds || [req.clientId];