@n4it/typeorm-audit
Version:
TypeORM Auditing: Create history tables and manage changes of entities automagically.
25 lines (24 loc) • 952 B
TypeScript
import type { DataSource } from 'typeorm';
import type { EntityOptions } from 'typeorm/decorator/options/EntityOptions';
import type { ColumnType, PrimaryGeneratedColumnType } from 'typeorm/driver/types/ColumnTypes';
export declare enum AuditAction {
Create = "CREATE",
Update = "UPDATE",
Delete = "DELETE",
Recover = "RECOVER"
}
export interface AuditOptions extends EntityOptions {
primaryIdType: PrimaryGeneratedColumnType | 'uuid' | 'rowid' | 'identity' | 'increment';
tableName: string;
jsonColumnType: 'jsonb' | 'json' | 'simple-json' | 'text';
primaryIdColumn: string;
saveEntityType: boolean;
getModifiedBy?: (connection: DataSource, newEntity: any) => Promise<number | string | null | undefined> | number | string | null | undefined;
modifiedByColumnType?: ColumnType;
}
export interface AuditSubscriberOptions {
opts: AuditOptions & {
saveEntityType: boolean;
};
target: any;
}