v0.5.121: switchTo после crud.list, без save() и без impersonationCompanyId

This commit is contained in:
2026-06-15 15:45:58 +04:00
parent 08e20c10ac
commit 6b994d0938
3 changed files with 17 additions and 18 deletions
+1 -1
View File
@@ -9,7 +9,7 @@
// ═══════════════════════════════════════════════════════════════════════════════
module.exports = {
version: '0.5.120',
version: '0.5.121',
// ── IAM ──────────────────────────────────────────────────────────────────
iamUrl: process.env.V2_IAM_URL || 'https://auth-api.ngcloud.ru/api/v1/auth/user',
+15 -16
View File
@@ -28,22 +28,6 @@ function createUserRouter() {
const isAdmin = req.canAdmin;
const clId = req.clientId;
// ── Переключение компании ──────────────────────────────────────
if (req.query.switchTo) {
const targetId = req.query.switchTo;
if (isAdmin) {
req.session.user.activeClientId = targetId;
if (req.session.user.isImpersonated) req.session.user.impersonatedCompanyId = targetId;
return res.redirect('/v2/app');
} else {
const allowed = (req.profiles || []).find(p => p.client_id === targetId);
if (allowed) {
req.session.user.activeClientId = targetId;
return res.redirect('/v2/app');
}
}
}
// ── Компании для dropdown ───────────────────────────────────────
let companies;
if (isAdmin) {
@@ -69,6 +53,21 @@ function createUserRouter() {
const includeDeleted = req.query.deleted === '1';
const { entries, used, limit } = await crud.list(clId, includeDeleted);
// ── Переключение компании ──────────────────────────────────────
if (req.query.switchTo) {
const targetId = req.query.switchTo;
if (isAdmin) {
req.session.user.activeClientId = targetId;
return res.redirect('/v2/app');
} else {
const allowed = (req.profiles || []).find(p => p.client_id === targetId);
if (allowed) {
req.session.user.activeClientId = targetId;
return res.redirect('/v2/app');
}
}
}
// ── Данные пользователя для шаблона ────────────────────────────
const sessionUser = req.session && req.session.user ? req.session.user : {};
const templateUser = {