@breautek/storm 4.5.0 → 4.6.1

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.
Files changed (90) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/docs/README.md +6 -5
  3. package/docs/classes/Application.md +26 -26
  4. package/docs/classes/BackendAuthenticationMiddleware.md +2 -2
  5. package/docs/classes/CORSMiddleware.md +6 -6
  6. package/docs/classes/ConfigLoader.md +1 -1
  7. package/docs/classes/Database.md +12 -12
  8. package/docs/classes/DatabaseCastObject.md +3 -3
  9. package/docs/classes/DatabaseConnection.md +26 -20
  10. package/docs/classes/DatabaseQueryError.md +10 -10
  11. package/docs/classes/DeadLockError.md +10 -10
  12. package/docs/classes/DiskSpaceError.md +10 -10
  13. package/docs/classes/DropTemporaryTableQuery.md +8 -8
  14. package/docs/classes/DumpStream.md +1 -1
  15. package/docs/classes/DuplicateEntryError.md +10 -10
  16. package/docs/classes/EntityNotFoundError.md +10 -10
  17. package/docs/classes/ExpiredTokenError.md +10 -10
  18. package/docs/classes/Handler.md +14 -14
  19. package/docs/classes/InternalError.md +10 -10
  20. package/docs/classes/InvalidCredentialsError.md +10 -10
  21. package/docs/classes/InvalidValueError.md +10 -10
  22. package/docs/classes/LineString.md +4 -4
  23. package/docs/classes/ManagedDatabaseConnection.md +26 -20
  24. package/docs/classes/Middleware.md +3 -3
  25. package/docs/classes/MissingConfigError.md +10 -10
  26. package/docs/classes/MissingParameterError.md +10 -10
  27. package/docs/classes/MySQLConnection.md +27 -21
  28. package/docs/classes/MySQLDatabase.md +13 -13
  29. package/docs/classes/NotImplementedError.md +10 -10
  30. package/docs/classes/Point.md +4 -4
  31. package/docs/classes/Polygon.md +4 -4
  32. package/docs/classes/Query.md +8 -8
  33. package/docs/classes/RawError.md +10 -10
  34. package/docs/classes/RawQuery.md +8 -8
  35. package/docs/classes/Request.md +18 -18
  36. package/docs/classes/Response.md +11 -11
  37. package/docs/classes/ResponseData.md +7 -7
  38. package/docs/classes/ServiceProvider.md +15 -15
  39. package/docs/classes/ServiceResponse.md +4 -4
  40. package/docs/classes/SetSessionVariableQuery.md +8 -8
  41. package/docs/classes/StormError.md +10 -10
  42. package/docs/classes/TemporaryTableQuery.md +8 -8
  43. package/docs/classes/Token.md +2 -2
  44. package/docs/classes/TokenManager.md +4 -4
  45. package/docs/classes/UnauthorizedAccessError.md +10 -10
  46. package/docs/enums/ErrorCode.md +9 -9
  47. package/docs/enums/ExitCode.md +2 -2
  48. package/docs/enums/HTTPMethod.md +4 -4
  49. package/docs/enums/IsolationLevel.md +52 -0
  50. package/docs/enums/JWTError.md +2 -2
  51. package/docs/enums/StatusCode.md +48 -48
  52. package/docs/interfaces/IConfig.md +8 -8
  53. package/docs/interfaces/IDatabaseConfig.md +6 -6
  54. package/docs/interfaces/IDatabaseConnection.md +21 -15
  55. package/docs/interfaces/IErrorResponse.md +5 -5
  56. package/docs/interfaces/IFormData.md +2 -2
  57. package/docs/interfaces/IHandler.md +1 -1
  58. package/docs/interfaces/IInsertQueryResult.md +3 -3
  59. package/docs/interfaces/IJWTVerifyOptions.md +1 -1
  60. package/docs/interfaces/IRequestResponse.md +2 -2
  61. package/docs/interfaces/ISetSessionVariableQueryInput.md +2 -2
  62. package/docs/interfaces/ITemporaryTableQueryInput.md +2 -2
  63. package/docs/interfaces/IUpdateQueryResult.md +2 -2
  64. package/jest.config.js +5 -1
  65. package/lib/DatabaseConnection.d.ts +2 -1
  66. package/lib/DatabaseConnection.js.map +1 -1
  67. package/lib/IDatabaseConnection.d.ts +2 -1
  68. package/lib/IsolationLevel.d.ts +6 -0
  69. package/lib/IsolationLevel.js +26 -0
  70. package/lib/IsolationLevel.js.map +1 -0
  71. package/lib/ManagedDatabaseConnection.d.ts +2 -1
  72. package/lib/ManagedDatabaseConnection.js +2 -2
  73. package/lib/ManagedDatabaseConnection.js.map +1 -1
  74. package/lib/MySQLConnection.d.ts +2 -1
  75. package/lib/MySQLConnection.js +15 -12
  76. package/lib/MySQLConnection.js.map +1 -1
  77. package/lib/api.d.ts +1 -0
  78. package/lib/api.js +4 -1
  79. package/lib/api.js.map +1 -1
  80. package/lib/private/SetIsolationLevelQuery.d.ts +5 -0
  81. package/lib/private/SetIsolationLevelQuery.js +42 -0
  82. package/lib/private/SetIsolationLevelQuery.js.map +1 -0
  83. package/package.json +1 -1
  84. package/src/DatabaseConnection.ts +2 -1
  85. package/src/IDatabaseConnection.ts +2 -1
  86. package/src/IsolationLevel.ts +22 -0
  87. package/src/ManagedDatabaseConnection.ts +3 -2
  88. package/src/MySQLConnection.ts +16 -12
  89. package/src/api.ts +1 -0
  90. package/src/private/SetIsolationLevelQuery.ts +39 -0
@@ -20,7 +20,7 @@
20
20
 
21
21
  #### Defined in
22
22
 
23
- [src/StormError.ts:37](https://github.com/breautek/storm/blob/dc7102f/src/StormError.ts#L37)
23
+ [src/StormError.ts:37](https://github.com/breautek/storm/blob/daf9166/src/StormError.ts#L37)
24
24
 
25
25
  ___
26
26
 
@@ -30,7 +30,7 @@ ___
30
30
 
31
31
  #### Defined in
32
32
 
33
- [src/StormError.ts:38](https://github.com/breautek/storm/blob/dc7102f/src/StormError.ts#L38)
33
+ [src/StormError.ts:38](https://github.com/breautek/storm/blob/daf9166/src/StormError.ts#L38)
34
34
 
35
35
  ___
36
36
 
@@ -40,7 +40,7 @@ ___
40
40
 
41
41
  #### Defined in
42
42
 
43
- [src/StormError.ts:36](https://github.com/breautek/storm/blob/dc7102f/src/StormError.ts#L36)
43
+ [src/StormError.ts:36](https://github.com/breautek/storm/blob/daf9166/src/StormError.ts#L36)
44
44
 
45
45
  ___
46
46
 
@@ -50,7 +50,7 @@ ___
50
50
 
51
51
  #### Defined in
52
52
 
53
- [src/StormError.ts:35](https://github.com/breautek/storm/blob/dc7102f/src/StormError.ts#L35)
53
+ [src/StormError.ts:35](https://github.com/breautek/storm/blob/daf9166/src/StormError.ts#L35)
54
54
 
55
55
  ___
56
56
 
@@ -60,4 +60,4 @@ ___
60
60
 
61
61
  #### Defined in
62
62
 
63
- [src/StormError.ts:34](https://github.com/breautek/storm/blob/dc7102f/src/StormError.ts#L34)
63
+ [src/StormError.ts:34](https://github.com/breautek/storm/blob/daf9166/src/StormError.ts#L34)
@@ -17,7 +17,7 @@
17
17
 
18
18
  #### Defined in
19
19
 
20
- [src/IFormData.ts:20](https://github.com/breautek/storm/blob/dc7102f/src/IFormData.ts#L20)
20
+ [src/IFormData.ts:20](https://github.com/breautek/storm/blob/daf9166/src/IFormData.ts#L20)
21
21
 
22
22
  ___
23
23
 
@@ -27,4 +27,4 @@ ___
27
27
 
28
28
  #### Defined in
29
29
 
30
- [src/IFormData.ts:21](https://github.com/breautek/storm/blob/dc7102f/src/IFormData.ts#L21)
30
+ [src/IFormData.ts:21](https://github.com/breautek/storm/blob/daf9166/src/IFormData.ts#L21)
@@ -28,4 +28,4 @@
28
28
 
29
29
  #### Defined in
30
30
 
31
- [src/IHandler.ts:21](https://github.com/breautek/storm/blob/dc7102f/src/IHandler.ts#L21)
31
+ [src/IHandler.ts:21](https://github.com/breautek/storm/blob/daf9166/src/IHandler.ts#L21)
@@ -18,7 +18,7 @@
18
18
 
19
19
  #### Defined in
20
20
 
21
- [src/IInsertQueryResult.ts:19](https://github.com/breautek/storm/blob/dc7102f/src/IInsertQueryResult.ts#L19)
21
+ [src/IInsertQueryResult.ts:19](https://github.com/breautek/storm/blob/daf9166/src/IInsertQueryResult.ts#L19)
22
22
 
23
23
  ___
24
24
 
@@ -28,7 +28,7 @@ ___
28
28
 
29
29
  #### Defined in
30
30
 
31
- [src/IInsertQueryResult.ts:20](https://github.com/breautek/storm/blob/dc7102f/src/IInsertQueryResult.ts#L20)
31
+ [src/IInsertQueryResult.ts:20](https://github.com/breautek/storm/blob/daf9166/src/IInsertQueryResult.ts#L20)
32
32
 
33
33
  ___
34
34
 
@@ -38,4 +38,4 @@ ___
38
38
 
39
39
  #### Defined in
40
40
 
41
- [src/IInsertQueryResult.ts:18](https://github.com/breautek/storm/blob/dc7102f/src/IInsertQueryResult.ts#L18)
41
+ [src/IInsertQueryResult.ts:18](https://github.com/breautek/storm/blob/daf9166/src/IInsertQueryResult.ts#L18)
@@ -16,4 +16,4 @@
16
16
 
17
17
  #### Defined in
18
18
 
19
- [src/IJWTVerifyOptions.ts:18](https://github.com/breautek/storm/blob/dc7102f/src/IJWTVerifyOptions.ts#L18)
19
+ [src/IJWTVerifyOptions.ts:18](https://github.com/breautek/storm/blob/daf9166/src/IJWTVerifyOptions.ts#L18)
@@ -24,7 +24,7 @@
24
24
 
25
25
  #### Defined in
26
26
 
27
- [src/IRequestResponse.ts:21](https://github.com/breautek/storm/blob/dc7102f/src/IRequestResponse.ts#L21)
27
+ [src/IRequestResponse.ts:21](https://github.com/breautek/storm/blob/daf9166/src/IRequestResponse.ts#L21)
28
28
 
29
29
  ___
30
30
 
@@ -34,4 +34,4 @@ ___
34
34
 
35
35
  #### Defined in
36
36
 
37
- [src/IRequestResponse.ts:22](https://github.com/breautek/storm/blob/dc7102f/src/IRequestResponse.ts#L22)
37
+ [src/IRequestResponse.ts:22](https://github.com/breautek/storm/blob/daf9166/src/IRequestResponse.ts#L22)
@@ -17,7 +17,7 @@
17
17
 
18
18
  #### Defined in
19
19
 
20
- [src/SetSessionVariableQuery.ts:7](https://github.com/breautek/storm/blob/dc7102f/src/SetSessionVariableQuery.ts#L7)
20
+ [src/SetSessionVariableQuery.ts:7](https://github.com/breautek/storm/blob/daf9166/src/SetSessionVariableQuery.ts#L7)
21
21
 
22
22
  ___
23
23
 
@@ -27,4 +27,4 @@ ___
27
27
 
28
28
  #### Defined in
29
29
 
30
- [src/SetSessionVariableQuery.ts:8](https://github.com/breautek/storm/blob/dc7102f/src/SetSessionVariableQuery.ts#L8)
30
+ [src/SetSessionVariableQuery.ts:8](https://github.com/breautek/storm/blob/daf9166/src/SetSessionVariableQuery.ts#L8)
@@ -17,7 +17,7 @@
17
17
 
18
18
  #### Defined in
19
19
 
20
- [src/TemporaryTableQuery.ts:22](https://github.com/breautek/storm/blob/dc7102f/src/TemporaryTableQuery.ts#L22)
20
+ [src/TemporaryTableQuery.ts:22](https://github.com/breautek/storm/blob/daf9166/src/TemporaryTableQuery.ts#L22)
21
21
 
22
22
  ___
23
23
 
@@ -27,4 +27,4 @@ ___
27
27
 
28
28
  #### Defined in
29
29
 
30
- [src/TemporaryTableQuery.ts:21](https://github.com/breautek/storm/blob/dc7102f/src/TemporaryTableQuery.ts#L21)
30
+ [src/TemporaryTableQuery.ts:21](https://github.com/breautek/storm/blob/daf9166/src/TemporaryTableQuery.ts#L21)
@@ -17,7 +17,7 @@
17
17
 
18
18
  #### Defined in
19
19
 
20
- [src/IUpdateQueryResult.ts:18](https://github.com/breautek/storm/blob/dc7102f/src/IUpdateQueryResult.ts#L18)
20
+ [src/IUpdateQueryResult.ts:18](https://github.com/breautek/storm/blob/daf9166/src/IUpdateQueryResult.ts#L18)
21
21
 
22
22
  ___
23
23
 
@@ -27,4 +27,4 @@ ___
27
27
 
28
28
  #### Defined in
29
29
 
30
- [src/IUpdateQueryResult.ts:19](https://github.com/breautek/storm/blob/dc7102f/src/IUpdateQueryResult.ts#L19)
30
+ [src/IUpdateQueryResult.ts:19](https://github.com/breautek/storm/blob/daf9166/src/IUpdateQueryResult.ts#L19)
package/jest.config.js CHANGED
@@ -24,8 +24,12 @@ module.exports = {
24
24
  functions: 75,
25
25
  lines: 75,
26
26
  statements: 75
27
- }
27
+ },
28
28
  },
29
+ coveragePathIgnorePatterns: [
30
+ '/node_modules/',
31
+ '/spec/'
32
+ ],
29
33
  testRunner: "jest-jasmine2",
30
34
  globals: {
31
35
  'ts-jest': {
@@ -2,6 +2,7 @@
2
2
  import { Readable } from 'stream';
3
3
  import { IDatabaseConnection } from './IDatabaseConnection';
4
4
  import { Query } from './Query';
5
+ import { IsolationLevel } from './IsolationLevel';
5
6
  export declare const LINGER_WARNING: number;
6
7
  export declare const DEFAULT_QUERY_TIMEOUT: number;
7
8
  /**
@@ -86,7 +87,7 @@ export declare abstract class DatabaseConnection<TAPI> implements IDatabaseConne
86
87
  * @async
87
88
  * @returns Promise<void>
88
89
  */
89
- abstract startTransaction(): Promise<void>;
90
+ abstract startTransaction(isolationLevel?: IsolationLevel): Promise<void>;
90
91
  /**
91
92
  * Implementation method to determine if the connection is in an active transaction.
92
93
  *
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseConnection.js","sourceRoot":"","sources":["../src/DatabaseConnection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,yCAEoB;AAMP,QAAA,cAAc,GAAW,KAAK,CAAC;AAC/B,QAAA,qBAAqB,GAAW,OAAO,CAAC;AACrD,MAAM,GAAG,GAAW,oBAAoB,CAAC;AAEzC;;;;;GAKG;AACH,MAAsB,kBAAkB;IAQpC,YAAmB,GAAS,EAAE,UAAmB,EAAE,kBAA0B;QACzE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;QAC5B,IAAI,CAAC,mBAAmB,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,MAAM,GAAY,IAAA,sBAAW,GAAE,CAAC,SAAS,EAAE,CAAC;QAEhD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACtB,IAAI,CAAC,QAAQ,GAAG,6BAAqB,CAAC;SACzC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAEO,qBAAqB;QACzB,IAAA,sBAAW,GAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,wCAAwC,sBAAc,wBAAwB,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClJ,CAAC;IAEM,qBAAqB,CAAC,KAAa;QACtC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,qBAAqB;QACxB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAEO,iBAAiB;QACrB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACjC,CAAC,EAAE,sBAAc,CAAC,CAAC;IACvB,CAAC;IAED;;;OAGG;IACI,MAAM;QACT,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACI,UAAU;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,OAAe;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;YAChB,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,CAAqB,KAAY;QAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,QAAQ,GAAW,IAAI,CAAC;QAC5B,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,MAAM,GAAqB,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAE7D,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,OAAO,GAAiB,MAAM,IAAI,CAAC,MAAM,CAAe,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9E,OAAO,MAAY,KAAK,CAAC,aAAa,CAAC,IAAI,EAAO,OAAO,CAAE,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACH,6EAA6E;IACtE,MAAM,CAAC,KAAY,EAAE,aAAmB;QAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,QAAQ,GAAW,IAAI,CAAC;QAC5B,IAAI,MAAM,GAAqB,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC7D,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,aAAsB,KAAK;QACpC,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,QAAQ;QACX,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IACvB,CAAC;CA+EJ;AAnOD,gDAmOC"}
1
+ {"version":3,"file":"DatabaseConnection.js","sourceRoot":"","sources":["../src/DatabaseConnection.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { Readable } from 'stream';
3
+ import { IsolationLevel } from './IsolationLevel';
3
4
  import { Query } from './Query';
4
5
  export interface IDatabaseConnection {
5
6
  setInstantiationStack(stack: string): void;
@@ -12,7 +13,7 @@ export interface IDatabaseConnection {
12
13
  stream(query: string | Query, params?: any, streamOptions?: any): Readable;
13
14
  close(forceClose?: boolean): Promise<void>;
14
15
  isClosed(): boolean;
15
- startTransaction(): Promise<void>;
16
+ startTransaction(level?: IsolationLevel): Promise<void>;
16
17
  isTransaction(): boolean;
17
18
  commit(): Promise<void>;
18
19
  rollback(): Promise<void>;
@@ -0,0 +1,6 @@
1
+ export declare enum IsolationLevel {
2
+ REPEATABLE_READ = 1,
3
+ READ_COMMITTED = 2,
4
+ READ_UNCOMMITTED = 3,
5
+ SERIALIZABLE = 4
6
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /*
3
+ Copyright 2017-2022 Norman Breau
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.IsolationLevel = void 0;
19
+ var IsolationLevel;
20
+ (function (IsolationLevel) {
21
+ IsolationLevel[IsolationLevel["REPEATABLE_READ"] = 1] = "REPEATABLE_READ";
22
+ IsolationLevel[IsolationLevel["READ_COMMITTED"] = 2] = "READ_COMMITTED";
23
+ IsolationLevel[IsolationLevel["READ_UNCOMMITTED"] = 3] = "READ_UNCOMMITTED";
24
+ IsolationLevel[IsolationLevel["SERIALIZABLE"] = 4] = "SERIALIZABLE";
25
+ })(IsolationLevel = exports.IsolationLevel || (exports.IsolationLevel = {}));
26
+ //# sourceMappingURL=IsolationLevel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsolationLevel.js","sourceRoot":"","sources":["../src/IsolationLevel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,yEAAmB,CAAA;IACnB,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,mEAAY,CAAA;AAChB,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB"}
@@ -2,6 +2,7 @@
2
2
  import { IDatabaseConnection } from './IDatabaseConnection';
3
3
  import { Readable } from 'stream';
4
4
  import { Query } from './Query';
5
+ import { IsolationLevel } from './IsolationLevel';
5
6
  export declare class ManagedDatabaseConnection implements IDatabaseConnection {
6
7
  private $connection;
7
8
  /**
@@ -26,7 +27,7 @@ export declare class ManagedDatabaseConnection implements IDatabaseConnection {
26
27
  query(query: Query, params?: any): Promise<any>;
27
28
  stream(query: Query, params?: any, streamOptions?: any): Readable;
28
29
  close(forceClose?: boolean): Promise<void>;
29
- startTransaction(): Promise<void>;
30
+ startTransaction(isolationLevel?: IsolationLevel): Promise<void>;
30
31
  isTransaction(): boolean;
31
32
  commit(): Promise<void>;
32
33
  rollback(): Promise<void>;
@@ -133,11 +133,11 @@ class ManagedDatabaseConnection {
133
133
  }
134
134
  });
135
135
  }
136
- startTransaction() {
136
+ startTransaction(isolationLevel) {
137
137
  return new Promise((resolve, reject) => {
138
138
  this.$getConnection().then((connection) => {
139
139
  if (!this.isManaged()) {
140
- connection.startTransaction().then(resolve).catch(reject);
140
+ connection.startTransaction(isolationLevel).then(resolve).catch(reject);
141
141
  }
142
142
  else {
143
143
  resolve();
@@ -1 +1 @@
1
- {"version":3,"file":"ManagedDatabaseConnection.js","sourceRoot":"","sources":["../src/ManagedDatabaseConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ManagedDatabaseConnection.js","sourceRoot":"","sources":["../src/ManagedDatabaseConnection.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  import { DatabaseConnection } from './DatabaseConnection';
3
3
  import * as MySQL from 'mysql';
4
4
  import { Readable } from 'stream';
5
+ import { IsolationLevel } from './IsolationLevel';
5
6
  export declare class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
6
7
  private $transaction;
7
8
  private $opened;
@@ -10,7 +11,7 @@ export declare class MySQLConnection extends DatabaseConnection<MySQL.PoolConnec
10
11
  isOpen(): boolean;
11
12
  protected _query(query: string, params?: any): Promise<any>;
12
13
  protected _stream(query: string, params?: any, streamOptions?: any): Readable;
13
- startTransaction(): Promise<void>;
14
+ startTransaction(isolationLevel?: IsolationLevel): Promise<void>;
14
15
  endTransaction(requiresRollback?: boolean): Promise<void>;
15
16
  rollback(): Promise<void>;
16
17
  commit(): Promise<void>;
@@ -25,6 +25,7 @@ const RollbackQuery_1 = require("./private/RollbackQuery");
25
25
  const SQLFormatter = require("sql-formatter");
26
26
  const logger_1 = require("@arashi/logger");
27
27
  const DeadLockError_1 = require("./DeadLockError");
28
+ const SetIsolationLevelQuery_1 = require("./private/SetIsolationLevelQuery");
28
29
  const DEFAULT_HIGH_WATERMARK = 512; // in number of result objects
29
30
  const TAG = 'MySQLConnection';
30
31
  const SQL_FORMATTING_OPTIONS = {
@@ -117,23 +118,25 @@ class MySQLConnection extends DatabaseConnection_1.DatabaseConnection {
117
118
  (0, instance_1.getInstance)().getLogger().trace(TAG, SQLFormatter.format(queryObject.sql, SQL_FORMATTING_OPTIONS));
118
119
  return queryObject.stream(streamOptions);
119
120
  }
120
- startTransaction() {
121
+ async startTransaction(isolationLevel) {
121
122
  if (this.isReadOnly()) {
122
- return Promise.reject(new Error('A readonly connection cannot start a transaction.'));
123
+ throw new Error('A readonly connection cannot start a transaction.');
123
124
  }
124
125
  if (this.isTransaction()) {
125
- return Promise.reject(new Error('Connection is already in a transaction.'));
126
+ throw new Error('Connection is already in a transaction.');
126
127
  }
127
128
  this.$transaction = true;
128
- return new Promise((resolve, reject) => {
129
- this.query(startTransactionQuery).then(() => {
130
- resolve();
131
- }).catch((ex) => {
132
- this.$transaction = false;
133
- (0, instance_1.getInstance)().getLogger().error(TAG, ex);
134
- reject(ex);
135
- });
136
- });
129
+ try {
130
+ if (isolationLevel) {
131
+ await new SetIsolationLevelQuery_1.SetIsolationLevelQuery(isolationLevel).execute(this);
132
+ }
133
+ await startTransactionQuery.execute(this);
134
+ }
135
+ catch (ex) {
136
+ this.$transaction = false;
137
+ (0, instance_1.getInstance)().getLogger().error(TAG, ex);
138
+ throw ex;
139
+ }
137
140
  }
138
141
  endTransaction(requiresRollback = false) {
139
142
  return (requiresRollback) ? this.rollback() : this.commit();
@@ -1 +1 @@
1
- {"version":3,"file":"MySQLConnection.js","sourceRoot":"","sources":["../src/MySQLConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MySQLConnection.js","sourceRoot":"","sources":["../src/MySQLConnection.ts"],"names":[],"mappings":"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"}
package/lib/api.d.ts CHANGED
@@ -14,6 +14,7 @@ export { IInsertQueryResult } from './IInsertQueryResult';
14
14
  export { IDeleteQueryResult } from './IDeleteQueryResult';
15
15
  export { IUpdateQueryResult } from './IUpdateQueryResult';
16
16
  export { SetSessionVariableQuery, ISetSessionVariableQueryInput } from './SetSessionVariableQuery';
17
+ export { IsolationLevel } from './IsolationLevel';
17
18
  export { ErrorCode } from './ErrorCode';
18
19
  export { RawError } from './RawError';
19
20
  export { StormError, IErrorResponse, IAdditionalErrorDetails } from './StormError';
package/lib/api.js CHANGED
@@ -15,7 +15,8 @@
15
15
  limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.formidable = exports.Polygon = exports.LineString = exports.Point = exports.DatabaseCastObject = exports.DumpStream = exports.ExitCode = exports.TokenManager = exports.Token = exports.BackendAuthenticationMiddleware = exports.ServiceResponse = exports.HTTPMethod = exports.ServiceProvider = exports.CORSMiddleware = exports.Handler = exports.ResponseData = exports.Response = exports.Request = exports.Middleware = exports.StatusCode = exports.DeadLockError = exports.NotImplementedError = exports.DatabaseQueryError = exports.MissingConfigError = exports.DuplicateEntryError = exports.DiskSpaceError = exports.EntityNotFoundError = exports.UnauthorizedAccessError = exports.InvalidValueError = exports.ExpiredTokenError = exports.InternalError = exports.InvalidCredentialsError = exports.MissingParameterError = exports.JWTError = exports.StormError = exports.RawError = exports.ErrorCode = exports.SetSessionVariableQuery = exports.RawQuery = exports.DropTemporaryTableQuery = exports.TemporaryTableQuery = exports.Query = exports.ManagedDatabaseConnection = exports.MySQLConnection = exports.MySQLDatabase = exports.DatabaseConnection = exports.Database = exports.ConfigLoader = exports.Application = exports.getInstance = void 0;
18
+ exports.Polygon = exports.LineString = exports.Point = exports.DatabaseCastObject = exports.DumpStream = exports.ExitCode = exports.TokenManager = exports.Token = exports.BackendAuthenticationMiddleware = exports.ServiceResponse = exports.HTTPMethod = exports.ServiceProvider = exports.CORSMiddleware = exports.Handler = exports.ResponseData = exports.Response = exports.Request = exports.Middleware = exports.StatusCode = exports.DeadLockError = exports.NotImplementedError = exports.DatabaseQueryError = exports.MissingConfigError = exports.DuplicateEntryError = exports.DiskSpaceError = exports.EntityNotFoundError = exports.UnauthorizedAccessError = exports.InvalidValueError = exports.ExpiredTokenError = exports.InternalError = exports.InvalidCredentialsError = exports.MissingParameterError = exports.JWTError = exports.StormError = exports.RawError = exports.ErrorCode = exports.IsolationLevel = exports.SetSessionVariableQuery = exports.RawQuery = exports.DropTemporaryTableQuery = exports.TemporaryTableQuery = exports.Query = exports.ManagedDatabaseConnection = exports.MySQLConnection = exports.MySQLDatabase = exports.DatabaseConnection = exports.Database = exports.ConfigLoader = exports.Application = exports.getInstance = void 0;
19
+ exports.formidable = void 0;
19
20
  // Application
20
21
  var instance_1 = require("./instance");
21
22
  Object.defineProperty(exports, "getInstance", { enumerable: true, get: function () { return instance_1.getInstance; } });
@@ -45,6 +46,8 @@ var RawQuery_1 = require("./RawQuery");
45
46
  Object.defineProperty(exports, "RawQuery", { enumerable: true, get: function () { return RawQuery_1.RawQuery; } });
46
47
  var SetSessionVariableQuery_1 = require("./SetSessionVariableQuery");
47
48
  Object.defineProperty(exports, "SetSessionVariableQuery", { enumerable: true, get: function () { return SetSessionVariableQuery_1.SetSessionVariableQuery; } });
49
+ var IsolationLevel_1 = require("./IsolationLevel");
50
+ Object.defineProperty(exports, "IsolationLevel", { enumerable: true, get: function () { return IsolationLevel_1.IsolationLevel; } });
48
51
  // Errors
49
52
  var ErrorCode_1 = require("./ErrorCode");
50
53
  Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function () { return ErrorCode_1.ErrorCode; } });
package/lib/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,cAAc;AACd,uCAAuC;AAA/B,uGAAA,WAAW,OAAA;AACnB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AAEnB,SAAS;AACT,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,WAAW;AACX,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yEAAsE;AAA9D,sIAAA,yBAAyB,OAAA;AACjC,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,6DAAqF;AAA7E,0HAAA,mBAAmB,OAAA;AAC3B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAIhB,qEAAiG;AAAzF,kIAAA,uBAAuB,OAAA;AAE/B,SAAS;AACT,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2CAIsB;AAHlB,wGAAA,UAAU,OAAA;AAId,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,iEAA8D;AAAtD,8HAAA,qBAAqB,OAAA;AAC7B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AAErB,OAAO;AACP,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qCAAiD;AAAzC,kGAAA,OAAO,OAAA;AACf,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qCAAmE;AAA3D,kGAAA,OAAO,OAAA;AACf,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qFAAkF;AAA1E,kJAAA,+BAA+B,OAAA;AAavC,QAAQ;AACR,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,QAAQ;AACR,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAIlB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qCAAkC;AAA1B,kGAAA,OAAO,OAAA;AAEf,cAAc;AACd,yCAAyC;AACjC,gCAAU"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;AAEF,cAAc;AACd,uCAAuC;AAA/B,uGAAA,WAAW,OAAA;AACnB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AAEnB,SAAS;AACT,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,WAAW;AACX,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yEAAsE;AAA9D,sIAAA,yBAAyB,OAAA;AACjC,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,6DAAqF;AAA7E,0HAAA,mBAAmB,OAAA;AAC3B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAIhB,qEAAiG;AAAzF,kIAAA,uBAAuB,OAAA;AAC/B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AAEtB,SAAS;AACT,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2CAIsB;AAHlB,wGAAA,UAAU,OAAA;AAId,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,iEAA8D;AAAtD,8HAAA,qBAAqB,OAAA;AAC7B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AAErB,OAAO;AACP,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qCAAiD;AAAzC,kGAAA,OAAO,OAAA;AACf,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qCAAmE;AAA3D,kGAAA,OAAO,OAAA;AACf,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qFAAkF;AAA1E,kJAAA,+BAA+B,OAAA;AAavC,QAAQ;AACR,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,QAAQ;AACR,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAIlB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qCAAkC;AAA1B,kGAAA,OAAO,OAAA;AAEf,cAAc;AACd,yCAAyC;AACjC,gCAAU"}
@@ -0,0 +1,5 @@
1
+ import { IsolationLevel } from '../IsolationLevel';
2
+ import { Query } from '../Query';
3
+ export declare class SetIsolationLevelQuery extends Query<IsolationLevel, void> {
4
+ protected _getQuery(): string;
5
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /*
3
+ Copyright 2017-2021 Norman Breau
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.SetIsolationLevelQuery = void 0;
19
+ const IsolationLevel_1 = require("../IsolationLevel");
20
+ const Query_1 = require("../Query");
21
+ class SetIsolationLevelQuery extends Query_1.Query {
22
+ _getQuery() {
23
+ let level;
24
+ switch (this.getParameters()) {
25
+ case IsolationLevel_1.IsolationLevel.READ_COMMITTED:
26
+ level = 'READ COMMITTED';
27
+ break;
28
+ case IsolationLevel_1.IsolationLevel.READ_UNCOMMITTED:
29
+ level = 'READ UNCOMMITTED';
30
+ break;
31
+ case IsolationLevel_1.IsolationLevel.REPEATABLE_READ:
32
+ level = 'REPEATABLE READ';
33
+ break;
34
+ case IsolationLevel_1.IsolationLevel.SERIALIZABLE:
35
+ level = 'SERIALIZABLE';
36
+ break;
37
+ }
38
+ return `SET TRANSACTION ISOLATION LEVEL ${level}`;
39
+ }
40
+ }
41
+ exports.SetIsolationLevelQuery = SetIsolationLevelQuery;
42
+ //# sourceMappingURL=SetIsolationLevelQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetIsolationLevelQuery.js","sourceRoot":"","sources":["../../src/private/SetIsolationLevelQuery.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,sDAAmD;AACnD,oCAA+B;AAE/B,MAAa,sBAAuB,SAAQ,aAA2B;IACzD,SAAS;QACf,IAAI,KAAa,CAAC;QAClB,QAAQ,IAAI,CAAC,aAAa,EAAE,EAAE;YAC1B,KAAK,+BAAc,CAAC,cAAc;gBAC9B,KAAK,GAAG,gBAAgB,CAAC;gBACzB,MAAM;YACV,KAAK,+BAAc,CAAC,gBAAgB;gBAChC,KAAK,GAAG,kBAAkB,CAAC;gBAC3B,MAAM;YACV,KAAK,+BAAc,CAAC,eAAe;gBAC/B,KAAK,GAAG,iBAAiB,CAAC;gBAC1B,MAAM;YACV,KAAK,+BAAc,CAAC,YAAY;gBAC5B,KAAK,GAAG,cAAc,CAAC;gBACvB,MAAM;SACb;QACD,OAAO,mCAAmC,KAAK,EAAE,CAAC;IACtD,CAAC;CACJ;AAnBD,wDAmBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@breautek/storm",
3
- "version": "4.5.0",
3
+ "version": "4.6.1",
4
4
  "description": "Object-Oriented REST API framework",
5
5
  "main": "lib/api.js",
6
6
  "types": "lib/api.d.ts",
@@ -21,6 +21,7 @@ import {Readable} from 'stream';
21
21
  import {IDatabaseConnection} from './IDatabaseConnection';
22
22
  import {Query} from './Query';
23
23
  import { IConfig } from './IConfig';
24
+ import { IsolationLevel } from './IsolationLevel';
24
25
 
25
26
  export const LINGER_WARNING: number = 10000;
26
27
  export const DEFAULT_QUERY_TIMEOUT: number = 3600000;
@@ -189,7 +190,7 @@ export abstract class DatabaseConnection<TAPI> implements IDatabaseConnection {
189
190
  * @async
190
191
  * @returns Promise<void>
191
192
  */
192
- public abstract startTransaction(): Promise<void>;
193
+ public abstract startTransaction(isolationLevel?: IsolationLevel): Promise<void>;
193
194
 
194
195
  /**
195
196
  * Implementation method to determine if the connection is in an active transaction.
@@ -15,6 +15,7 @@
15
15
  */
16
16
 
17
17
  import { Readable } from 'stream';
18
+ import { IsolationLevel } from './IsolationLevel';
18
19
  import { Query } from './Query';
19
20
 
20
21
  export interface IDatabaseConnection {
@@ -28,7 +29,7 @@ export interface IDatabaseConnection {
28
29
  stream(query: string | Query, params?: any, streamOptions?: any): Readable;
29
30
  close(forceClose?: boolean): Promise<void>;
30
31
  isClosed(): boolean;
31
- startTransaction(): Promise<void>;
32
+ startTransaction(level?: IsolationLevel): Promise<void>;
32
33
  isTransaction(): boolean;
33
34
  commit(): Promise<void>;
34
35
  rollback(): Promise<void>;
@@ -0,0 +1,22 @@
1
+ /*
2
+ Copyright 2017-2022 Norman Breau
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ */
16
+
17
+ export enum IsolationLevel {
18
+ REPEATABLE_READ = 1,
19
+ READ_COMMITTED,
20
+ READ_UNCOMMITTED,
21
+ SERIALIZABLE
22
+ }
@@ -18,6 +18,7 @@ import {IDatabaseConnection} from './IDatabaseConnection';
18
18
  import {getInstance} from './instance';
19
19
  import {Readable} from 'stream';
20
20
  import { Query } from './Query';
21
+ import { IsolationLevel } from './IsolationLevel';
21
22
 
22
23
  const TAG: string = 'ManagedDatabaseConnection';
23
24
 
@@ -164,11 +165,11 @@ export class ManagedDatabaseConnection implements IDatabaseConnection {
164
165
  });
165
166
  }
166
167
 
167
- public startTransaction(): Promise<void> {
168
+ public startTransaction(isolationLevel?: IsolationLevel): Promise<void> {
168
169
  return new Promise<void>((resolve, reject) => {
169
170
  this.$getConnection().then((connection: IDatabaseConnection) => {
170
171
  if (!this.isManaged()) {
171
- connection.startTransaction().then(resolve).catch(reject);
172
+ connection.startTransaction(isolationLevel).then(resolve).catch(reject);
172
173
  }
173
174
  else {
174
175
  resolve();