mirror of
https://gitlab.com/PronounsPage/PronounsPage.git
synced 2025-09-08 06:51:43 -04:00
19 lines
620 B
TypeScript
19 lines
620 B
TypeScript
import SQL from 'sql-template-strings';
|
|
import { ulid } from 'ulid';
|
|
import type { Request } from 'express';
|
|
|
|
export default async (
|
|
req: Pick<Request, 'db' | 'user' | 'rawUser'>,
|
|
event: string,
|
|
payload: object | null = null,
|
|
): Promise<void> => {
|
|
try {
|
|
const user = req.user || req.rawUser || { id: null, username: null };
|
|
await req.db.get(SQL`INSERT INTO audit_log (id, userId, username, event, payload) VALUES (
|
|
${ulid()}, ${user.id}, ${user.username}, ${event}, ${payload ? JSON.stringify(payload) : null}
|
|
)`);
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
};
|