1. Изменение лимитов (Баг 1): добавлен CSRF-токен в форму /v2/admin/limit
- v2/src/admin/index.js: createAdminRouter принимает {generateCsrfToken},
передаёт csrfToken в шаблон admin.ejs
- views/v2/admin.ejs: скрытое поле <input name=_csrf> в форме лимита
2. Журнал операций (Баг 2): пагинация + фильтр по дате вместо хардкод LIMIT 500
- v2/src/db/queries.js: getAudit({companyId,days,page,limit}) —
COUNT(*) OVER() для пагинации, WHERE created_at > NOW() - INTERVAL
- v2/src/admin/index.js: чтение days/page из query string, limit=100
- views/v2/admin-audit.ejs: фильтр 30/90/365 дней, prev/next пагинация
3. Кнопка Выйти (Баг 3): скрыта, т.к. /v2/logout не разлогинивает из Keycloak
- views/v2/user.ejs: кнопка закомментирована с пояснением
v0.1.8 → v0.1.9
29 lines
691 B
JSON
29 lines
691 B
JSON
{
|
|
"name": "ipwhitelist",
|
|
"version": "0.1.9",
|
|
"description": "IP WhiteList microservice for cloud provider",
|
|
"main": "server.js",
|
|
"scripts": {
|
|
"start": "node server.js",
|
|
"dev": "node --watch server.js",
|
|
"test": "node tests/api.js",
|
|
"test:stress": "node tests/stress.js"
|
|
},
|
|
"dependencies": {
|
|
"connect-pg-simple": "^10.0.0",
|
|
"cookie-parser": "^1.4.7",
|
|
"csrf-csrf": "^4.0.3",
|
|
"dotenv": "^16.4.7",
|
|
"ejs": "^3.1.10",
|
|
"express": "^4.21.1",
|
|
"express-rate-limit": "^8.5.2",
|
|
"express-session": "^1.19.0",
|
|
"helmet": "^8.2.0",
|
|
"jsonwebtoken": "^9.0.3",
|
|
"pg": "^8.13.1"
|
|
},
|
|
"devDependencies": {
|
|
"supertest": "^7.2.2"
|
|
}
|
|
}
|