feat: improve learning and platform operations
This commit is contained in:
18
server/src/audit.ts
Normal file
18
server/src/audit.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { pool } from './db/pool.js';
|
||||
|
||||
type AuditInput = {
|
||||
actorId: string;
|
||||
action: string;
|
||||
subjectType: string;
|
||||
subjectId?: string;
|
||||
metadata?: Record<string, unknown>;
|
||||
ipAddress?: string;
|
||||
};
|
||||
|
||||
export const recordAudit = async (input: AuditInput) => {
|
||||
await pool.query(
|
||||
`insert into audit_logs (actor_id, action, subject_type, subject_id, metadata, ip_address)
|
||||
values ($1, $2, $3, $4::uuid, $5::jsonb, $6::inet)`,
|
||||
[input.actorId, input.action, input.subjectType, input.subjectId ?? null, JSON.stringify(input.metadata ?? {}), input.ipAddress ?? null],
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user