v0.5.106: фикс — админ всегда видит все компании, убран дубль (админ)
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ipwhitelist",
|
"name": "ipwhitelist",
|
||||||
"version": "0.5.105",
|
"version": "0.5.106",
|
||||||
"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.102',
|
version: '0.5.103',
|
||||||
|
|
||||||
// ── 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',
|
||||||
|
|||||||
@@ -40,12 +40,11 @@ function resolveContext(req, res, next) {
|
|||||||
req.email = isImpersonated ? u.originalUserEmail : (u.email || '');
|
req.email = isImpersonated ? u.originalUserEmail : (u.email || '');
|
||||||
req.clientId = isImpersonated ? u.impersonatedCompanyId : (u.activeClientId || u.clientId || '');
|
req.clientId = isImpersonated ? u.impersonatedCompanyId : (u.activeClientId || u.clientId || '');
|
||||||
req.companyName = u.companyName || req.clientId;
|
req.companyName = u.companyName || req.clientId;
|
||||||
// Админ: пользователь с WZ01112 + включён toggle «Администратор»
|
// Админ: пользователь с WZ01112 — всегда админ
|
||||||
// По умолчанию adminMode=true для админов (не надо нажимать toggle)
|
|
||||||
const allCids = u.allClientIds || [u.clientId || ''];
|
const allCids = u.allClientIds || [u.clientId || ''];
|
||||||
req.canAdmin = allCids.includes('WZ01112') || u.clientId === 'WZ01112' || !!u.isAdmin;
|
req.canAdmin = allCids.includes('WZ01112') || u.clientId === 'WZ01112' || !!u.isAdmin;
|
||||||
req.adminMode = u.adminMode !== undefined ? !!u.adminMode : req.canAdmin;
|
req.adminMode = req.canAdmin;
|
||||||
req.isAdmin = req.canAdmin && req.adminMode;
|
req.isAdmin = req.canAdmin;
|
||||||
req.isImpersonated = isImpersonated;
|
req.isImpersonated = isImpersonated;
|
||||||
req.impersonatedBy = isImpersonated ? u.email : null;
|
req.impersonatedBy = isImpersonated ? u.email : null;
|
||||||
req.allClientIds = allCids;
|
req.allClientIds = allCids;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ function createUserRouter() {
|
|||||||
// ── GET / — список записей + форма ──────────────────────────────────
|
// ── GET / — список записей + форма ──────────────────────────────────
|
||||||
router.get('/', async (req, res) => {
|
router.get('/', async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const isAdmin = req.isAdmin;
|
const isAdmin = req.canAdmin;
|
||||||
const clId = req.clientId;
|
const clId = req.clientId;
|
||||||
|
|
||||||
// ── Переключение компании ──────────────────────────────────────
|
// ── Переключение компании ──────────────────────────────────────
|
||||||
|
|||||||
+1
-1
@@ -116,7 +116,7 @@
|
|||||||
<span style="font-weight:500;color:var(--text);">IP WhiteList v<%= version %></span>
|
<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="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>
|
<a href="/v2/logout" class="btn btn-sm">Выйти<% if (user.isImpersonated && user.originalUserEmail) { %> (<%= user.originalUserEmail %>)<% } %></a>
|
||||||
</span>
|
</span>
|
||||||
</header>
|
</header>
|
||||||
|
|||||||
Reference in New Issue
Block a user