@ultipa-graph/ultipa-driver
Version:
NodeJS SDK for Ultipa GQL
34 lines (33 loc) • 1.03 kB
TypeScript
/**
* Transaction service handles transaction lifecycle management.
*/
import { ServiceContext } from './service-context';
import { Transaction } from '../transaction';
import { TransactionInfo } from '../types';
/**
* Transaction service for managing database transactions.
*/
export declare class TransactionService {
private ctx;
constructor(ctx: ServiceContext);
/**
* Start a new transaction.
*/
beginTransaction(graphName: string, readOnly?: boolean, timeout?: number): Promise<Transaction>;
/**
* Commit a transaction.
*/
commit(transactionId: number): Promise<boolean>;
/**
* Rollback a transaction.
*/
rollback(transactionId: number): Promise<boolean>;
/**
* Return active transactions for the current session.
*/
listTransactions(): Promise<TransactionInfo[]>;
/**
* Execute a function within a transaction.
*/
withTransaction<T>(graphName: string, fn: (txId: number) => Promise<T>, readOnly?: boolean): Promise<T>;
}