flexiblepersistence
Version:
A CQRS and Event Sourcing platform
27 lines • 845 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Transaction = void 0;
class Transaction {
constructor(mongooseInstance) {
this.mongooseInstance = mongooseInstance;
}
getSession() {
return this.session;
}
async begin(options) {
this.session = await this.mongooseInstance.startSession(options?.session);
await this.session.startTransaction(options?.transaction);
}
async commit() {
const result = await this.session?.commitTransaction();
await this.session?.endSession();
return result;
}
async rollback() {
const result = await this.session?.abortTransaction();
await this.session?.endSession();
return result;
}
}
exports.Transaction = Transaction;
//# sourceMappingURL=transaction.js.map