feat(center): add audit logs for auth and node operations

This commit is contained in:
nav
2026-05-12 08:57:34 +00:00
parent 7f68a09486
commit 7270256587
8 changed files with 131 additions and 3 deletions

View File

@@ -15,6 +15,7 @@ import {
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { GuildNode } from '../entities/guild-node.entity';
import { AuditService } from '../audit/audit.service';
import { RegisterNodeDto } from './dto.register-node.dto';
import { UpdateNodeStatusDto } from './dto.update-node-status.dto';
@@ -23,6 +24,7 @@ export class NodesController {
constructor(
@InjectRepository(GuildNode)
private readonly nodeRepo: Repository<GuildNode>,
private readonly audit: AuditService,
) {}
@Post('register')
@@ -52,6 +54,12 @@ export class NodesController {
status: 'active',
});
const saved = await this.nodeRepo.save(node);
await this.audit.write({
action: 'node.register',
targetType: 'node',
targetId: saved.nodeId,
detail: JSON.stringify({ endpoint: saved.endpoint }),
});
return {
status: 'accepted',
@@ -78,6 +86,12 @@ export class NodesController {
}
const saved = await this.nodeRepo.save(node);
await this.audit.write({
action: 'node.heartbeat',
targetType: 'node',
targetId: saved.nodeId,
detail: JSON.stringify({ status: saved.status }),
});
return {
status: 'ok',
nodeId: saved.nodeId,
@@ -98,6 +112,12 @@ export class NodesController {
node.status = body.status;
const saved = await this.nodeRepo.save(node);
await this.audit.write({
action: 'node.status.update',
targetType: 'node',
targetId: saved.nodeId,
detail: JSON.stringify({ status: saved.status }),
});
return {
id: saved.id,
nodeId: saved.nodeId,