@eggjs/dal-plugin
Version:
dal plugin for egg
28 lines • 2.5 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;
};
import { Advice } from '@eggjs/aop-decorator';
import { AccessLevel, ObjectInitType } from '@eggjs/core-decorator';
import { PropagationType } from '@eggjs/tegg-types';
import { MysqlDataSource } from '@eggjs/dal-runtime';
let TransactionalAOP = class TransactionalAOP {
async around(ctx, next) {
const { propagation, dataSourceGetter } = ctx.adviceParams;
const dataSource = dataSourceGetter();
if (propagation === PropagationType.ALWAYS_NEW) {
return await dataSource.beginTransactionScope(next);
}
return await dataSource.beginTransactionScope(next);
}
};
TransactionalAOP = __decorate([
Advice({
accessLevel: AccessLevel.PUBLIC,
initType: ObjectInitType.SINGLETON,
})
], TransactionalAOP);
export { TransactionalAOP };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25hbEFPUC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvVHJhbnNhY3Rpb25hbEFPUC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFvQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQTBCLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFXOUMsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLE1BQU0sQ0FDakIsR0FBMEQsRUFDMUQsSUFBd0I7UUFFeEIsTUFBTSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEdBQUcsQ0FBQyxZQUFhLENBQUM7UUFDNUQsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QyxJQUFJLFdBQVcsS0FBSyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDL0MsT0FBTyxNQUFNLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YsQ0FBQTtBQVpZLGdCQUFnQjtJQUo1QixNQUFNLENBQUM7UUFDTixXQUFXLEVBQUUsV0FBVyxDQUFDLE1BQU07UUFDL0IsUUFBUSxFQUFFLGNBQWMsQ0FBQyxTQUFTO0tBQ25DLENBQUM7R0FDVyxnQkFBZ0IsQ0FZNUIifQ==