@nestarc/audit-log
Published 0.7.0 API. Start with the runnable example, incremental adoption, or migration guidance. Signatures and source links below come from the immutable release.
Classes
AuditActorMiddleware
Defined in: src/middleware/audit-actor.middleware.ts:22
Implements
NestMiddleware
Constructors
Constructor
new AuditActorMiddleware(options): AuditActorMiddleware;Defined in: src/middleware/audit-actor.middleware.ts:23
Parameters
| Parameter | Type |
|---|---|
options | AuditLogModuleOptions |
Returns
Methods
use()
use(
req,
_res,
next): Promise<void>;Defined in: src/middleware/audit-actor.middleware.ts:28
Parameters
| Parameter | Type |
|---|---|
req | any |
_res | any |
next | () => void |
Returns
Promise<void>
Implementation of
NestMiddleware.useAuditContext
Defined in: src/services/audit-context.ts:12
Constructors
Constructor
new AuditContext(): AuditContext;Returns
Methods
getActionOverride()
static getActionOverride(): string | undefined;Defined in: src/services/audit-context.ts:35
Returns
string | undefined
getActor()
static getActor(): AuditActor | null;Defined in: src/services/audit-context.ts:27
Returns
AuditActor | null
getMetadata()
static getMetadata(): Record<string, unknown> | undefined;Defined in: src/services/audit-context.ts:48
Returns
Record<string, unknown> | undefined
getReason()
static getReason(): string | undefined;Defined in: src/services/audit-context.ts:58
Returns
string | undefined
getStore()
static getStore(): AuditContextStore | undefined;Defined in: src/services/audit-context.ts:23
Returns
AuditContextStore | undefined
isNoAudit()
static isNoAudit(): boolean;Defined in: src/services/audit-context.ts:31
Returns
boolean
run()
static run<T>(store, fn): T;Defined in: src/services/audit-context.ts:15
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
store | AuditContextStore |
fn | () => T |
Returns
T
runAs()
static runAs<T>(actor, fn): T;Defined in: src/services/audit-context.ts:19
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
actor | AuditActor |
fn | () => T |
Returns
T
setMetadata()
static setMetadata(metadata): void;Defined in: src/services/audit-context.ts:39
Parameters
| Parameter | Type |
|---|---|
metadata | Record<string, unknown> |
Returns
void
setReason()
static setReason(reason): void;Defined in: src/services/audit-context.ts:52
Parameters
| Parameter | Type |
|---|---|
reason | string |
Returns
void
AuditInterceptor
Defined in: src/interceptors/audit.interceptor.ts:16
Implements
NestInterceptor
Constructors
Constructor
new AuditInterceptor(reflector): AuditInterceptor;Defined in: src/interceptors/audit.interceptor.ts:17
Parameters
| Parameter | Type |
|---|---|
reflector | Reflector |
Returns
Methods
intercept()
intercept(context, next): Observable<any>;Defined in: src/interceptors/audit.interceptor.ts:19
Method to implement a custom interceptor.
Parameters
| Parameter | Type | Description |
|---|---|---|
context | ExecutionContext | an ExecutionContext object providing methods to access the route handler and class about to be invoked. |
next | CallHandler | a reference to the CallHandler, which provides access to an Observable representing the response stream from the route handler. |
Returns
Observable<any>
Implementation of
NestInterceptor.interceptAuditLogModule
Defined in: src/audit-log.module.ts:22
Implements
NestModule
Constructors
Constructor
new AuditLogModule(options): AuditLogModule;Defined in: src/audit-log.module.ts:23
Parameters
| Parameter | Type |
|---|---|
options | AuditLogModuleOptions |
Returns
Methods
configure()
configure(consumer): void;Defined in: src/audit-log.module.ts:28
Parameters
| Parameter | Type |
|---|---|
consumer | MiddlewareConsumer |
Returns
void
Implementation of
NestModule.configureforRoot()
static forRoot(options): DynamicModule;Defined in: src/audit-log.module.ts:35
Parameters
| Parameter | Type |
|---|---|
options | AuditLogModuleOptions |
Returns
DynamicModule
forRootAsync()
static forRootAsync(options): DynamicModule;Defined in: src/audit-log.module.ts:54
Parameters
| Parameter | Type |
|---|---|
options | AuditLogModuleAsyncOptions |
Returns
DynamicModule
AuditService
Defined in: src/services/audit.service.ts:49
Constructors
Constructor
new AuditService(options): AuditService;Defined in: src/services/audit.service.ts:57
Parameters
| Parameter | Type |
|---|---|
options | AuditLogModuleOptions |
Returns
Methods
exportCsv()
exportCsv(options): Readable;Defined in: src/services/audit.service.ts:190
Parameters
| Parameter | Type |
|---|---|
options | AuditCsvOptions |
Returns
Readable
getById()
getById(id, options?): Promise<AuditEntry | null>;Defined in: src/services/audit.service.ts:179
Parameters
| Parameter | Type |
|---|---|
id | string |
options | AuditGetByIdOptions |
Returns
Promise<AuditEntry | null>
log()
log(input, tx?): Promise<void>;Defined in: src/services/audit.service.ts:85
Parameters
| Parameter | Type |
|---|---|
input | ManualAuditLogInput |
tx? | any |
Returns
Promise<void>
prune()
prune(options): Promise<AuditPruneResult>;Defined in: src/services/audit.service.ts:196
Parameters
| Parameter | Type |
|---|---|
options | AuditPruneOptions |
Returns
Promise<AuditPruneResult>
query()
query(options): Promise<AuditQueryResult>;Defined in: src/services/audit.service.ts:175
Parameters
| Parameter | Type |
|---|---|
options | AuditQueryOptions |
Returns
Promise<AuditQueryResult>
scan()
scan(options): AsyncIterable<AuditScanPage>;Defined in: src/services/audit.service.ts:186
Parameters
| Parameter | Type |
|---|---|
options | AuditScanOptions |
Returns
AsyncIterable<AuditScanPage>
AuditStreamDeliveryError
Defined in: src/stream/audit-stream.ts:79
Extends
Error
Constructors
Constructor
new AuditStreamDeliveryError(message, options): AuditStreamDeliveryError;Defined in: src/stream/audit-stream.ts:84
Parameters
| Parameter | Type |
|---|---|
message | string |
options | { cause?: unknown; retryAfterMs?: number; status?: number; terminal: boolean; } |
options.cause? | unknown |
options.retryAfterMs? | number |
options.status? | number |
options.terminal | boolean |
Returns
Overrides
Error.constructorProperties
cause?
optional cause?: unknown;Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26
Inherited from
Error.causemessage
message: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077
Inherited from
Error.messagename
name: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076
Inherited from
Error.nameretryAfterMs?
readonly optional retryAfterMs?: number;Defined in: src/stream/audit-stream.ts:82
stack?
optional stack?: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078
Inherited from
Error.stackstackTraceLimit
static stackTraceLimit: number;Defined in: node_modules/@types/node/globals.d.ts:67
The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).
The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.
If set to a non-number value, or set to a negative number, stack traces will not capture any frames.
Inherited from
Error.stackTraceLimitstatus?
readonly optional status?: number;Defined in: src/stream/audit-stream.ts:81
terminal
readonly terminal: boolean;Defined in: src/stream/audit-stream.ts:80
Methods
captureStackTrace()
static captureStackTrace(targetObject, constructorOpt?): void;Defined in: node_modules/@types/node/globals.d.ts:51
Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.
The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.
The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();Parameters
| Parameter | Type |
|---|---|
targetObject | object |
constructorOpt? | Function |
Returns
void
Inherited from
Error.captureStackTraceprepareStackTrace()
static prepareStackTrace(err, stackTraces): any;Defined in: node_modules/@types/node/globals.d.ts:55
Parameters
| Parameter | Type |
|---|---|
err | Error |
stackTraces | CallSite[] |
Returns
any
See
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
Inherited from
Error.prepareStackTraceAuditStreamRunner
Defined in: src/stream/audit-stream.ts:104
Constructors
Constructor
new AuditStreamRunner(auditService, options): AuditStreamRunner;Defined in: src/stream/audit-stream.ts:105
Parameters
| Parameter | Type |
|---|---|
auditService | Pick<AuditService, "scan"> |
options | AuditStreamRunnerOptions |
Returns
Methods
runOnce()
runOnce(input?): Promise<AuditStreamRunResult>;Defined in: src/stream/audit-stream.ts:112
Parameters
| Parameter | Type |
|---|---|
input | { signal?: AbortSignal; } |
input.signal? | AbortSignal |
Returns
Promise<AuditStreamRunResult>
DatadogAuditStreamSink
Defined in: src/stream/provider-sinks.ts:19
Implements
Constructors
Constructor
new DatadogAuditStreamSink(options): DatadogAuditStreamSink;Defined in: src/stream/provider-sinks.ts:22
Parameters
| Parameter | Type |
|---|---|
options | DatadogAuditStreamSinkOptions |
Returns
Methods
deliver()
deliver(entries, context): Promise<void>;Defined in: src/stream/provider-sinks.ts:44
Parameters
| Parameter | Type |
|---|---|
entries | readonly AuditEntry[] |
context | AuditStreamBatchContext |
Returns
Promise<void>
Implementation of
HttpAuditStreamSink
Defined in: src/stream/http-sink.ts:22
Implements
Constructors
Constructor
new HttpAuditStreamSink(options): HttpAuditStreamSink;Defined in: src/stream/http-sink.ts:23
Parameters
| Parameter | Type |
|---|---|
options | HttpAuditStreamSinkOptions |
Returns
Methods
deliver()
deliver(entries, context): Promise<void>;Defined in: src/stream/http-sink.ts:35
Parameters
| Parameter | Type |
|---|---|
entries | readonly AuditEntry[] |
context | AuditStreamBatchContext |
Returns
Promise<void>
Implementation of
ObjectStorageAuditStreamSink
Defined in: src/stream/provider-sinks.ts:115
Implements
Constructors
Constructor
new ObjectStorageAuditStreamSink(options): ObjectStorageAuditStreamSink;Defined in: src/stream/provider-sinks.ts:116
Parameters
| Parameter | Type |
|---|---|
options | ObjectStorageAuditStreamSinkOptions |
Returns
Methods
deliver()
deliver(entries, context): Promise<void>;Defined in: src/stream/provider-sinks.ts:122
Parameters
| Parameter | Type |
|---|---|
entries | readonly AuditEntry[] |
context | AuditStreamBatchContext |
Returns
Promise<void>
Implementation of
PostgresAuditStreamStore
Defined in: src/stream/postgres-store.ts:23
Implements
Constructors
Constructor
new PostgresAuditStreamStore(options): PostgresAuditStreamStore;Defined in: src/stream/postgres-store.ts:30
Parameters
| Parameter | Type |
|---|---|
options | PostgresAuditStreamStoreOptions |
Returns
Methods
load()
load(streamId): Promise<AuditStreamState | null>;Defined in: src/stream/postgres-store.ts:40
Parameters
| Parameter | Type |
|---|---|
streamId | string |
Returns
Promise<AuditStreamState | null>
Implementation of
AuditStreamCheckpointStore.load
save()
save(streamId, state): Promise<void>;Defined in: src/stream/postgres-store.ts:51
Parameters
| Parameter | Type |
|---|---|
streamId | string |
state | AuditStreamState |
Returns
Promise<void>
Implementation of
AuditStreamCheckpointStore.save
write()
write(deadLetter): Promise<void>;Defined in: src/stream/postgres-store.ts:65
Parameters
| Parameter | Type |
|---|---|
deadLetter | AuditStreamDeadLetter |
Returns
Promise<void>
Implementation of
AuditStreamDeadLetterStore.write
SplunkAuditStreamSink
Defined in: src/stream/provider-sinks.ts:66
Implements
Constructors
Constructor
new SplunkAuditStreamSink(options): SplunkAuditStreamSink;Defined in: src/stream/provider-sinks.ts:69
Parameters
| Parameter | Type |
|---|---|
options | SplunkAuditStreamSinkOptions |
Returns
Methods
deliver()
deliver(entries, context): Promise<void>;Defined in: src/stream/provider-sinks.ts:92
Parameters
| Parameter | Type |
|---|---|
entries | readonly AuditEntry[] |
context | AuditStreamBatchContext |
Returns
Promise<void>
Implementation of
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
AuditCapabilities
Defined in: src/prisma/audit-extension/audit-types.ts:7
Properties
atomicLifecycle
readonly atomicLifecycle: boolean;Defined in: src/prisma/audit-extension/audit-types.ts:9
consistency
readonly consistency: AuditConsistency;Defined in: src/prisma/audit-extension/audit-types.ts:8
AuditCapabilityMethods
Defined in: src/prisma/audit-extension/audit-types.ts:12
Methods
getAuditCapabilities()
getAuditCapabilities(): AuditCapabilities;Defined in: src/prisma/audit-extension/audit-types.ts:13
Returns
AuditConfig
Defined in: src/define-audit-config.ts:33
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends AuditExtensionOptions | undefined | AuditExtensionOptions | undefined |
Properties
extensionOptions
extensionOptions: T;Defined in: src/define-audit-config.ts:35
moduleOptions
moduleOptions: Omit<AuditLogModuleOptions, "prisma">;Defined in: src/define-audit-config.ts:34
partitionOptions
partitionOptions: Pick<EnsurePartitionsOptions, "tableName">;Defined in: src/define-audit-config.ts:37
schemaOptions
schemaOptions: AuditTableSQLOptions;Defined in: src/define-audit-config.ts:36
AuditConfigInput
Defined in: src/define-audit-config.ts:26
Properties
extension?
optional extension?: AuditConfigExtensionOptions;Defined in: src/define-audit-config.ts:29
module
module: AuditConfigModuleOptions;Defined in: src/define-audit-config.ts:28
schema?
optional schema?: AuditConfigSchemaOptions;Defined in: src/define-audit-config.ts:30
shared?
optional shared?: AuditConfigSharedOptions;Defined in: src/define-audit-config.ts:27
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
metadata?
optional metadata?: Record<string, unknown>;Defined in: src/services/audit-context.ts:8
noAudit
noAudit: boolean;Defined in: src/services/audit-context.ts:6
reason?
optional reason?: string;Defined in: src/services/audit-context.ts:9
AuditDatabaseMapping
Defined in: src/prisma/audit-extension/audit-types.ts:46
Properties
primaryKeyColumn?
optional primaryKeyColumn?: string;Defined in: src/prisma/audit-extension/audit-types.ts:52
Database column for the configured logical primary key field.
schema?
optional schema?: string;Defined in: src/prisma/audit-extension/audit-types.ts:50
PostgreSQL schema name. Defaults to the connection's current schema.
tableName
tableName: string;Defined in: src/prisma/audit-extension/audit-types.ts:48
PostgreSQL table name used by the Prisma model.
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
AuditErrorContext
Defined in: src/interfaces/audit-shared-options.interface.ts:14
Properties
action?
optional action?: string;Defined in: src/interfaces/audit-shared-options.interface.ts:18
model?
optional model?: string;Defined in: src/interfaces/audit-shared-options.interface.ts:16
operation?
optional operation?: string;Defined in: src/interfaces/audit-shared-options.interface.ts:17
phase
phase: AuditErrorPhase;Defined in: src/interfaces/audit-shared-options.interface.ts:15
targetId?
optional targetId?: string | null;Defined in: src/interfaces/audit-shared-options.interface.ts:19
tenantId?
optional tenantId?: string | null;Defined in: src/interfaces/audit-shared-options.interface.ts:20
AuditExtensionOptions
Defined in: src/prisma/audit-extension/audit-types.ts:55
Options shared by the Nest module and Prisma extension. Runtime merging is intentionally not performed; pass the same object to both call sites or use defineAuditConfig() when both paths should share behavior.
Extends
Properties
actorRequired?
optional actorRequired?: boolean;Defined in: src/interfaces/audit-shared-options.interface.ts:31
Require a non-blank string actor ID for audit writes. Defaults to false.
Inherited from
AuditSharedOptions.actorRequired
batchOverflow?
optional batchOverflow?: AuditBatchOverflow;Defined in: src/prisma/audit-extension/audit-types.ts:81
Behavior when deleteMany matches more than maxBatchRecords. Defaults to reject. Summary overflow is available only in best-effort mode.
consistency
consistency: AuditConsistency;Defined in: src/prisma/audit-extension/audit-types.ts:60
atomic-required rejects tracked writes outside withAuditTransaction(). best-effort preserves the legacy non-atomic behavior.
databaseMapping?
optional databaseMapping?: Record<string, AuditDatabaseMapping>;Defined in: src/prisma/audit-extension/audit-types.ts:72
Database identifiers used for atomic row locks. Required for models that use Prisma mapping attributes when the generated Prisma namespace does not expose public DMMF mapping metadata.
ignoredModels?
optional ignoredModels?: string[];Defined in: src/prisma/audit-extension/audit-types.ts:62
ignoreTimestampOnlyUpdates?
optional ignoreTimestampOnlyUpdates?: boolean;Defined in: src/prisma/audit-extension/audit-types.ts:83
logFailures?
optional logFailures?: boolean;Defined in: src/prisma/audit-extension/audit-types.ts:82
logger?
optional logger?: AuditLogger;Defined in: src/interfaces/audit-shared-options.interface.ts:35
Inherited from
maxBatchRecords?
optional maxBatchRecords?: number;Defined in: src/prisma/audit-extension/audit-types.ts:76
Maximum records that deleteMany may audit individually. Defaults to 1000.
onAuditError?
optional onAuditError?: (error, ctx) => void;Defined in: src/interfaces/audit-shared-options.interface.ts:34
Parameters
| Parameter | Type |
|---|---|
error | unknown |
ctx | AuditErrorContext |
Returns
void
Inherited from
AuditSharedOptions.onAuditError
primaryKey?
optional primaryKey?: Record<string, string>;Defined in: src/prisma/audit-extension/audit-types.ts:66
Map of model name to primary key field name. Defaults to 'id'.
prismaModule?
optional prismaModule?: PrismaModuleLike;Defined in: src/prisma/audit-extension/audit-types.ts:84
sensitiveFields?
optional sensitiveFields?: string[];Defined in: src/prisma/audit-extension/audit-types.ts:63
sensitiveFieldsByModel?
optional sensitiveFieldsByModel?: Record<string, string[]>;Defined in: src/prisma/audit-extension/audit-types.ts:64
tableName?
optional tableName?: string;Defined in: src/interfaces/audit-shared-options.interface.ts:29
Inherited from
tenantRequired?
optional tenantRequired?: boolean;Defined in: src/interfaces/audit-shared-options.interface.ts:32
Inherited from
AuditSharedOptions.tenantRequired
tenantResolver?
optional tenantResolver?: () => string | null;Defined in: src/interfaces/audit-shared-options.interface.ts:33
Returns
string | null
Inherited from
AuditSharedOptions.tenantResolver
trackedModels?
optional trackedModels?: string[];Defined in: src/prisma/audit-extension/audit-types.ts:61
AuditGetByIdOptions
Defined in: src/interfaces/audit-entry.interface.ts:42
Properties
allTenants?
optional allTenants?: boolean;Defined in: src/interfaces/audit-entry.interface.ts:44
tenantId?
optional tenantId?: string;Defined in: src/interfaces/audit-entry.interface.ts:43
AuditLifecycleInput
Defined in: src/prisma/audit-extension/audit-types.ts:37
Properties
action
action: string;Defined in: src/prisma/audit-extension/audit-types.ts:39
Deterministic lifecycle action, for example User.softDeleted.
metadata?
optional metadata?: Record<string, unknown>;Defined in: src/prisma/audit-extension/audit-types.ts:41
Metadata merged into the ambient audit context for this mutation.
suppressOuterOperation?
optional suppressOuterOperation?: {
model: string;
operation: "delete" | "deleteMany";
};Defined in: src/prisma/audit-extension/audit-types.ts:43
Internal extension-composition signal for a rewritten outer operation.
model
model: string;operation
operation: "delete" | "deleteMany";AuditLogger
Defined in: src/interfaces/audit-shared-options.interface.ts:2
Minimal logger compatible with console and NestJS LoggerService.
Methods
error()
error(message): void;Defined in: src/interfaces/audit-shared-options.interface.ts:4
Parameters
| Parameter | Type |
|---|---|
message | string |
Returns
void
warn()
warn(message): void;Defined in: src/interfaces/audit-shared-options.interface.ts:3
Parameters
| Parameter | Type |
|---|---|
message | string |
Returns
void
AuditLogModuleAsyncOptions
Defined in: src/interfaces/audit-log-options.interface.ts:26
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:31
useFactory
useFactory: (...args) =>
| AuditLogModuleOptions
| Promise<AuditLogModuleOptions>;Defined in: src/interfaces/audit-log-options.interface.ts:28
Parameters
| Parameter | Type |
|---|---|
...args | any[] |
Returns
| AuditLogModuleOptions | Promise<AuditLogModuleOptions>
AuditLogModuleOptions
Defined in: src/interfaces/audit-log-options.interface.ts:7
Options shared by the Nest module and Prisma extension. Runtime merging is intentionally not performed; pass the same object to both call sites or use defineAuditConfig() when both paths should share behavior.
Extends
Properties
actorExtractionStage?
optional actorExtractionStage?: "middleware" | "interceptor";Defined in: src/interfaces/audit-log-options.interface.ts:16
When to invoke actorExtractor (once per request). Defaults to middleware. Choose interceptor when an authentication guard populates req.user. Interceptor extraction requires AuditInterceptor and runs after guards; writes inside guards therefore do not yet have an extracted actor.
actorExtractor
actorExtractor: ActorExtractor;Defined in: src/interfaces/audit-log-options.interface.ts:9
actorRequired?
optional actorRequired?: boolean;Defined in: src/interfaces/audit-shared-options.interface.ts:31
Require a non-blank string actor ID for audit writes. Defaults to false.
Inherited from
AuditSharedOptions.actorRequired
correlationIdGetter?
optional correlationIdGetter?: (req) => string | undefined;Defined in: src/interfaces/audit-log-options.interface.ts:23
Parameters
| Parameter | Type |
|---|---|
req | any |
Returns
string | undefined
correlationIdHeader?
optional correlationIdHeader?: string;Defined in: src/interfaces/audit-log-options.interface.ts:22
excludeRoutes?
optional excludeRoutes?: RouteInfo[];Defined in: src/interfaces/audit-log-options.interface.ts:20
logger?
optional logger?: AuditLogger;Defined in: src/interfaces/audit-shared-options.interface.ts:35
Inherited from
onAuditError?
optional onAuditError?: (error, ctx) => void;Defined in: src/interfaces/audit-shared-options.interface.ts:34
Parameters
| Parameter | Type |
|---|---|
error | unknown |
ctx | AuditErrorContext |
Returns
void
Inherited from
AuditSharedOptions.onAuditError
prisma
prisma: any;Defined in: src/interfaces/audit-log-options.interface.ts:8
prismaModule?
optional prismaModule?: PrismaModuleLike;Defined in: src/interfaces/audit-log-options.interface.ts:17
registerGlobalInterceptor?
optional registerGlobalInterceptor?: boolean;Defined in: src/interfaces/audit-log-options.interface.ts:21
sensitiveFields?
optional sensitiveFields?: string[];Defined in: src/interfaces/audit-log-options.interface.ts:18
sensitiveFieldsByModel?
optional sensitiveFieldsByModel?: Record<string, string[]>;Defined in: src/interfaces/audit-log-options.interface.ts:19
tableName?
optional tableName?: string;Defined in: src/interfaces/audit-shared-options.interface.ts:29
Inherited from
tenantRequired?
optional tenantRequired?: boolean;Defined in: src/interfaces/audit-shared-options.interface.ts:32
Inherited from
AuditSharedOptions.tenantRequired
tenantResolver?
optional tenantResolver?: () => string | null;Defined in: src/interfaces/audit-shared-options.interface.ts:33
Returns
string | null
Inherited from
AuditSharedOptions.tenantResolver
AuditObjectStorageClient
Defined in: src/stream/provider-sinks.ts:105
Methods
putObject()
putObject(input): Promise<void>;Defined in: src/stream/provider-sinks.ts:106
Parameters
| Parameter | Type |
|---|---|
input | AuditObjectStoragePutInput |
Returns
Promise<void>
AuditObjectStoragePutInput
Defined in: src/stream/provider-sinks.ts:97
Properties
body
body: string;Defined in: src/stream/provider-sinks.ts:99
contentType
contentType: string;Defined in: src/stream/provider-sinks.ts:100
ifNoneMatch
ifNoneMatch: "*";Defined in: src/stream/provider-sinks.ts:101
key
key: string;Defined in: src/stream/provider-sinks.ts:98
metadata
metadata: Record<string, string>;Defined in: src/stream/provider-sinks.ts:102
AuditPruneOptions
Defined in: src/services/audit.service.ts:26
Properties
client?
optional client?: any;Defined in: src/services/audit.service.ts:30
dryRun?
optional dryRun?: boolean;Defined in: src/services/audit.service.ts:29
maxWaitMs?
optional maxWaitMs?: number;Defined in: src/services/audit.service.ts:32
mode?
optional mode?: "drop" | "detach";Defined in: src/services/audit.service.ts:28
olderThan
olderThan: Date;Defined in: src/services/audit.service.ts:27
requiredCheckpoints?
optional requiredCheckpoints?: readonly string[];Defined in: src/services/audit.service.ts:37
Last ACKed checkpoints for every required stream. Pruning is rejected when it would pass any checkpoint and remove entries that stream has not ACKed.
timeoutMs?
optional timeoutMs?: number;Defined in: src/services/audit.service.ts:31
AuditPruneResult
Defined in: src/services/audit.service.ts:40
Properties
deletedRows
deletedRows: number | null;Defined in: src/services/audit.service.ts:44
dryRun
dryRun: boolean;Defined in: src/services/audit.service.ts:45
layout
layout: "partitioned" | "flat";Defined in: src/services/audit.service.ts:41
mode
mode: "drop" | "detach" | "delete";Defined in: src/services/audit.service.ts:42
prunedPartitions
prunedPartitions: string[];Defined in: src/services/audit.service.ts:43
AuditQueryOptions
Defined in: src/interfaces/audit-entry.interface.ts:17
Properties
action?
optional action?: string;Defined in: src/interfaces/audit-entry.interface.ts:20
actorId?
optional actorId?: string;Defined in: src/interfaces/audit-entry.interface.ts:18
actorType?
optional actorType?: string;Defined in: src/interfaces/audit-entry.interface.ts:19
allTenants?
optional allTenants?: boolean;Defined in: src/interfaces/audit-entry.interface.ts:30
cursor?
optional cursor?: string;Defined in: src/interfaces/audit-entry.interface.ts:31
from?
optional from?: Date;Defined in: src/interfaces/audit-entry.interface.ts:25
includeTotal?
optional includeTotal?: boolean;Defined in: src/interfaces/audit-entry.interface.ts:32
limit?
optional limit?: number;Defined in: src/interfaces/audit-entry.interface.ts:27
offset?
optional offset?: number;Defined in: src/interfaces/audit-entry.interface.ts:28
result?
optional result?: "success" | "failure";Defined in: src/interfaces/audit-entry.interface.ts:24
source?
optional source?: "auto" | "manual";Defined in: src/interfaces/audit-entry.interface.ts:23
targetId?
optional targetId?: string;Defined in: src/interfaces/audit-entry.interface.ts:22
targetType?
optional targetType?: string;Defined in: src/interfaces/audit-entry.interface.ts:21
tenantId?
optional tenantId?: string;Defined in: src/interfaces/audit-entry.interface.ts:29
to?
optional to?: Date;Defined in: src/interfaces/audit-entry.interface.ts:26
AuditQueryResult
Defined in: src/interfaces/audit-entry.interface.ts:35
Properties
entries
entries: AuditEntry[];Defined in: src/interfaces/audit-entry.interface.ts:36
hasMore
hasMore: boolean;Defined in: src/interfaces/audit-entry.interface.ts:39
nextCursor
nextCursor: string | null;Defined in: src/interfaces/audit-entry.interface.ts:38
total?
optional total?: number;Defined in: src/interfaces/audit-entry.interface.ts:37
AuditScanPage
Defined in: src/interfaces/audit-entry.interface.ts:64
Properties
checkpoint
checkpoint: string | null;Defined in: src/interfaces/audit-entry.interface.ts:66
entries
entries: AuditEntry[];Defined in: src/interfaces/audit-entry.interface.ts:65
highWatermark
highWatermark: string;Defined in: src/interfaces/audit-entry.interface.ts:67
AuditSharedOptions
Defined in: src/interfaces/audit-shared-options.interface.ts:28
Options shared by the Nest module and Prisma extension. Runtime merging is intentionally not performed; pass the same object to both call sites or use defineAuditConfig() when both paths should share behavior.
Extended by
Properties
actorRequired?
optional actorRequired?: boolean;Defined in: src/interfaces/audit-shared-options.interface.ts:31
Require a non-blank string actor ID for audit writes. Defaults to false.
logger?
optional logger?: AuditLogger;Defined in: src/interfaces/audit-shared-options.interface.ts:35
onAuditError?
optional onAuditError?: (error, ctx) => void;Defined in: src/interfaces/audit-shared-options.interface.ts:34
Parameters
| Parameter | Type |
|---|---|
error | unknown |
ctx | AuditErrorContext |
Returns
void
tableName?
optional tableName?: string;Defined in: src/interfaces/audit-shared-options.interface.ts:29
tenantRequired?
optional tenantRequired?: boolean;Defined in: src/interfaces/audit-shared-options.interface.ts:32
tenantResolver?
optional tenantResolver?: () => string | null;Defined in: src/interfaces/audit-shared-options.interface.ts:33
Returns
string | null
AuditStreamBatchContext
Defined in: src/stream/audit-stream.ts:14
Properties
attempt
attempt: number;Defined in: src/stream/audit-stream.ts:19
batchId
batchId: string;Defined in: src/stream/audit-stream.ts:16
checkpoint
checkpoint: string;Defined in: src/stream/audit-stream.ts:17
highWatermark
highWatermark: string;Defined in: src/stream/audit-stream.ts:18
streamId
streamId: string;Defined in: src/stream/audit-stream.ts:15
AuditStreamCheckpointStore
Defined in: src/stream/audit-stream.ts:9
Methods
load()
load(streamId): Promise<AuditStreamState | null>;Defined in: src/stream/audit-stream.ts:10
Parameters
| Parameter | Type |
|---|---|
streamId | string |
Returns
Promise<AuditStreamState | null>
save()
save(streamId, state): Promise<void>;Defined in: src/stream/audit-stream.ts:11
Parameters
| Parameter | Type |
|---|---|
streamId | string |
state | AuditStreamState |
Returns
Promise<void>
AuditStreamDeadLetter
Defined in: src/stream/audit-stream.ts:29
Properties
batchId
batchId: string;Defined in: src/stream/audit-stream.ts:31
checkpoint
checkpoint: string;Defined in: src/stream/audit-stream.ts:32
entries
entries: readonly AuditEntry[];Defined in: src/stream/audit-stream.ts:34
error
error: AuditStreamDeliveryError;Defined in: src/stream/audit-stream.ts:35
highWatermark
highWatermark: string;Defined in: src/stream/audit-stream.ts:33
streamId
streamId: string;Defined in: src/stream/audit-stream.ts:30
AuditStreamDeadLetterStore
Defined in: src/stream/audit-stream.ts:38
Methods
write()
write(deadLetter): Promise<void>;Defined in: src/stream/audit-stream.ts:39
Parameters
| Parameter | Type |
|---|---|
deadLetter | AuditStreamDeadLetter |
Returns
Promise<void>
AuditStreamErrorContext
Defined in: src/stream/audit-stream.ts:48
Properties
attempt
attempt: number;Defined in: src/stream/audit-stream.ts:52
batchId
batchId: string;Defined in: src/stream/audit-stream.ts:51
phase
phase: "delivery";Defined in: src/stream/audit-stream.ts:49
streamId
streamId: string;Defined in: src/stream/audit-stream.ts:50
terminal
terminal: boolean;Defined in: src/stream/audit-stream.ts:53
AuditStreamRunnerOptions
Defined in: src/stream/audit-stream.ts:56
Properties
checkpointStore
checkpointStore: AuditStreamCheckpointStore;Defined in: src/stream/audit-stream.ts:60
deadLetterStore?
optional deadLetterStore?: AuditStreamDeadLetterStore;Defined in: src/stream/audit-stream.ts:61
initialBackoffMs?
optional initialBackoffMs?: number;Defined in: src/stream/audit-stream.ts:63
maxBackoffMs?
optional maxBackoffMs?: number;Defined in: src/stream/audit-stream.ts:64
maxRetries?
optional maxRetries?: number;Defined in: src/stream/audit-stream.ts:62
onError?
optional onError?: (error, context) => void;Defined in: src/stream/audit-stream.ts:67
Parameters
| Parameter | Type |
|---|---|
error | unknown |
context | AuditStreamErrorContext |
Returns
void
onMetric?
optional onMetric?: (metric) => void;Defined in: src/stream/audit-stream.ts:66
Parameters
| Parameter | Type |
|---|---|
metric | AuditStreamMetric |
Returns
void
redact?
optional redact?: (entry) => AuditEntry;Defined in: src/stream/audit-stream.ts:65
Parameters
| Parameter | Type |
|---|---|
entry | Readonly<AuditEntry> |
Returns
scan
scan: Omit<AuditScanOptions, "after" | "until" | "signal">;Defined in: src/stream/audit-stream.ts:58
sink
sink: AuditStreamSink;Defined in: src/stream/audit-stream.ts:59
sleep?
optional sleep?: (delayMs, signal?) => Promise<void>;Defined in: src/stream/audit-stream.ts:68
Parameters
| Parameter | Type |
|---|---|
delayMs | number |
signal? | AbortSignal |
Returns
Promise<void>
streamId
streamId: string;Defined in: src/stream/audit-stream.ts:57
AuditStreamRunResult
Defined in: src/stream/audit-stream.ts:71
Properties
batches
batches: number;Defined in: src/stream/audit-stream.ts:75
checkpoint
checkpoint: string | null;Defined in: src/stream/audit-stream.ts:76
deadLetteredEntries
deadLetteredEntries: number;Defined in: src/stream/audit-stream.ts:74
deliveredEntries
deliveredEntries: number;Defined in: src/stream/audit-stream.ts:73
status
status: "delivered" | "idle";Defined in: src/stream/audit-stream.ts:72
AuditStreamSink
Defined in: src/stream/audit-stream.ts:22
Methods
deliver()
deliver(entries, context): Promise<void>;Defined in: src/stream/audit-stream.ts:23
Parameters
| Parameter | Type |
|---|---|
entries | readonly AuditEntry[] |
context | AuditStreamBatchContext |
Returns
Promise<void>
AuditStreamState
Defined in: src/stream/audit-stream.ts:4
Properties
checkpoint
checkpoint: string | null;Defined in: src/stream/audit-stream.ts:5
highWatermark
highWatermark: string | null;Defined in: src/stream/audit-stream.ts:6
AuditStreamStoreSQLOptions
Defined in: src/stream/postgres-store.ts:18
Properties
checkpointTable?
optional checkpointTable?: string;Defined in: src/stream/postgres-store.ts:19
deadLetterTable?
optional deadLetterTable?: string;Defined in: src/stream/postgres-store.ts:20
AuditTableSQLOptions
Defined in: src/sql/index.ts:3
Properties
enforcement?
optional enforcement?: "trigger" | "rule";Defined in: src/sql/index.ts:6
ginIndex?
optional ginIndex?: boolean;Defined in: src/sql/index.ts:7
partitioned?
optional partitioned?: boolean;Defined in: src/sql/index.ts:5
tableName?
optional tableName?: string;Defined in: src/sql/index.ts:4
AuditTransactionMethods
Defined in: src/prisma/audit-extension/audit-types.ts:26
Type Parameters
| Type Parameter |
|---|
TTransactionClient |
Methods
withAuditLifecycle()
withAuditLifecycle<TResult>(input, callback): Promise<TResult>;Defined in: src/prisma/audit-extension/audit-types.ts:31
Type Parameters
| Type Parameter |
|---|
TResult |
Parameters
| Parameter | Type |
|---|---|
input | AuditLifecycleInput |
callback | (tx) => Promise<TResult> |
Returns
Promise<TResult>
withAuditTransaction()
withAuditTransaction<TResult>(callback, options?): Promise<TResult>;Defined in: src/prisma/audit-extension/audit-types.ts:27
Type Parameters
| Type Parameter |
|---|
TResult |
Parameters
| Parameter | Type |
|---|---|
callback | (tx) => Promise<TResult> |
options? | AuditTransactionOptions |
Returns
Promise<TResult>
AuditTransactionOptions
Defined in: src/prisma/audit-extension/audit-types.ts:16
Properties
isolationLevel?
optional isolationLevel?: "ReadUncommitted" | "ReadCommitted" | "RepeatableRead" | "Serializable";Defined in: src/prisma/audit-extension/audit-types.ts:19
maxWait?
optional maxWait?: number;Defined in: src/prisma/audit-extension/audit-types.ts:17
timeout?
optional timeout?: number;Defined in: src/prisma/audit-extension/audit-types.ts:18
DatadogAuditStreamSinkOptions
Defined in: src/stream/provider-sinks.ts:9
Properties
apiKey
apiKey: string;Defined in: src/stream/provider-sinks.ts:11
fetch?
optional fetch?: (input, init?) => Promise<Response>;Defined in: src/stream/provider-sinks.ts:15
Parameters
| Parameter | Type |
|---|---|
input | string | URL | Request |
init? | RequestInit |
Returns
Promise<Response>
service?
optional service?: string;Defined in: src/stream/provider-sinks.ts:12
source?
optional source?: string;Defined in: src/stream/provider-sinks.ts:13
tags?
optional tags?: string;Defined in: src/stream/provider-sinks.ts:14
timeoutMs?
optional timeoutMs?: number;Defined in: src/stream/provider-sinks.ts:16
url
url: string;Defined in: src/stream/provider-sinks.ts:10
EnsurePartitionsOptions
Defined in: src/sql/index.ts:10
Properties
ahead?
optional ahead?: number;Defined in: src/sql/index.ts:12
tableName?
optional tableName?: string;Defined in: src/sql/index.ts:11
HttpAuditStreamSinkOptions
Defined in: src/stream/http-sink.ts:10
Properties
fetch?
optional fetch?: (input, init?) => Promise<Response>;Defined in: src/stream/http-sink.ts:14
Parameters
| Parameter | Type |
|---|---|
input | string | URL | Request |
init? | RequestInit |
Returns
Promise<Response>
format?
optional format?: AuditHttpStreamFormat;Defined in: src/stream/http-sink.ts:12
headers?
optional headers?: Record<string, string>;Defined in: src/stream/http-sink.ts:13
serialize?
optional serialize?: (entries, context) => {
body: string;
contentType: string;
};Defined in: src/stream/http-sink.ts:16
Parameters
| Parameter | Type |
|---|---|
entries | readonly AuditEntry[] |
context | AuditStreamBatchContext |
Returns
{
body: string;
contentType: string;
}| Name | Type | Defined in |
|---|---|---|
body | string | src/stream/http-sink.ts:19 |
contentType | string | src/stream/http-sink.ts:19 |
timeoutMs?
optional timeoutMs?: number;Defined in: src/stream/http-sink.ts:15
url
url: string;Defined in: src/stream/http-sink.ts:11
ManualAuditLogInput
Defined in: src/interfaces/audit-entry.interface.ts:77
Properties
action
action: string;Defined in: src/interfaces/audit-entry.interface.ts:78
metadata?
optional metadata?: Record<string, unknown>;Defined in: src/interfaces/audit-entry.interface.ts:81
result?
optional result?: "success" | "failure";Defined in: src/interfaces/audit-entry.interface.ts:82
targetId?
optional targetId?: string;Defined in: src/interfaces/audit-entry.interface.ts:79
targetType?
optional targetType?: string;Defined in: src/interfaces/audit-entry.interface.ts:80
ObjectStorageAuditStreamSinkOptions
Defined in: src/stream/provider-sinks.ts:109
Properties
client
client: AuditObjectStorageClient;Defined in: src/stream/provider-sinks.ts:110
isAlreadyExists?
optional isAlreadyExists?: (error) => boolean;Defined in: src/stream/provider-sinks.ts:112
Parameters
| Parameter | Type |
|---|---|
error | unknown |
Returns
boolean
prefix?
optional prefix?: string;Defined in: src/stream/provider-sinks.ts:111
PostgresAuditStreamStoreOptions
Defined in: src/stream/postgres-store.ts:11
Properties
checkpointTable?
optional checkpointTable?: string;Defined in: src/stream/postgres-store.ts:14
deadLetterTable?
optional deadLetterTable?: string;Defined in: src/stream/postgres-store.ts:15
prisma
prisma: any;Defined in: src/stream/postgres-store.ts:12
prismaModule?
optional prismaModule?: PrismaModuleLike;Defined in: src/stream/postgres-store.ts:13
PrismaModuleLike
Defined in: src/prisma/prisma-namespace.ts:1
Properties
Prisma
Prisma: {
defineExtension: (extension) => any;
dmmf?: {
datamodel?: {
models?: readonly {
dbName?: string | null;
fields?: readonly {
dbName?: ...;
isUpdatedAt?: ...;
kind?: ...;
name: ...;
type?: ...;
}[];
kind?: string;
name: string;
schema?: string | null;
}[];
};
};
empty?: unknown;
join?: (values, separator?, prefix?, suffix?) => unknown;
raw?: (value) => unknown;
sql?: (strings, ...values) => unknown;
};Defined in: src/prisma/prisma-namespace.ts:2
defineExtension
defineExtension: (extension) => any;Parameters
| Parameter | Type |
|---|---|
extension | any |
Returns
any
dmmf?
optional dmmf?: {
datamodel?: {
models?: readonly {
dbName?: string | null;
fields?: readonly {
dbName?: ...;
isUpdatedAt?: ...;
kind?: ...;
name: ...;
type?: ...;
}[];
kind?: string;
name: string;
schema?: string | null;
}[];
};
};dmmf.datamodel?
optional datamodel?: {
models?: readonly {
dbName?: string | null;
fields?: readonly {
dbName?: ...;
isUpdatedAt?: ...;
kind?: ...;
name: ...;
type?: ...;
}[];
kind?: string;
name: string;
schema?: string | null;
}[];
};dmmf.datamodel.models?
optional models?: readonly {
dbName?: string | null;
fields?: readonly {
dbName?: ...;
isUpdatedAt?: ...;
kind?: ...;
name: ...;
type?: ...;
}[];
kind?: string;
name: string;
schema?: string | null;
}[];empty?
optional empty?: unknown;join?
optional join?: (values, separator?, prefix?, suffix?) => unknown;Parameters
| Parameter | Type |
|---|---|
values | readonly any[] |
separator? | string |
prefix? | string |
suffix? | string |
Returns
unknown
raw?
optional raw?: (value) => unknown;Parameters
| Parameter | Type |
|---|---|
value | string |
Returns
unknown
sql?
optional sql?: (strings, ...values) => unknown;Parameters
| Parameter | Type |
|---|---|
strings | TemplateStringsArray | readonly string[] |
...values | any[] |
Returns
unknown
SplunkAuditStreamSinkOptions
Defined in: src/stream/provider-sinks.ts:55
Properties
fetch?
optional fetch?: (input, init?) => Promise<Response>;Defined in: src/stream/provider-sinks.ts:62
Parameters
| Parameter | Type |
|---|---|
input | string | URL | Request |
init? | RequestInit |
Returns
Promise<Response>
host?
optional host?: string;Defined in: src/stream/provider-sinks.ts:61
index?
optional index?: string;Defined in: src/stream/provider-sinks.ts:58
source?
optional source?: string;Defined in: src/stream/provider-sinks.ts:59
sourcetype?
optional sourcetype?: string;Defined in: src/stream/provider-sinks.ts:60
timeoutMs?
optional timeoutMs?: number;Defined in: src/stream/provider-sinks.ts:63
token
token: string;Defined in: src/stream/provider-sinks.ts:57
url
url: string;Defined in: src/stream/provider-sinks.ts:56
Type Aliases
ActorExtractor
type ActorExtractor = (req) =>
| AuditActor
| Promise<AuditActor>;Defined in: src/interfaces/actor.interface.ts:7
Parameters
| Parameter | Type |
|---|---|
req | any |
Returns
| AuditActor | Promise<AuditActor>
AuditBatchOverflow
type AuditBatchOverflow = "reject" | "summary";Defined in: src/prisma/audit-extension/audit-types.ts:5
AuditConfigExtensionOptions
type AuditConfigExtensionOptions = ExtensionSettings & Forbidden<keyof AuditConfigSharedOptions>;Defined in: src/define-audit-config.ts:21
AuditConfigModuleOptions
type AuditConfigModuleOptions = ModuleSettings & Forbidden<
| keyof AuditConfigSharedOptions
| "prisma">;Defined in: src/define-audit-config.ts:19
AuditConfigSchemaOptions
type AuditConfigSchemaOptions = SchemaSettings & Forbidden<keyof AuditConfigSharedOptions>;Defined in: src/define-audit-config.ts:23
AuditConfigSharedOptions
type AuditConfigSharedOptions = AuditSharedOptions & Pick<AuditLogModuleOptions, "prismaModule" | "sensitiveFields" | "sensitiveFieldsByModel">;Defined in: src/define-audit-config.ts:9
Settings applied to both manual and automatic audit paths.
AuditConsistency
type AuditConsistency = "atomic-required" | "best-effort";Defined in: src/prisma/audit-extension/audit-types.ts:4
AuditCsvColumnVersion
type AuditCsvColumnVersion = "v1";Defined in: src/interfaces/audit-entry.interface.ts:70
AuditCsvOptions
type AuditCsvOptions = AuditScanOptions & {
columns?: AuditCsvColumnVersion;
includeBom?: boolean;
};Defined in: src/interfaces/audit-entry.interface.ts:72
Type Declaration
| Name | Type | Defined in |
|---|---|---|
columns? | AuditCsvColumnVersion | src/interfaces/audit-entry.interface.ts:73 |
includeBom? | boolean | src/interfaces/audit-entry.interface.ts:74 |
AuditErrorPhase
type AuditErrorPhase = "pre-read" | "insert" | "post-read" | "tenant-resolution" | "context";Defined in: src/interfaces/audit-shared-options.interface.ts:7
AuditExportScope
type AuditExportScope =
| {
allTenants?: never;
tenantId: string;
}
| {
allTenants: true;
tenantId?: never;
};Defined in: src/interfaces/audit-entry.interface.ts:47
AuditHttpStreamFormat
type AuditHttpStreamFormat = "json" | "ndjson";Defined in: src/stream/http-sink.ts:8
AuditScanOptions
type AuditScanOptions = AuditExportScope & {
action?: string;
actorId?: string;
after?: string;
batchSize?: number;
from?: Date;
signal?: AbortSignal;
targetId?: string;
targetType?: string;
to?: Date;
until?: string;
};Defined in: src/interfaces/audit-entry.interface.ts:51
Type Declaration
| Name | Type | Defined in |
|---|---|---|
action? | string | src/interfaces/audit-entry.interface.ts:52 |
actorId? | string | src/interfaces/audit-entry.interface.ts:53 |
after? | string | src/interfaces/audit-entry.interface.ts:59 |
batchSize? | number | src/interfaces/audit-entry.interface.ts:58 |
from? | Date | src/interfaces/audit-entry.interface.ts:56 |
signal? | AbortSignal | src/interfaces/audit-entry.interface.ts:61 |
targetId? | string | src/interfaces/audit-entry.interface.ts:55 |
targetType? | string | src/interfaces/audit-entry.interface.ts:54 |
to? | Date | src/interfaces/audit-entry.interface.ts:57 |
until? | string | src/interfaces/audit-entry.interface.ts:60 |
AuditStreamMetric
type AuditStreamMetric =
| {
attempt: number;
entries: number;
name: "batch_delivered";
streamId: string;
}
| {
attempt: number;
delayMs: number;
entries: number;
name: "batch_retried";
streamId: string;
}
| {
entries: number;
name: "batch_dead_lettered";
streamId: string;
}
| {
name: "run_failed";
streamId: string;
};Defined in: src/stream/audit-stream.ts:42
Variables
AUDIT_ACTION_KEY
const AUDIT_ACTION_KEY: "AUDIT_ACTION" = 'AUDIT_ACTION';Defined in: src/decorators/audit-action.decorator.ts:3
AUDIT_CSV_COLUMNS_V1
const AUDIT_CSV_COLUMNS_V1: readonly ["schemaVersion", "id", "tenantId", "actorId", "actorType", "actorIp", "action", "targetType", "targetId", "source", "result", "changes", "metadata", "createdAt"];Defined in: src/services/audit-csv.ts:3
AUDIT_LOG_OPTIONS
const AUDIT_LOG_OPTIONS: typeof AUDIT_LOG_OPTIONS;Defined in: src/audit-log.constants.ts:1
AUDIT_REASON_KEY
const AUDIT_REASON_KEY: "AUDIT_REASON" = 'AUDIT_REASON';Defined in: src/decorators/audit-reason.decorator.ts:3
NO_AUDIT_KEY
const NO_AUDIT_KEY: "NO_AUDIT" = 'NO_AUDIT';Defined in: src/decorators/no-audit.decorator.ts:3
Functions
applyAuditStreamStoreSchema()
function applyAuditStreamStoreSchema(prisma, options?): Promise<void>;Defined in: src/stream/postgres-store.ts:118
Parameters
| Parameter | Type |
|---|---|
prisma | any |
options | AuditStreamStoreSQLOptions |
Returns
Promise<void>
applyAuditTableSchema()
function applyAuditTableSchema(prisma, options?): Promise<void>;Defined in: src/sql/index.ts:251
Parameters
| Parameter | Type |
|---|---|
prisma | any |
options | AuditTableSQLOptions |
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>
AuditReason()
function AuditReason(reason): CustomDecorator<string>;Defined in: src/decorators/audit-reason.decorator.ts:5
Parameters
| Parameter | Type |
|---|---|
reason | string |
Returns
CustomDecorator<string>
createAuditedClient()
function createAuditedClient<TClient>(client, options): TClient & AuditTransactionMethods<TransactionClientOf<TClient>> & AuditCapabilityMethods;Defined in: src/prisma/audit-extension.ts:232
Creates an audited Prisma client while preserving the base client and interactive transaction callback types.
Type Parameters
| Type Parameter |
|---|
TClient extends InteractiveTransactionHost |
Parameters
| Parameter | Type |
|---|---|
client | TClient |
options | AuditExtensionOptions |
Returns
TClient & AuditTransactionMethods<TransactionClientOf<TClient>> & AuditCapabilityMethods
createAuditExtension()
function createAuditExtension(options): any;Defined in: src/prisma/audit-extension.ts:80
Parameters
| Parameter | Type |
|---|---|
options | AuditExtensionOptions |
Returns
any
defineAuditConfig()
Build independent module, extension, DDL and partition options synchronously. Does not create clients, invoke callbacks, register Nest modules or perform I/O. Existing defaults are left to the consuming APIs.
Call Signature
function defineAuditConfig(input): AuditConfig<AuditExtensionOptions>;Defined in: src/define-audit-config.ts:95
Parameters
| Parameter | Type |
|---|---|
input | AuditConfigInput & { extension: AuditConfigExtensionOptions; } |
Returns
AuditConfig<AuditExtensionOptions>
Call Signature
function defineAuditConfig(input): AuditConfig<undefined>;Defined in: src/define-audit-config.ts:96
Parameters
| Parameter | Type |
|---|---|
input | AuditConfigInput & { extension?: undefined; } |
Returns
AuditConfig<undefined>
Call Signature
function defineAuditConfig(input): AuditConfig;Defined in: src/define-audit-config.ts:97
Parameters
| Parameter | Type |
|---|---|
input | AuditConfigInput |
Returns
ensurePartitions()
function ensurePartitions(prisma, options?): Promise<string[]>;Defined in: src/sql/index.ts:284
Parameters
| Parameter | Type |
|---|---|
prisma | any |
options | EnsurePartitionsOptions |
Returns
Promise<string[]>
getAuditStreamStoreStatements()
function getAuditStreamStoreStatements(options?): string[];Defined in: src/stream/postgres-store.ts:88
Parameters
| Parameter | Type |
|---|---|
options | AuditStreamStoreSQLOptions |
Returns
string[]
getAuditTableSQL()
function getAuditTableSQL(options?): string;Defined in: src/sql/index.ts:236
Parameters
| Parameter | Type |
|---|---|
options | AuditTableSQLOptions |
Returns
string
getAuditTableStatements()
function getAuditTableStatements(options?): string[];Defined in: src/sql/index.ts:217
Parameters
| Parameter | Type |
|---|---|
options | AuditTableSQLOptions |
Returns
string[]
mergeContextMetadata()
function mergeContextMetadata(input?): Record<string, unknown> | undefined;Defined in: src/services/audit-context.ts:63
Parameters
| Parameter | Type |
|---|---|
input? | Record<string, unknown> |
Returns
Record<string, unknown> | undefined
NoAudit()
function NoAudit(): CustomDecorator<string>;Defined in: src/decorators/no-audit.decorator.ts:4
Returns
CustomDecorator<string>