v0.5.121: switchTo после crud.list, без save() и без impersonationCompanyId
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ipwhitelist",
|
"name": "ipwhitelist",
|
||||||
"version": "0.5.120",
|
"version": "0.5.121",
|
||||||
"description": "IP WhiteList microservice for cloud provider",
|
"description": "IP WhiteList microservice for cloud provider",
|
||||||
"main": "server.js",
|
"main": "server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
// ═══════════════════════════════════════════════════════════════════════════════
|
// ═══════════════════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
version: '0.5.120',
|
version: '0.5.121',
|
||||||
|
|
||||||
// ── IAM ──────────────────────────────────────────────────────────────────
|
// ── IAM ──────────────────────────────────────────────────────────────────
|
||||||
iamUrl: process.env.V2_IAM_URL || 'https://auth-api.ngcloud.ru/api/v1/auth/user',
|
iamUrl: process.env.V2_IAM_URL || 'https://auth-api.ngcloud.ru/api/v1/auth/user',
|
||||||
|
|||||||
+15
-16
@@ -28,22 +28,6 @@ function createUserRouter() {
|
|||||||
const isAdmin = req.canAdmin;
|
const isAdmin = req.canAdmin;
|
||||||
const clId = req.clientId;
|
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 ───────────────────────────────────────
|
// ── Компании для dropdown ───────────────────────────────────────
|
||||||
let companies;
|
let companies;
|
||||||
if (isAdmin) {
|
if (isAdmin) {
|
||||||
@@ -69,6 +53,21 @@ function createUserRouter() {
|
|||||||
const includeDeleted = req.query.deleted === '1';
|
const includeDeleted = req.query.deleted === '1';
|
||||||
const { entries, used, limit } = await crud.list(clId, includeDeleted);
|
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 sessionUser = req.session && req.session.user ? req.session.user : {};
|
||||||
const templateUser = {
|
const templateUser = {
|
||||||
|
|||||||
Reference in New Issue
Block a user