desi-mongoose
Version:
A fun and intuitive MongoDB ODM for Node.js with a Hinglish twist
40 lines (39 loc) • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.desiTransaction = exports.DesiTransaction = void 0;
const connection_1 = require("./connection");
class DesiTransaction {
constructor() {
this.session = null;
}
async shuru() {
var _a;
console.log('🎬 Transaction shuru kar rahe hain...');
this.session = await (await connection_1.desiConnect.getConnection()).startSession();
await ((_a = this.session) === null || _a === void 0 ? void 0 : _a.startTransaction());
return this.session;
}
async pakka() {
if (!this.session) {
throw new Error('Transaction shuru nahi hua hai!');
}
console.log('✅ Transaction pakka kar rahe hain...');
await this.session.commitTransaction();
await this.session.endSession();
this.session = null;
}
async raddKaro() {
if (!this.session) {
throw new Error('Transaction shuru nahi hua hai!');
}
console.log('❌ Transaction radd kar rahe hain...');
await this.session.abortTransaction();
await this.session.endSession();
this.session = null;
}
getSession() {
return this.session;
}
}
exports.DesiTransaction = DesiTransaction;
exports.desiTransaction = new DesiTransaction();