feat(admin): журнал аудита с ротацией и апгрейд таблицы пользователей
Build and Push Auth Portal Docker Image / build-and-push (push) Successful in 1m37s
Build and Push Auth Portal Docker Image / create-release (push) Skipped

Добавлен audit log (solution-users-6) с retention N дней и hourly purge; таблица пользователей приведена к DNA solution-users-1 (Filters, avatar, sorting).

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Denozordec
2026-07-21 04:20:47 +07:00
co-authored by Cursor
parent e430abe98b
commit 26fc8253c3
30 changed files with 2959 additions and 59 deletions
+10
View File
@@ -27,6 +27,8 @@ import { randomUUID } from 'node:crypto'
import type { AppConfig } from './config.js'
import { authRoutes } from './routes/auth.js'
import { adminRoutes } from './routes/admin.js'
import { auditAdminRoutes } from './routes/audit.js'
import { startAuditRetentionJob } from './services/audit-retention.js'
declare module 'fastify' {
interface FastifyInstance {
@@ -116,6 +118,14 @@ export async function buildApp(opts: {
await ensureBootstrapAdmin(app)
await app.register(authRoutes)
await app.register(adminRoutes)
await app.register(auditAdminRoutes)
if (process.env.NODE_ENV !== 'test') {
const stopRetention = startAuditRetentionJob(app)
app.addHook('onClose', async () => {
stopRetention()
})
}
if (config.staticDir && existsSync(config.staticDir)) {
await app.register(fastifyStatic, {