@eggjs/tegg-dal-plugin
Version:
dal plugin for egg
30 lines • 2.43 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TransactionalAOP = void 0;
const aop_1 = require("@eggjs/tegg/aop");
const tegg_1 = require("@eggjs/tegg");
const transaction_1 = require("@eggjs/tegg/transaction");
let TransactionalAOP = class TransactionalAOP {
async around(ctx, next) {
const { propagation, dataSourceGetter } = ctx.adviceParams;
const dataSource = dataSourceGetter();
if (propagation === transaction_1.PropagationType.ALWAYS_NEW) {
return await dataSource.beginTransactionScope(next);
}
return await dataSource.beginTransactionScope(next);
}
};
exports.TransactionalAOP = TransactionalAOP;
exports.TransactionalAOP = TransactionalAOP = __decorate([
(0, aop_1.Advice)({
accessLevel: tegg_1.AccessLevel.PUBLIC,
initType: tegg_1.ObjectInitType.SINGLETON,
})
], TransactionalAOP);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25hbEFPUC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlRyYW5zYWN0aW9uYWxBT1AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEseUNBQWlFO0FBQ2pFLHNDQUE2RTtBQUM3RSx5REFBMEQ7QUFZbkQsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUEwRCxFQUFFLElBQXdCO1FBQ3RHLE1BQU0sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxHQUFHLENBQUMsWUFBYSxDQUFDO1FBQzVELE1BQU0sVUFBVSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDdEMsSUFBSSxXQUFXLEtBQUssNkJBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMvQyxPQUFPLE1BQU0sVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxPQUFPLE1BQU0sVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRixDQUFBO0FBVFksNENBQWdCOzJCQUFoQixnQkFBZ0I7SUFKNUIsSUFBQSxZQUFNLEVBQUM7UUFDTixXQUFXLEVBQUUsa0JBQVcsQ0FBQyxNQUFNO1FBQy9CLFFBQVEsRUFBRSxxQkFBYyxDQUFDLFNBQVM7S0FDbkMsQ0FBQztHQUNXLGdCQUFnQixDQVM1QiJ9