UNPKG

@tsrt/typeorm-transactions

Version:
38 lines (37 loc) 1.59 kB
import { EntityManager, Connection, QueryRunner } from 'typeorm'; import { IsolationLevel } from 'typeorm/driver/types/IsolationLevel'; import { AnyFunction } from './utils'; export declare class Transaction implements ITransaction { protected readonly _options: ITransactionOptionsExtended; protected readonly _connection: Connection; protected readonly _queryRunner: QueryRunner; protected readonly _manager: EntityManager; protected readonly _shouldUseParentManager: boolean; protected readonly _parentManager: EntityManager; constructor(_options: ITransactionOptionsExtended); get manager(): EntityManager; begin(): Promise<void>; commit(): Promise<void>; rollback(error?: string | Error): Promise<void>; protected get _transactionId(): string; protected get _isTransactionActive(): boolean; protected get _isTransactionNotReleased(): boolean; protected _saveManager(manager: EntityManager): void; protected _endTransaction(): Promise<void>; protected _validateNsAvailability(): void; } export declare type Propagation = 'REQUIRED' | 'SUPPORT' | 'SEPARATE'; export interface ITransaction { begin(): Promise<void>; commit(): Promise<void>; rollback(err?: string | Error): Promise<void>; } export interface ITransactionOptions { propagation?: Propagation; isolationLevel?: IsolationLevel; } export interface ITransactionOptionsExtended extends ITransactionOptions { connection?: Connection | AnyFunction<Connection>; connectionName?: string | AnyFunction<string>; manager?: EntityManager; }