Skip to main content
zerotal

Documentation


Documentation / @zerotal/audit / AuditObserver

Class: AuditObserver

Defined in: audit/src/AuditObserver.ts:27

Observes ORM lifecycle hooks for an auditable model. Registered automatically by registerAudit() (via the Auditable mixin).

Implementation notes:

  • Config (auditOnly / auditExcept / auditType) and the logged type name are read from model.constructor PER EVENT, so a single observer serves every subclass and the concrete subclass's name + statics are always what get used.
  • saving captures old values BEFORE _original is patched by the ORM's save(); they're stashed in a WeakMap and consumed in updated.
  • toJSON() is used for create/delete snapshots; it honours hidden and skips internal ORM state automatically.

Implements

Constructors

Constructor

new AuditObserver(auditor): AuditObserver

Defined in: audit/src/AuditObserver.ts:31

Parameters

auditor

Auditor

Returns

AuditObserver

Methods

created()

created(model): Promise<void>

Defined in: audit/src/AuditObserver.ts:35

Parameters

model

AnyModel

Returns

Promise<void>

Implementation of

ModelObserver.created


saving()

saving(model): Promise<void>

Defined in: audit/src/AuditObserver.ts:49

Capture the CURRENT (pre-update) values before the ORM overwrites _original. Only the dirty-column keys are needed.

Parameters

model

AnyModel

Returns

Promise<void>

Implementation of

ModelObserver.saving


updated()

updated(model): Promise<void>

Defined in: audit/src/AuditObserver.ts:65

Parameters

model

AnyModel

Returns

Promise<void>

Implementation of

ModelObserver.updated


deleted()

deleted(model): Promise<void>

Defined in: audit/src/AuditObserver.ts:93

Parameters

model

AnyModel

Returns

Promise<void>

Implementation of

ModelObserver.deleted