v0.5.106: фикс — админ всегда видит все компании, убран дубль (админ)

This commit is contained in:
2026-06-15 13:51:37 +04:00
parent eb7788235f
commit eb3c17cd68
5 changed files with 7 additions and 8 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ipwhitelist",
"version": "0.5.105",
"version": "0.5.106",
"description": "IP WhiteList microservice for cloud provider",
"main": "server.js",
"scripts": {
+1 -1
View File
@@ -9,7 +9,7 @@
// ═══════════════════════════════════════════════════════════════════════════════
module.exports = {
version: '0.5.102',
version: '0.5.103',
// ── IAM ──────────────────────────────────────────────────────────────────
iamUrl: process.env.V2_IAM_URL || 'https://auth-api.ngcloud.ru/api/v1/auth/user',
+3 -4
View File
@@ -40,12 +40,11 @@ function resolveContext(req, res, next) {
req.email = isImpersonated ? u.originalUserEmail : (u.email || '');
req.clientId = isImpersonated ? u.impersonatedCompanyId : (u.activeClientId || u.clientId || '');
req.companyName = u.companyName || req.clientId;
// Админ: пользователь с WZ01112 + включён toggle «Администратор»
// По умолчанию adminMode=true для админов (не надо нажимать toggle)
// Админ: пользователь с WZ01112 всегда админ
const allCids = u.allClientIds || [u.clientId || ''];
req.canAdmin = allCids.includes('WZ01112') || u.clientId === 'WZ01112' || !!u.isAdmin;
req.adminMode = u.adminMode !== undefined ? !!u.adminMode : req.canAdmin;
req.isAdmin = req.canAdmin && req.adminMode;
req.adminMode = req.canAdmin;
req.isAdmin = req.canAdmin;
req.isImpersonated = isImpersonated;
req.impersonatedBy = isImpersonated ? u.email : null;
req.allClientIds = allCids;
+1 -1
View File
@@ -25,7 +25,7 @@ function createUserRouter() {
// ── GET / — список записей + форма ──────────────────────────────────
router.get('/', async (req, res) => {
try {
const isAdmin = req.isAdmin;
const isAdmin = req.canAdmin;
const clId = req.clientId;
// ── Переключение компании ──────────────────────────────────────
+1 -1
View File
@@ -116,7 +116,7 @@
<span style="font-weight:500;color:var(--text);">IP WhiteList v<%= version %></span>
<span style="margin-left:auto;display:flex;gap:.5rem;align-items:center;">
<span style="font-weight:500;color:var(--text);"><%= user.email %><% if (user.isAdmin) { %> <span style="color:var(--amber);">(админ)</span><% } %></span>
<span style="font-weight:500;color:var(--text);"><%= user.email %></span>
<a href="/v2/logout" class="btn btn-sm">Выйти<% if (user.isImpersonated && user.originalUserEmail) { %> (<%= user.originalUserEmail %>)<% } %></a>
</span>
</header>