v2: убраны v2_ префиксы сессии — user/adminMode/token как в основном коде

This commit is contained in:
2026-06-12 21:13:15 +04:00
parent 287d196eaf
commit d3b753e6bd
7 changed files with 35 additions and 35 deletions
+3 -3
View File
@@ -8,10 +8,10 @@
* Вызывается перед всеми маршрутами v2.
*/
function resolveContext(req, res, next) {
let u = req.session && req.session.v2_user;
const u = req.session && req.session.user;
if (!u) return res.redirect('/v2/login');
const isAdmin = !!(u.isAdmin && req.session.v2_adminMode);
const isAdmin = !!(u.isAdmin && req.session.adminMode);
const isImpersonated = !!u.isImpersonated;
// Контекст для CRUD
@@ -20,7 +20,7 @@ function resolveContext(req, res, next) {
req.v2_isAdmin = isAdmin;
req.v2_isImpersonated = isImpersonated;
req.v2_impersonatedBy = isImpersonated ? u.email : null; // кто реально (для аудита)
req.v2_user = u;
req.user = u;
req.v2_allClientIds = u.allClientIds || [];
req.v2_profiles = u.profiles || [];
req.v2_companyName = u.companyName || u.clientId;
+10 -10
View File
@@ -21,41 +21,41 @@ function t(name, session, expected) {
}
t('нет сессии', {}, { _redirect: '/v2/login' });
t('нет v2_user', { v2_user: null }, { _redirect: '/v2/login' });
t('нет user', { user: null }, { _redirect: '/v2/login' });
t('обычный юзер 1 компания', { v2_user: {
t('обычный юзер 1 компания', { user: {
email: 'u@t.ru', clientId: 'WZ03709', activeClientId: 'WZ03709',
allClientIds: ['WZ03709'], companyName: 'test', isAdmin: false, profiles: []
}}, { 'v2_email': 'u@t.ru', 'v2_clientId': 'WZ03709', 'v2_isAdmin': false, 'v2_isImpersonated': false, 'v2_impersonatedBy': null });
t('юзер 2 компании', { v2_user: {
t('юзер 2 компании', { user: {
email: 'm@t.ru', clientId: 'WZ88888', activeClientId: 'WZ77777',
allClientIds: ['WZ88888','WZ77777'], companyName: 'AB', isAdmin: false, profiles: []
}}, { 'v2_email': 'm@t.ru', 'v2_clientId': 'WZ77777', 'v2_allClientIds': ['WZ88888','WZ77777'] });
t('админ adminMode', { v2_user: {
t('админ adminMode', { user: {
email: 'a@t.ru', clientId: 'WZ01112', activeClientId: 'WZ01112',
allClientIds: ['WZ01112'], isAdmin: true, profiles: []
}, v2_adminMode: true }, { 'v2_email': 'a@t.ru', 'v2_clientId': 'WZ01112', 'v2_isAdmin': true });
}, adminMode: true }, { 'v2_email': 'a@t.ru', 'v2_clientId': 'WZ01112', 'v2_isAdmin': true });
t('админ без adminMode', { v2_user: {
t('админ без adminMode', { user: {
email: 'a@t.ru', clientId: 'WZ01112', activeClientId: 'WZ01112',
allClientIds: ['WZ01112'], isAdmin: true, profiles: []
} }, { 'v2_email': 'a@t.ru', 'v2_clientId': 'WZ01112', 'v2_isAdmin': false });
t('имперсонация', { v2_user: {
t('имперсонация', { user: {
email: 'admin@t.ru', clientId: 'WZ01112', activeClientId: 'WZ01112',
allClientIds: ['WZ01112','WZ03709'], isAdmin: true, isImpersonated: true,
originalUserEmail: 'real@t.ru', impersonatedCompanyId: 'WZ03709', profiles: []
}, v2_adminMode: true }, { 'v2_email': 'real@t.ru', 'v2_clientId': 'WZ03709', 'v2_isImpersonated': true, 'v2_impersonatedBy': 'admin@t.ru' });
}, adminMode: true }, { 'v2_email': 'real@t.ru', 'v2_clientId': 'WZ03709', 'v2_isImpersonated': true, 'v2_impersonatedBy': 'admin@t.ru' });
t('имперс. без origEmail', { v2_user: {
t('имперс. без origEmail', { user: {
email: 'x@t.ru', clientId: 'WZ01112', activeClientId: 'WZ01112',
allClientIds: ['WZ01112'], isAdmin: true, isImpersonated: true,
originalUserEmail: '', impersonatedCompanyId: '', profiles: []
} }, { 'v2_email': 'x@t.ru', 'v2_clientId': 'WZ01112', 'v2_impersonatedBy': 'x@t.ru' });
t('без activeClientId', { v2_user: {
t('без activeClientId', { user: {
email: 'y@t.ru', clientId: 'WZ03709', allClientIds: ['WZ03709'],
isAdmin: false, profiles: []
} }, { 'v2_email': 'y@t.ru', 'v2_clientId': 'WZ03709' });