v0.5.105: убран переключатель Администратор, adminMode всегда on

This commit is contained in:
2026-06-15 13:45:33 +04:00
parent 2545bc97f1
commit 8ab0bb10ac
4 changed files with 4 additions and 43 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ipwhitelist",
"version": "0.5.104",
"version": "0.5.105",
"description": "IP WhiteList microservice for cloud provider",
"main": "server.js",
"scripts": {
-13
View File
@@ -55,19 +55,6 @@ function createV2Router() {
// ── /v2/admin — редирект на единый интерфейс ───────────────────
router.get('/admin', (req, res) => res.redirect('/v2/app'));
// ── POST /v2/toggle-admin — переключить режим администратора ────
router.post('/toggle-admin', (req, res) => {
if (!req.session || !req.session.user) return res.redirect('/v2/login');
const u = req.session.user;
const canAdmin = (u.allClientIds || []).includes('WZ01112') || u.clientId === 'WZ01112' || !!u.isAdmin;
if (!canAdmin) return res.redirect('/v2/app');
u.adminMode = !u.adminMode;
req.session.save(err => {
if (err) console.error('[toggle-admin] session save error:', err.message);
res.redirect('/v2/app');
});
});
// ── GET /v2/ — редирект на /v2/app ──────────────────────────────────
router.get('/', (req, res) => res.redirect('/v2/app'));
+1 -1
View File
@@ -9,7 +9,7 @@
// ═══════════════════════════════════════════════════════════════════════════════
module.exports = {
version: '0.5.101',
version: '0.5.102',
// ── IAM ──────────────────────────────────────────────────────────────────
iamUrl: process.env.V2_IAM_URL || 'https://auth-api.ngcloud.ru/api/v1/auth/user',
+2 -28
View File
@@ -98,22 +98,6 @@
font-size: .85rem; background: #fff; outline: none; cursor: pointer;
}
select:focus { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(37,99,235,.1); }
/* Toggle */
.toggle-btn {
font-size: .8rem; display: flex; align-items: center; gap: .3rem;
padding: .2rem .6rem; border: 1px solid var(--border); border-radius: 5px;
background: #fff; cursor: pointer; color: var(--muted);
}
.toggle-switch {
position: relative; width: 36px; height: 20px; border-radius: 10px; transition: background .2s;
background: var(--border);
}
.toggle-switch.on { background: var(--blue); }
.toggle-knob {
position: absolute; top: 2px; width: 16px; height: 16px;
background: #fff; border-radius: 50%; transition: all .2s;
}
</style>
</head>
<body>
@@ -132,17 +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;">
<% if (user.isAdmin) { %>
<form method="POST" action="/v2/toggle-admin" style="display:inline;">
<button type="submit" class="toggle-btn">
<span style="font-weight:500;"><%= user.adminMode ? 'Выйти из админки' : 'Администратор' %></span>
<span class="toggle-switch<%= user.adminMode ? ' on' : '' %>">
<span class="toggle-knob" style="<%= user.adminMode ? 'right:2px;' : 'left:2px;' %>"></span>
</span>
</button>
</form>
<% } %>
<span style="font-weight:500;color:var(--text);"><%= user.email %><% if (user.isAdmin && user.adminMode) { %> <span style="color:var(--amber);">(админ)</span><% } %></span>
<span style="font-weight:500;color:var(--text);"><%= user.email %><% if (user.isAdmin) { %> <span style="color:var(--amber);">(админ)</span><% } %></span>
<a href="/v2/logout" class="btn btn-sm">Выйти<% if (user.isImpersonated && user.originalUserEmail) { %> (<%= user.originalUserEmail %>)<% } %></a>
</span>
</header>
@@ -178,7 +152,7 @@
<input type="checkbox" name="deleted" value="1" <%= includeDeleted ? 'checked' : '' %> onchange="this.form.submit()">
Показать удалённые
</label>
<% if (user.adminMode) { %>
<% if (user.isAdmin) { %>
<span style="margin-left:auto;font-size:.8rem;color:var(--amber);">Режим: Администратор</span>
<% } %>
</form>