v0.5.136: ↺ яркая, deleted сохраняется после restore/delete

This commit is contained in:
2026-06-16 04:51:42 +04:00
parent c4d592dcbe
commit 24e0e39782
4 changed files with 11 additions and 7 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ipwhitelist",
"version": "0.5.135",
"version": "0.5.136",
"description": "IP WhiteList microservice for cloud provider",
"main": "server.js",
"scripts": {
+1 -1
View File
@@ -9,7 +9,7 @@
// ═══════════════════════════════════════════════════════════════════════════════
module.exports = {
version: '0.5.135',
version: '0.5.136',
// ── IAM ──────────────────────────────────────────────────────────────────
iamUrl: process.env.V2_IAM_URL || 'https://auth-api.ngcloud.ru/api/v1/auth/user',
+6 -4
View File
@@ -114,21 +114,23 @@ function createUserRouter() {
// ── POST /delete/:id ────────────────────────────────────────────────
router.post('/delete/:id', async (req, res) => {
const qs = (req.body && req.body.deleted === '1') ? '&deleted=1' : '';
try {
await crud.remove(parseInt(req.params.id), req.clientId, req.email, req.impersonatedBy);
res.redirect('/v2/app?msg=Удалено');
res.redirect('/v2/app?msg=Удалено' + qs);
} catch (e) {
res.redirect('/v2/app?error=' + encodeURIComponent(e.message));
res.redirect('/v2/app?error=' + encodeURIComponent(e.message) + qs);
}
});
// ── POST /restore/:id ──────────────────────────────────────────────
router.post('/restore/:id', async (req, res) => {
const qs = (req.body && req.body.deleted === '1') ? '&deleted=1' : '';
try {
await crud.restore(parseInt(req.params.id), req.clientId, req.email, req.impersonatedBy);
res.redirect('/v2/app?msg=Восстановлено');
res.redirect('/v2/app?msg=Восстановлено' + qs);
} catch (e) {
res.redirect('/v2/app?error=' + encodeURIComponent(e.message));
res.redirect('/v2/app?error=' + encodeURIComponent(e.message) + qs);
}
});
+3 -1
View File
@@ -239,11 +239,13 @@
<td style="text-align:center;">
<% if (!e.deleted_at) { %>
<form method="POST" action="/v2/app/delete/<%= e.id %>" style="display:inline;">
<input type="hidden" name="deleted" value="<%= includeDeleted ? '1' : '0' %>">
<button type="submit" class="btn btn-sm btn-danger" onclick="return confirm('Удалить?')" title="Удалить">🗑️</button>
</form>
<% } else { %>
<form method="POST" action="/v2/app/restore/<%= e.id %>" style="display:inline;">
<button type="submit" class="btn btn-sm" title="Восстановить">↺</button>
<input type="hidden" name="deleted" value="<%= includeDeleted ? '1' : '0' %>">
<button type="submit" class="btn btn-sm" title="Восстановить" style="color:var(--green);border-color:var(--green);">↺</button>
</form>
<% } %>
</td>