v0.5.105: убран переключатель Администратор, adminMode всегда on
This commit is contained in:
+1
-1
@@ -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": {
|
||||
|
||||
@@ -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'));
|
||||
|
||||
|
||||
@@ -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
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user