feat(audit): extensible event type system with shared constants

This commit is contained in:
SnapOtter
2026-06-13 16:27:53 +08:00
parent 5d2f520d78
commit 37b2b9c2ee
3 changed files with 49 additions and 26 deletions
+37
View File
@@ -0,0 +1,37 @@
export const CORE_AUDIT_EVENTS = [
"LOGIN_SUCCESS",
"LOGIN_FAILED",
"LOGOUT",
"PASSWORD_CHANGED",
"PASSWORD_RESET",
"USER_CREATED",
"USER_DELETED",
"USER_UPDATED",
"FILE_UPLOADED",
"FILE_DELETED",
"API_KEY_CREATED",
"API_KEY_DELETED",
"ROLE_CREATED",
"ROLE_UPDATED",
"ROLE_DELETED",
"SETTINGS_UPDATED",
"OIDC_LOGIN_SUCCESS",
"OIDC_USER_CREATED",
"OIDC_USER_LINKED",
"OIDC_LOGIN_FAILED",
"TOOL_EXECUTED",
"BATCH_EXECUTED",
"PIPELINE_EXECUTED",
] as const;
export type CoreAuditEvent = (typeof CORE_AUDIT_EVENTS)[number];
export const ALL_AUDIT_EVENTS = [...CORE_AUDIT_EVENTS] as string[];
export function registerAuditEvents(events: string[]) {
for (const e of events) {
if (!ALL_AUDIT_EVENTS.includes(e)) {
ALL_AUDIT_EVENTS.push(e);
}
}
}
+1
View File
@@ -1,6 +1,7 @@
export * from "./analytics/consent.js";
export * from "./analytics/events.js";
export * from "./analytics/types.js";
export * from "./audit-events.js";
export * from "./constants.js";
export * from "./features.js";
export * from "./i18n/index.js";