@eggjs/tegg-transaction-decorator 3.12.0 → 3.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  事务注解
4
4
 
5
5
  ## Usage
6
+ ### 传播机制
6
7
  ```ts
7
8
  export class Foo {
8
9
 
@@ -16,6 +17,18 @@ export class Foo {
16
17
  console.log('has msg: ', msg);
17
18
  }
18
19
 
20
+ }
21
+ ```
22
+
23
+ ### 数据源
24
+ ```ts
25
+ export class Bar {
26
+
27
+ @Transactional({ dataSourceName: 'xx' })
28
+ async bar() {
29
+ await this.foo();
30
+ }
31
+
19
32
  }
20
33
 
21
34
  ```
@@ -7,4 +7,10 @@ export declare enum PropagationType {
7
7
  export interface TransactionalParams {
8
8
  /** 事务传播方式,默认 REQUIRED */
9
9
  propagation?: PropagationType;
10
+ /**
11
+ * 数据源,默认使用 module 的数据源,非 module 时将使用 default 数据源
12
+ * 需要注意的是数据源之间的连接是隔离的,回滚也是独立的
13
+ * 比如函数 B 在函数 A 中执行,A 执行异常时,不会回滚 B 中执行的 sql
14
+ * */
15
+ datasourceName?: string;
10
16
  }
@@ -8,14 +8,16 @@ function Transactional(params) {
8
8
  if (!Object.values(Common_1.PropagationType).includes(propagation)) {
9
9
  throw new Error(`unknown propagation type ${propagation}`);
10
10
  }
11
+ const datasourceName = params === null || params === void 0 ? void 0 : params.datasourceName;
11
12
  return function (target, propertyKey) {
12
13
  const constructor = target.constructor;
13
14
  TransactionMetadataUtil_1.TransactionMetadataUtil.setIsTransactionClazz(constructor);
14
15
  TransactionMetadataUtil_1.TransactionMetadataUtil.addTransactionMetadata(constructor, {
15
16
  propagation,
16
17
  method: propertyKey,
18
+ datasourceName,
17
19
  });
18
20
  };
19
21
  }
20
22
  exports.Transactional = Transactional;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvVHJhbnNhY3Rpb25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxzQ0FBaUU7QUFDakUsNkVBQTBFO0FBRTFFLFNBQWdCLGFBQWEsQ0FBQyxNQUE0QjtJQUN4RCxNQUFNLFdBQVcsR0FBRyxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxXQUFXLEtBQUksd0JBQWUsQ0FBQyxRQUFRLENBQUM7SUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsd0JBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUN6RCxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixXQUFXLEVBQUUsQ0FBQyxDQUFDO0tBQzVEO0lBRUQsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QjtRQUNuRCxNQUFNLFdBQVcsR0FBc0IsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUMxRCxpREFBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzRCxpREFBdUIsQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUU7WUFDMUQsV0FBVztZQUNYLE1BQU0sRUFBRSxXQUFXO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUM7QUFkRCxzQ0FjQyJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvVHJhbnNhY3Rpb25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxzQ0FBaUU7QUFDakUsNkVBQTBFO0FBRTFFLFNBQWdCLGFBQWEsQ0FBQyxNQUE0QjtJQUN4RCxNQUFNLFdBQVcsR0FBRyxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxXQUFXLEtBQUksd0JBQWUsQ0FBQyxRQUFRLENBQUM7SUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsd0JBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUN6RCxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixXQUFXLEVBQUUsQ0FBQyxDQUFDO0tBQzVEO0lBQ0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLGNBQWMsQ0FBQztJQUU5QyxPQUFPLFVBQVMsTUFBVyxFQUFFLFdBQXdCO1FBQ25ELE1BQU0sV0FBVyxHQUFzQixNQUFNLENBQUMsV0FBVyxDQUFDO1FBQzFELGlEQUF1QixDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNELGlEQUF1QixDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRTtZQUMxRCxXQUFXO1lBQ1gsTUFBTSxFQUFFLFdBQVc7WUFDbkIsY0FBYztTQUNmLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUM7QUFoQkQsc0NBZ0JDIn0=
@@ -2,4 +2,5 @@ import { PropagationType } from '../Common';
2
2
  export interface TransactionMetadata {
3
3
  propagation: PropagationType;
4
4
  method: PropertyKey;
5
+ datasourceName?: string;
5
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/tegg-transaction-decorator",
3
- "version": "3.12.0",
3
+ "version": "3.14.0",
4
4
  "description": "tegg transaction decorator",
5
5
  "keywords": [
6
6
  "egg",
@@ -17,9 +17,9 @@
17
17
  "directory": "core/transaction-decorator"
18
18
  },
19
19
  "dependencies": {
20
- "@eggjs/core-decorator": "^3.12.0",
21
- "@eggjs/tegg-common-util": "^3.12.0",
22
- "@eggjs/tegg-metadata": "^3.12.0"
20
+ "@eggjs/core-decorator": "^3.14.0",
21
+ "@eggjs/tegg-common-util": "^3.14.0",
22
+ "@eggjs/tegg-metadata": "^3.14.0"
23
23
  },
24
24
  "scripts": {
25
25
  "test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
@@ -51,5 +51,5 @@
51
51
  "ts-node": "^10.9.1",
52
52
  "typescript": "^5.0.4"
53
53
  },
54
- "gitHead": "550c9afdf23fbe3788d2f38ca42b47e36cec049a"
54
+ "gitHead": "f7334418744a1e260d1ff2e199694038c3fc1929"
55
55
  }