Référence d'API — @nodefony/security — audit
stable
Documentation › Référence d’API › @nodefony/security › audit
Générée depuis les déclarations de types publiées de
@nodefony/security10.0.0-beta.5 : exactement ce que reçoit une application qui l’installe. Cette page n’existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.
@nodefony/security#
import { … } from "@nodefony/security" — 10 symboles.
Classes (1)#
MemoryAuditStore#
class MemoryAuditStore implements IAuditStore
Journal d’audit en mémoire — implémentation de référence d’IAuditStore.
constructor(now?: () => number, retentionMs?: number, maxEntries?: number)append(event: IAuditEvent): Promise<void>— Ajoute un événement (immuable, jamais modifié ensuite).listPage(query: IAuditListQuery): Promise<IPage<IAuditEvent>>— Lit une page d’événements filtrés, du plus récent au plus ancien — l’implémentation ne matérialise jamais plus quelimitévénements.gc(now?: number): Promise<number>— Purge les événements au-delà de la fenêtre de rétention.get size(): number— Nombre d’événements actuellement retenus (introspection / tests).snapshot(): AuditStoreSnapshot— Instantané sérialisable de l’état courant.restore(snapshot: AuditStoreSnapshot): void— Remplace l’état par celui d’un instantané.
Fonctions (5)#
getAuditStoreFactory#
function getAuditStoreFactory(name: string): AuditStoreFactory
Fabrique d’un store par nom, ou undefined si inconnu.
listAuditStores#
function listAuditStores(): string[]
Noms enregistrés (validation boot, introspection Studio, tests).
readAuditContext#
function readAuditContext(context: unknown): AuditContextInfo
Extrait IP / User-Agent / requestId + drapeaux de présence (jamais la valeur) d’un contexte de requête — pour enrichir un événement d’audit avec la provenance (« d’où vient cette tentative »). Calque JsonAuditLogger.
recordAudit#
function recordAudit(container: Container | null, event: IAuditEventDraft): void
Émet un événement d’audit si le service est présent — no-op sinon. La résolution se fait par le container (auditService) sur le cold-path (login, refus, révocation) : le coût d’un Map.get y est négligeable, et le journal reste découplé (module audit absent ou désactivé → aucun effet, jamais d’exception qui remonterait dans le flux métier).
registerAuditStore#
function registerAuditStore(name: string, factory: AuditStoreFactory): void
Enregistre (ou remplace) la fabrique d’un store d’audit. Appelée par le builtin memory au chargement, et par les adapters (drizzle/mongoose/redis) pour les leurs.
Interfaces (3)#
AuditContextInfo#
interface AuditContextInfo
Métadonnées de provenance extraites d’un contexte, prêtes à enrichir un événement.
ip: string | nulluserAgent: string | nullrequestId: string | nullflags: IAuditEventFlags
AuditStoreSnapshot#
interface AuditStoreSnapshot
Instantané sérialisable du journal mémoire (persistance fichier + tests).
events: IAuditEvent[]
IAuditStoreFactoryContext#
interface IAuditStoreFactoryContext
Contexte passé à une fabrique de store d’audit : de quoi se construire (résolutions coûteuses en lazy à l’intérieur de l’instance).
readonly container: Container— Container DI — résolution de services (ORM, redis…).readonly config: ISecurityConfig— Config sécurité validée + gelée.
Types (1)#
AuditStoreFactory#
type AuditStoreFactory = (ctx: IAuditStoreFactoryContext) => IAuditStore
Fabrique d’un store d’audit pour un nom donné.