@nestarc/audit-log
Classes
AuditContext
Defined in: src/services/audit-context.ts:10
Constructors
Constructor
new AuditContext(): AuditContext;Returns
Methods
getActionOverride()
static getActionOverride(): string | undefined;Defined in: src/services/audit-context.ts:29
Returns
string | undefined
getActor()
static getActor(): AuditActor | null;Defined in: src/services/audit-context.ts:21
Returns
AuditActor | null
getStore()
static getStore(): AuditContextStore | undefined;Defined in: src/services/audit-context.ts:17
Returns
AuditContextStore | undefined
isNoAudit()
static isNoAudit(): boolean;Defined in: src/services/audit-context.ts:25
Returns
boolean
run()
static run<T>(store, fn): T;Defined in: src/services/audit-context.ts:13
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
store | AuditContextStore |
fn | () => T |
Returns
T
AuditLogModule
Defined in: src/audit-log.module.ts:18
Implements
NestModule
Constructors
Constructor
new AuditLogModule(): AuditLogModule;Returns
Methods
configure()
configure(consumer): void;Defined in: src/audit-log.module.ts:19
Parameters
| Parameter | Type |
|---|---|
consumer | MiddlewareConsumer |
Returns
void
Implementation of
NestModule.configureforRoot()
static forRoot(options): DynamicModule;Defined in: src/audit-log.module.ts:23
Parameters
| Parameter | Type |
|---|---|
options | AuditLogModuleOptions |
Returns
DynamicModule
forRootAsync()
static forRootAsync(options): DynamicModule;Defined in: src/audit-log.module.ts:37
Parameters
| Parameter | Type |
|---|---|
options | AuditLogModuleAsyncOptions |
Returns
DynamicModule
AuditService
Defined in: src/services/audit.service.ts:15
Constructors
Constructor
new AuditService(options): AuditService;Defined in: src/services/audit.service.ts:16
Parameters
| Parameter | Type |
|---|---|
options | AuditLogModuleOptions |
Returns
Methods
log()
log(input, tx?): Promise<void>;Defined in: src/services/audit.service.ts:21
Parameters
| Parameter | Type |
|---|---|
input | ManualAuditLogInput |
tx? | any |
Returns
Promise<void>
query()
query(options): Promise<AuditQueryResult>;Defined in: src/services/audit.service.ts:53
Parameters
| Parameter | Type |
|---|---|
options | AuditQueryOptions |
Returns
Promise<AuditQueryResult>
Interfaces
AuditActor
Defined in: src/interfaces/actor.interface.ts:1
Properties
id
id: string | null;Defined in: src/interfaces/actor.interface.ts:2
ip?
optional ip?: string;Defined in: src/interfaces/actor.interface.ts:4
type
type: "user" | "system" | "api_key";Defined in: src/interfaces/actor.interface.ts:3
AuditContextStore
Defined in: src/services/audit-context.ts:4
Properties
actionOverride?
optional actionOverride?: string;Defined in: src/services/audit-context.ts:7
actor
actor: AuditActor | null;Defined in: src/services/audit-context.ts:5
noAudit
noAudit: boolean;Defined in: src/services/audit-context.ts:6
AuditEntry
Defined in: src/interfaces/audit-entry.interface.ts:1
Properties
action
action: string;Defined in: src/interfaces/audit-entry.interface.ts:7
actorId
actorId: string | null;Defined in: src/interfaces/audit-entry.interface.ts:4
actorIp
actorIp: string | null;Defined in: src/interfaces/audit-entry.interface.ts:6
actorType
actorType: string;Defined in: src/interfaces/audit-entry.interface.ts:5
changes
changes:
| Record<string, {
after?: unknown;
before?: unknown;
}>
| null;Defined in: src/interfaces/audit-entry.interface.ts:11
createdAt
createdAt: Date;Defined in: src/interfaces/audit-entry.interface.ts:14
id
id: string;Defined in: src/interfaces/audit-entry.interface.ts:2
metadata
metadata: Record<string, unknown> | null;Defined in: src/interfaces/audit-entry.interface.ts:12
result
result: "success" | "failure";Defined in: src/interfaces/audit-entry.interface.ts:13
source
source: "auto" | "manual";Defined in: src/interfaces/audit-entry.interface.ts:10
targetId
targetId: string | null;Defined in: src/interfaces/audit-entry.interface.ts:9
targetType
targetType: string | null;Defined in: src/interfaces/audit-entry.interface.ts:8
tenantId
tenantId: string | null;Defined in: src/interfaces/audit-entry.interface.ts:3
AuditExtensionOptions
Defined in: src/prisma/audit-extension.ts:11
Properties
ignoredModels?
optional ignoredModels?: string[];Defined in: src/prisma/audit-extension.ts:13
primaryKey?
optional primaryKey?: Record<string, string>;Defined in: src/prisma/audit-extension.ts:16
Map of model name to primary key field name. Defaults to 'id'.
sensitiveFields?
optional sensitiveFields?: string[];Defined in: src/prisma/audit-extension.ts:14
trackedModels?
optional trackedModels?: string[];Defined in: src/prisma/audit-extension.ts:12
AuditLogModuleAsyncOptions
Defined in: src/interfaces/audit-log-options.interface.ts:11
Extends
Pick<ModuleMetadata,"imports">
Properties
imports?
optional imports?: (
| DynamicModule
| Type<any>
| Promise<DynamicModule>
| ForwardReference<any>)[];Defined in: node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.d.ts:18
Optional list of imported modules that export the providers which are required in this module.
Inherited from
Pick.importsinject?
optional inject?: any[];Defined in: src/interfaces/audit-log-options.interface.ts:16
useFactory
useFactory: (...args) =>
| AuditLogModuleOptions
| Promise<AuditLogModuleOptions>;Defined in: src/interfaces/audit-log-options.interface.ts:13
Parameters
| Parameter | Type |
|---|---|
...args | any[] |
Returns
| AuditLogModuleOptions | Promise<AuditLogModuleOptions>
AuditLogModuleOptions
Defined in: src/interfaces/audit-log-options.interface.ts:4
Properties
actorExtractor
actorExtractor: ActorExtractor;Defined in: src/interfaces/audit-log-options.interface.ts:6
prisma
prisma: any;Defined in: src/interfaces/audit-log-options.interface.ts:5
tenantRequired?
optional tenantRequired?: boolean;Defined in: src/interfaces/audit-log-options.interface.ts:8
When true, query() throws if tenant context is unavailable. Default: false
AuditQueryOptions
Defined in: src/interfaces/audit-entry.interface.ts:17
Properties
action?
optional action?: string;Defined in: src/interfaces/audit-entry.interface.ts:19
actorId?
optional actorId?: string;Defined in: src/interfaces/audit-entry.interface.ts:18
from?
optional from?: Date;Defined in: src/interfaces/audit-entry.interface.ts:22
limit?
optional limit?: number;Defined in: src/interfaces/audit-entry.interface.ts:24
offset?
optional offset?: number;Defined in: src/interfaces/audit-entry.interface.ts:25
targetId?
optional targetId?: string;Defined in: src/interfaces/audit-entry.interface.ts:21
targetType?
optional targetType?: string;Defined in: src/interfaces/audit-entry.interface.ts:20
to?
optional to?: Date;Defined in: src/interfaces/audit-entry.interface.ts:23
AuditQueryResult
Defined in: src/interfaces/audit-entry.interface.ts:28
Properties
entries
entries: AuditEntry[];Defined in: src/interfaces/audit-entry.interface.ts:29
total
total: number;Defined in: src/interfaces/audit-entry.interface.ts:30
ManualAuditLogInput
Defined in: src/interfaces/audit-entry.interface.ts:33
Properties
action
action: string;Defined in: src/interfaces/audit-entry.interface.ts:34
metadata?
optional metadata?: Record<string, unknown>;Defined in: src/interfaces/audit-entry.interface.ts:37
result?
optional result?: "success" | "failure";Defined in: src/interfaces/audit-entry.interface.ts:38
targetId?
optional targetId?: string;Defined in: src/interfaces/audit-entry.interface.ts:35
targetType?
optional targetType?: string;Defined in: src/interfaces/audit-entry.interface.ts:36
Type Aliases
ActorExtractor
type ActorExtractor = (req) => AuditActor;Defined in: src/interfaces/actor.interface.ts:7
Parameters
| Parameter | Type |
|---|---|
req | any |
Returns
Variables
AUDIT_ACTION_KEY
const AUDIT_ACTION_KEY: "AUDIT_ACTION" = 'AUDIT_ACTION';Defined in: src/decorators/audit-action.decorator.ts:3
AUDIT_LOG_OPTIONS
const AUDIT_LOG_OPTIONS: typeof AUDIT_LOG_OPTIONS;Defined in: src/audit-log.constants.ts:1
NO_AUDIT_KEY
const NO_AUDIT_KEY: "NO_AUDIT" = 'NO_AUDIT';Defined in: src/decorators/no-audit.decorator.ts:3
Functions
applyAuditTableSchema()
function applyAuditTableSchema(prisma): Promise<void>;Defined in: src/sql/index.ts:50
Execute the audit table schema SQL using a Prisma client. Runs each statement individually to work with Prisma's prepared statement limit.
Parameters
| Parameter | Type |
|---|---|
prisma | any |
Returns
Promise<void>
AuditAction()
function AuditAction(action): CustomDecorator<string>;Defined in: src/decorators/audit-action.decorator.ts:4
Parameters
| Parameter | Type |
|---|---|
action | string |
Returns
CustomDecorator<string>
createAuditExtension()
function createAuditExtension(options): any;Defined in: src/prisma/audit-extension.ts:119
Parameters
| Parameter | Type |
|---|---|
options | AuditExtensionOptions |
Returns
any
getAuditTableSQL()
function getAuditTableSQL(): string;Defined in: src/sql/index.ts:4
Returns
string
getAuditTableStatements()
function getAuditTableStatements(): string[];Defined in: src/sql/index.ts:13
Split the audit table SQL into individual executable statements. Handles PL/pgSQL DO blocks ($$...$$) that contain inner semicolons. Useful because Prisma's $executeRawUnsafe cannot run multiple statements at once.
Returns
string[]
NoAudit()
function NoAudit(): CustomDecorator<string>;Defined in: src/decorators/no-audit.decorator.ts:4
Returns
CustomDecorator<string>