@breautek/storm 8.5.0 → 8.6.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.
Files changed (120) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/docs/assets/hierarchy.js +1 -1
  3. package/docs/assets/navigation.js +1 -1
  4. package/docs/assets/search.js +1 -1
  5. package/docs/assets/style.css +2 -9
  6. package/docs/classes/Application.html +17 -17
  7. package/docs/classes/BackendAuthenticationMiddleware.html +3 -3
  8. package/docs/classes/CORSMiddleware.html +3 -3
  9. package/docs/classes/ConfigLoader.html +3 -3
  10. package/docs/classes/Database.html +2 -2
  11. package/docs/classes/DatabaseCastObject.html +2 -2
  12. package/docs/classes/DatabaseConnection.html +21 -21
  13. package/docs/classes/DatabaseQueryError.html +6 -6
  14. package/docs/classes/DeadLockError.html +6 -6
  15. package/docs/classes/DiskSpaceError.html +5 -5
  16. package/docs/classes/DropTemporaryTableQuery.html +11 -8
  17. package/docs/classes/DuplicateEntryError.html +5 -5
  18. package/docs/classes/EntityNotFoundError.html +5 -5
  19. package/docs/classes/ExpiredTokenError.html +5 -5
  20. package/docs/classes/Handler.html +2 -2
  21. package/docs/classes/InternalError.html +5 -5
  22. package/docs/classes/InvalidCredentialsError.html +5 -5
  23. package/docs/classes/InvalidValueError.html +5 -5
  24. package/docs/classes/LineString.html +2 -2
  25. package/docs/classes/LockWaitTimeoutError.html +6 -6
  26. package/docs/classes/ManagedDatabaseConnection.html +8 -5
  27. package/docs/classes/Middleware.html +2 -2
  28. package/docs/classes/MissingConfigError.html +5 -5
  29. package/docs/classes/MissingParameterError.html +5 -5
  30. package/docs/classes/MySQLConnection.html +23 -23
  31. package/docs/classes/MySQLDatabase.html +2 -2
  32. package/docs/classes/NotImplementedError.html +5 -5
  33. package/docs/classes/Point.html +2 -2
  34. package/docs/classes/Polygon.html +2 -2
  35. package/docs/classes/Query.html +11 -8
  36. package/docs/classes/RawError.html +5 -5
  37. package/docs/classes/RawQuery.html +11 -8
  38. package/docs/classes/Request.html +2 -2
  39. package/docs/classes/Response.html +2 -2
  40. package/docs/classes/ResponseData.html +2 -2
  41. package/docs/classes/ServiceProvider.html +2 -2
  42. package/docs/classes/ServiceResponse.html +2 -2
  43. package/docs/classes/SetSessionVariableQuery.html +11 -8
  44. package/docs/classes/StormError.html +5 -5
  45. package/docs/classes/TemporaryTableQuery.html +11 -8
  46. package/docs/classes/TimeoutError.html +5 -5
  47. package/docs/classes/Token.html +2 -2
  48. package/docs/classes/TokenManager.html +2 -2
  49. package/docs/classes/Transaction.html +2 -2
  50. package/docs/classes/UnauthorizedAccessError.html +5 -5
  51. package/docs/enums/ErrorCode.html +2 -2
  52. package/docs/enums/ExitCode.html +2 -2
  53. package/docs/enums/HTTPMethod.html +2 -2
  54. package/docs/enums/IsolationLevel.html +2 -2
  55. package/docs/enums/JWTError.html +2 -2
  56. package/docs/enums/StatusCode.html +2 -2
  57. package/docs/enums/TransactionAccessLevel.html +4 -0
  58. package/docs/functions/getInstance.html +1 -1
  59. package/docs/hierarchy.html +1 -1
  60. package/docs/index.html +1 -1
  61. package/docs/interfaces/IAdditionalErrorDetails.html +1 -1
  62. package/docs/interfaces/ICloudwatchConfig.html +2 -2
  63. package/docs/interfaces/ICloudwatchCredentials.html +2 -2
  64. package/docs/interfaces/ICloudwatchStreamConfig.html +2 -2
  65. package/docs/interfaces/IConfig.html +2 -2
  66. package/docs/interfaces/IDatabaseConfig.html +2 -2
  67. package/docs/interfaces/IDatabaseConnection.html +8 -5
  68. package/docs/interfaces/IDatabasePosition.html +2 -2
  69. package/docs/interfaces/IErrorResponse.html +2 -2
  70. package/docs/interfaces/IFormData.html +2 -2
  71. package/docs/interfaces/IHandler.html +2 -2
  72. package/docs/interfaces/IInsertQueryResult.html +2 -2
  73. package/docs/interfaces/IJWTVerifyOptions.html +2 -2
  74. package/docs/interfaces/IOKPacket.html +2 -2
  75. package/docs/interfaces/IParameterMap.html +1 -1
  76. package/docs/interfaces/IQueryable.html +2 -2
  77. package/docs/interfaces/IRequestResponse.html +2 -2
  78. package/docs/interfaces/IServiceHeaders.html +1 -1
  79. package/docs/interfaces/ISetSessionVariableQueryInput.html +2 -2
  80. package/docs/interfaces/IStormCLIArgs.html +2 -2
  81. package/docs/interfaces/ITemporaryTableQueryInput.html +2 -2
  82. package/docs/interfaces/IUpdateQueryResult.html +2 -2
  83. package/docs/interfaces/formidable.FileJSON.html +1 -1
  84. package/docs/interfaces/formidable.Part.html +1 -1
  85. package/docs/types/IDeleteQueryResult.html +1 -1
  86. package/docs/types/IHandlerError.html +1 -1
  87. package/docs/types/IHandlerResponse.html +1 -1
  88. package/docs/types/IStoredProcedureResult.html +1 -1
  89. package/docs/types/TCoordinate.html +1 -1
  90. package/lib/IDatabaseConnection.d.ts +5 -1
  91. package/lib/ManagedDatabaseConnection.d.ts +2 -1
  92. package/lib/ManagedDatabaseConnection.js +2 -2
  93. package/lib/ManagedDatabaseConnection.js.map +1 -1
  94. package/lib/MySQLConnection.d.ts +2 -1
  95. package/lib/MySQLConnection.js +7 -5
  96. package/lib/MySQLConnection.js.map +1 -1
  97. package/lib/Query.d.ts +2 -0
  98. package/lib/Query.js +2 -0
  99. package/lib/Query.js.map +1 -1
  100. package/lib/Transaction.d.ts +3 -1
  101. package/lib/Transaction.js +4 -2
  102. package/lib/Transaction.js.map +1 -1
  103. package/lib/TransactionAccessLevel.d.ts +7 -0
  104. package/lib/TransactionAccessLevel.js +27 -0
  105. package/lib/TransactionAccessLevel.js.map +1 -0
  106. package/lib/api.d.ts +1 -0
  107. package/lib/api.js +4 -2
  108. package/lib/api.js.map +1 -1
  109. package/lib/private/StartTransactionQuery.d.ts +8 -1
  110. package/lib/private/StartTransactionQuery.js +11 -2
  111. package/lib/private/StartTransactionQuery.js.map +1 -1
  112. package/package.json +11 -11
  113. package/src/IDatabaseConnection.ts +6 -1
  114. package/src/ManagedDatabaseConnection.ts +3 -2
  115. package/src/MySQLConnection.ts +9 -8
  116. package/src/Query.ts +2 -0
  117. package/src/Transaction.ts +5 -2
  118. package/src/TransactionAccessLevel.ts +23 -0
  119. package/src/api.ts +1 -0
  120. package/src/private/StartTransactionQuery.ts +22 -4
@@ -2,6 +2,7 @@ import { Readable } from 'stream';
2
2
  import { IQueryable } from './IQueryable';
3
3
  import { IsolationLevel } from './IsolationLevel';
4
4
  import { IDatabasePosition } from './IDatabasePosition';
5
+ import { TransactionAccessLevel } from './TransactionAccessLevel';
5
6
  export interface IDatabaseConnection {
6
7
  setInstantiationStack(stack: string): void;
7
8
  getInstantiationStack(): string;
@@ -10,10 +11,13 @@ export interface IDatabaseConnection {
10
11
  setTimeout(timeout: number): void;
11
12
  getTimeout(): number;
12
13
  query(query: IQueryable<any>, params?: any): Promise<any>;
14
+ /**
15
+ * @deprecated - Streaming queries does not support post processing, creating a confusing API
16
+ */
13
17
  stream(query: IQueryable<any>, params?: any, streamOptions?: any): Readable;
14
18
  close(forceClose?: boolean): Promise<void>;
15
19
  isClosed(): boolean;
16
- startTransaction(level?: IsolationLevel): Promise<void>;
20
+ startTransaction(level?: IsolationLevel, accessLevel?: TransactionAccessLevel): Promise<void>;
17
21
  isTransaction(): boolean;
18
22
  commit(): Promise<void>;
19
23
  rollback(): Promise<void>;
@@ -4,6 +4,7 @@ import { Query } from './Query';
4
4
  import { IsolationLevel } from './IsolationLevel';
5
5
  import { IDatabasePosition } from './IDatabasePosition';
6
6
  import { IQueryable } from './IQueryable';
7
+ import { TransactionAccessLevel } from './TransactionAccessLevel';
7
8
  export declare class ManagedDatabaseConnection implements IDatabaseConnection {
8
9
  private $connection;
9
10
  /**
@@ -30,7 +31,7 @@ export declare class ManagedDatabaseConnection implements IDatabaseConnection {
30
31
  query(query: Query, params?: any): Promise<any>;
31
32
  stream(query: Query, params?: any, streamOptions?: any): Readable;
32
33
  close(forceClose?: boolean): Promise<void>;
33
- startTransaction(isolationLevel?: IsolationLevel): Promise<void>;
34
+ startTransaction(isolationLevel?: IsolationLevel, accessLevel?: TransactionAccessLevel): Promise<void>;
34
35
  isTransaction(): boolean;
35
36
  commit(): Promise<void>;
36
37
  rollback(): Promise<void>;
@@ -140,11 +140,11 @@ class ManagedDatabaseConnection {
140
140
  }
141
141
  });
142
142
  }
143
- startTransaction(isolationLevel) {
143
+ startTransaction(isolationLevel, accessLevel) {
144
144
  return new Promise((resolve, reject) => {
145
145
  this.$getConnection().then((connection) => {
146
146
  if (!this.isManaged()) {
147
- connection.startTransaction(isolationLevel).then(resolve).catch(reject);
147
+ connection.startTransaction(isolationLevel, accessLevel).then(resolve).catch(reject);
148
148
  }
149
149
  else {
150
150
  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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"}
@@ -4,6 +4,7 @@ import { Readable } from 'stream';
4
4
  import { IsolationLevel } from './IsolationLevel';
5
5
  import { IDatabasePosition } from './IDatabasePosition';
6
6
  import { IQueryable } from './IQueryable';
7
+ import { TransactionAccessLevel } from './TransactionAccessLevel';
7
8
  export declare class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
8
9
  private $transaction;
9
10
  private $opened;
@@ -21,7 +22,7 @@ export declare class MySQLConnection extends DatabaseConnection<MySQL.PoolConnec
21
22
  getCurrentDatabasePosition(): Promise<IDatabasePosition>;
22
23
  protected _query(query: string, params?: any): Promise<any>;
23
24
  protected _stream(query: string, params?: any, streamOptions?: any): Readable;
24
- startTransaction(isolationLevel?: IsolationLevel): Promise<void>;
25
+ startTransaction(isolationLevel?: IsolationLevel, accessLevel?: TransactionAccessLevel): Promise<void>;
25
26
  endTransaction(requiresRollback?: boolean): Promise<void>;
26
27
  rollback(): Promise<void>;
27
28
  commit(): Promise<void>;
@@ -31,6 +31,7 @@ const LockWaitTimeoutError_1 = require("./LockWaitTimeoutError");
31
31
  const GetSlavePositionQuery_1 = require("./private/GetSlavePositionQuery");
32
32
  const GetMasterPositionQuery_1 = require("./private/GetMasterPositionQuery");
33
33
  const queryFormatter_1 = require("./mysql/queryFormatter");
34
+ const TransactionAccessLevel_1 = require("./TransactionAccessLevel");
34
35
  const DEFAULT_HIGH_WATERMARK = 512; // in number of result objects
35
36
  const TAG = 'MySQLConnection';
36
37
  const SQL_FORMATTING_OPTIONS = {
@@ -47,7 +48,6 @@ const SQL_FORMATTING_OPTIONS = {
47
48
  dataTypeCase: 'upper',
48
49
  functionCase: 'upper'
49
50
  };
50
- let startTransactionQuery = new StartTransactionQuery_1.StartTransactionQuery();
51
51
  let commitQuery = new CommitQuery_1.CommitQuery();
52
52
  let rollbackQuery = new RollbackQuery_1.RollbackQuery();
53
53
  class MySQLConnection extends DatabaseConnection_1.DatabaseConnection {
@@ -160,9 +160,9 @@ class MySQLConnection extends DatabaseConnection_1.DatabaseConnection {
160
160
  (0, instance_1.getInstance)().getLogger().trace(TAG, SQLFormatter.format(queryObject.sql, SQL_FORMATTING_OPTIONS));
161
161
  return queryObject.stream(streamOptions);
162
162
  }
163
- async startTransaction(isolationLevel) {
164
- if (this.isReadOnly()) {
165
- throw new Error('A readonly connection cannot start a transaction.');
163
+ async startTransaction(isolationLevel, accessLevel = TransactionAccessLevel_1.TransactionAccessLevel.RW) {
164
+ if (this.isReadOnly() && accessLevel === TransactionAccessLevel_1.TransactionAccessLevel.RW) {
165
+ throw new Error('A readonly connection cannot start a read/write transaction.');
166
166
  }
167
167
  if (this.isTransaction()) {
168
168
  throw new Error('Connection is already in a transaction.');
@@ -172,7 +172,9 @@ class MySQLConnection extends DatabaseConnection_1.DatabaseConnection {
172
172
  if (isolationLevel) {
173
173
  await new SetIsolationLevelQuery_1.SetIsolationLevelQuery(isolationLevel).execute(this);
174
174
  }
175
- await startTransactionQuery.execute(this);
175
+ await new StartTransactionQuery_1.StartTransactionQuery({
176
+ accessLevel: accessLevel
177
+ }).execute(this);
176
178
  }
177
179
  catch (ex) {
178
180
  this.$transaction = false;
@@ -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/Query.d.ts CHANGED
@@ -39,6 +39,8 @@ export declare abstract class Query<TQueryParameters = any, TQueryResultSet = an
39
39
  /**
40
40
  * Override to augment/manipulate the returned result set.
41
41
  *
42
+ * @deprecated - Streaming queries does not support post processing, creating a confusing API
43
+ *
42
44
  * @param connection The connection object used for this query execution. Useful if further queries are required.
43
45
  * @param resultset The original result set
44
46
  */
package/lib/Query.js CHANGED
@@ -65,6 +65,8 @@ class Query {
65
65
  /**
66
66
  * Override to augment/manipulate the returned result set.
67
67
  *
68
+ * @deprecated - Streaming queries does not support post processing, creating a confusing API
69
+ *
68
70
  * @param connection The connection object used for this query execution. Useful if further queries are required.
69
71
  * @param resultset The original result set
70
72
  */
package/lib/Query.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Query.js","sourceRoot":"","sources":["../src/Query.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAKF,MAAsB,KAAK;IAGvB,YAAmB,UAA6B;QAC5C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,qBAAqB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAIM,QAAQ,CAAC,UAA+B;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACI,UAAU,CAAC,UAA+B;QAC7C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,WAAW,CAAC,UAA+B;QAC9C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,aAAa,CAAC,UAA+B,EAAE,SAA0B;QAClF,wEAAwE;QACxE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAgB,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,UAA+B;QAChD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACJ;AAtED,sBAsEC"}
1
+ {"version":3,"file":"Query.js","sourceRoot":"","sources":["../src/Query.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAKF,MAAsB,KAAK;IAGvB,YAAmB,UAA6B;QAC5C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,qBAAqB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAIM,QAAQ,CAAC,UAA+B;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACI,UAAU,CAAC,UAA+B;QAC7C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,WAAW,CAAC,UAA+B;QAC9C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,aAAa,CAAC,UAA+B,EAAE,SAA0B;QAClF,wEAAwE;QACxE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAgB,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,UAA+B;QAChD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACJ;AAxED,sBAwEC"}
@@ -2,6 +2,7 @@ import { IDatabaseConnection } from './IDatabaseConnection';
2
2
  import { IQueryable } from './IQueryable';
3
3
  import { Application } from './Application';
4
4
  import { IsolationLevel } from './IsolationLevel';
5
+ import { TransactionAccessLevel } from './TransactionAccessLevel';
5
6
  export type ITransactionExecutor = (connection: IDatabaseConnection) => Promise<void>;
6
7
  /**
7
8
  * A class encapsulating an entire transaction from beginning to commitment.
@@ -19,7 +20,8 @@ export declare class Transaction implements IQueryable<void> {
19
20
  private $application;
20
21
  private $isolationLevel;
21
22
  private $executor;
22
- constructor(app: Application, executor: ITransactionExecutor, retryLimit?: number, isolationLevel?: IsolationLevel);
23
+ private $accessLevel;
24
+ constructor(app: Application, executor: ITransactionExecutor, retryLimit?: number, isolationLevel?: IsolationLevel, accessLevel?: TransactionAccessLevel);
23
25
  onPreQuery(connection: IDatabaseConnection): Promise<void>;
24
26
  onPostQuery(connection: IDatabaseConnection): Promise<void>;
25
27
  getQuery(connection: IDatabaseConnection): string;
@@ -21,6 +21,7 @@ const InternalError_1 = require("./InternalError");
21
21
  const DeadLockError_1 = require("./DeadLockError");
22
22
  const InvalidValueError_1 = require("./InvalidValueError");
23
23
  const LockWaitTimeoutError_1 = require("./LockWaitTimeoutError");
24
+ const TransactionAccessLevel_1 = require("./TransactionAccessLevel");
24
25
  const TAG = 'Transaction';
25
26
  /**
26
27
  * A class encapsulating an entire transaction from beginning to commitment.
@@ -34,7 +35,7 @@ const TAG = 'Transaction';
34
35
  * on the same connection.
35
36
  */
36
37
  class Transaction {
37
- constructor(app, executor, retryLimit = Infinity, isolationLevel = IsolationLevel_1.IsolationLevel.REPEATABLE_READ) {
38
+ constructor(app, executor, retryLimit = Infinity, isolationLevel = IsolationLevel_1.IsolationLevel.REPEATABLE_READ, accessLevel = TransactionAccessLevel_1.TransactionAccessLevel.RW) {
38
39
  this.$application = app;
39
40
  this.$executor = executor;
40
41
  if (retryLimit === null || retryLimit === undefined) {
@@ -45,6 +46,7 @@ class Transaction {
45
46
  }
46
47
  this.$retryLimit = retryLimit;
47
48
  this.$isolationLevel = isolationLevel;
49
+ this.$accessLevel = accessLevel;
48
50
  }
49
51
  async onPreQuery(connection) { }
50
52
  async onPostQuery(connection) { }
@@ -65,7 +67,7 @@ class Transaction {
65
67
  do {
66
68
  attemptCount++;
67
69
  this.$application.getLogger().info(TAG, `Starting transaction attempt ${attemptCount} of ${this.$retryLimit === Infinity ? 'Infinity' : this.$retryLimit.toString()}`);
68
- await connection.startTransaction(this.$isolationLevel);
70
+ await connection.startTransaction(this.$isolationLevel, this.$accessLevel);
69
71
  try {
70
72
  await this.$executor(connection);
71
73
  await connection.commit();
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../src/Transaction.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAKF,qDAAkD;AAClD,mDAAgD;AAChD,mDAAgD;AAChD,2DAAwD;AACxD,iEAA8D;AAE9D,MAAM,GAAG,GAAW,aAAa,CAAC;AAIlC;;;;;;;;;;GAUG;AACH,MAAa,WAAW;IAMpB,YAAmB,GAAgB,EAAE,QAA8B,EAAE,aAAqB,QAAQ,EAAE,iBAAiC,+BAAc,CAAC,eAAe;QAC/J,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAClD,UAAU,GAAG,QAAQ,CAAC;QAC1B,CAAC;aACI,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,qCAAiB,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,UAA+B,IAAkB,CAAC;IACnE,KAAK,CAAC,WAAW,CAAC,UAA+B,IAAkB,CAAC;IAEpE,QAAQ,CAAC,UAA+B;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,qBAAqB;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,KAAK,CAAC,aAAa,CAAC,UAA+B,EAAE,OAAY;QACpE,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,UAA+B;QAChD,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,6BAAa,CAAC,yFAAyF,CAAC,CAAC;QACvH,CAAC;QAED,IAAI,YAAY,GAAW,CAAC,CAAC;QAC7B,GAAG,CAAC;YACA,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,gCAAgC,YAAY,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACvK,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACxD,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACjC,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;gBAE1B,yDAAyD;gBACzD,MAAM;YACV,CAAC;YACD,OAAO,EAAE,EAAE,CAAC;gBACR,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,YAAY,6BAAa,EAAE,CAAC;oBACjE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,2CAA2C,CAAC,CAAC;gBACzF,CAAC;qBACI,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,YAAY,2CAAoB,EAAE,CAAC;oBAC7E,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;oBAChF,gHAAgH;oBAChH,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAChC,CAAC;qBACI,CAAC;oBACF,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAC5B,MAAM,EAAE,CAAC;gBACb,CAAC;YACL,CAAC;QACL,CAAC,QAAQ,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE;IAC9C,CAAC;CACJ;AAnED,kCAmEC"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../src/Transaction.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAKF,qDAAkD;AAClD,mDAAgD;AAChD,mDAAgD;AAChD,2DAAwD;AACxD,iEAA8D;AAC9D,qEAAkE;AAElE,MAAM,GAAG,GAAW,aAAa,CAAC;AAIlC;;;;;;;;;;GAUG;AACH,MAAa,WAAW;IAOpB,YAAmB,GAAgB,EAAE,QAA8B,EAAE,aAAqB,QAAQ,EAAE,iBAAiC,+BAAc,CAAC,eAAe,EAAE,cAAsC,+CAAsB,CAAC,EAAE;QAChO,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAClD,UAAU,GAAG,QAAQ,CAAC;QAC1B,CAAC;aACI,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,qCAAiB,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,UAA+B,IAAkB,CAAC;IACnE,KAAK,CAAC,WAAW,CAAC,UAA+B,IAAkB,CAAC;IAEpE,QAAQ,CAAC,UAA+B;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,qBAAqB;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,KAAK,CAAC,aAAa,CAAC,UAA+B,EAAE,OAAY;QACpE,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,UAA+B;QAChD,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,6BAAa,CAAC,yFAAyF,CAAC,CAAC;QACvH,CAAC;QAED,IAAI,YAAY,GAAW,CAAC,CAAC;QAC7B,GAAG,CAAC;YACA,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,gCAAgC,YAAY,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACvK,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3E,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACjC,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;gBAE1B,yDAAyD;gBACzD,MAAM;YACV,CAAC;YACD,OAAO,EAAE,EAAE,CAAC;gBACR,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,YAAY,6BAAa,EAAE,CAAC;oBACjE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,2CAA2C,CAAC,CAAC;gBACzF,CAAC;qBACI,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,YAAY,2CAAoB,EAAE,CAAC;oBAC7E,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;oBAChF,gHAAgH;oBAChH,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAChC,CAAC;qBACI,CAAC;oBACF,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAC5B,MAAM,EAAE,CAAC;gBACb,CAAC;YACL,CAAC;QACL,CAAC,QAAQ,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE;IAC9C,CAAC;CACJ;AArED,kCAqEC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @since 8.6.0
3
+ */
4
+ export declare enum TransactionAccessLevel {
5
+ RW = 0,
6
+ RO = 1
7
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /*
3
+ Copyright 2017-2025 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.TransactionAccessLevel = void 0;
19
+ /**
20
+ * @since 8.6.0
21
+ */
22
+ var TransactionAccessLevel;
23
+ (function (TransactionAccessLevel) {
24
+ TransactionAccessLevel[TransactionAccessLevel["RW"] = 0] = "RW";
25
+ TransactionAccessLevel[TransactionAccessLevel["RO"] = 1] = "RO";
26
+ })(TransactionAccessLevel || (exports.TransactionAccessLevel = TransactionAccessLevel = {}));
27
+ //# sourceMappingURL=TransactionAccessLevel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionAccessLevel.js","sourceRoot":"","sources":["../src/TransactionAccessLevel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF;;GAEG;AACH,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAC9B,+DAAE,CAAA;IACF,+DAAE,CAAA;AACN,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC"}
package/lib/api.d.ts CHANGED
@@ -18,6 +18,7 @@ export { IsolationLevel } from './IsolationLevel';
18
18
  export { Transaction } from './Transaction';
19
19
  export { IOKPacket } from './IOKPacket';
20
20
  export { IStoredProcedureResult } from './IStoredProcedureResult';
21
+ export { TransactionAccessLevel } from './TransactionAccessLevel';
21
22
  export { ErrorCode } from './ErrorCode';
22
23
  export { RawError } from './RawError';
23
24
  export { StormError, IErrorResponse, IAdditionalErrorDetails } from './StormError';
package/lib/api.js CHANGED
@@ -15,8 +15,8 @@
15
15
  limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.Point = exports.DatabaseCastObject = 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.LockWaitTimeoutError = 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.TimeoutError = exports.StormError = exports.RawError = exports.ErrorCode = exports.Transaction = 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 = exports.Polygon = exports.LineString = void 0;
18
+ exports.DatabaseCastObject = 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.LockWaitTimeoutError = 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.TimeoutError = exports.StormError = exports.RawError = exports.ErrorCode = exports.TransactionAccessLevel = exports.Transaction = 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 = exports.Polygon = exports.LineString = exports.Point = void 0;
20
20
  const tslib_1 = require("tslib");
21
21
  // Application
22
22
  var instance_1 = require("./instance");
@@ -51,6 +51,8 @@ var IsolationLevel_1 = require("./IsolationLevel");
51
51
  Object.defineProperty(exports, "IsolationLevel", { enumerable: true, get: function () { return IsolationLevel_1.IsolationLevel; } });
52
52
  var Transaction_1 = require("./Transaction");
53
53
  Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return Transaction_1.Transaction; } });
54
+ var TransactionAccessLevel_1 = require("./TransactionAccessLevel");
55
+ Object.defineProperty(exports, "TransactionAccessLevel", { enumerable: true, get: function () { return TransactionAccessLevel_1.TransactionAccessLevel; } });
54
56
  // Errors
55
57
  var ErrorCode_1 = require("./ErrorCode");
56
58
  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,6CAGuB;AAFnB,0GAAA,WAAW,OAAA;AAIf,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;AACtB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AAInB,SAAS;AACT,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2CAIsB;AAHlB,wGAAA,UAAU,OAAA;AAId,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,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;AACrB,+DAA4D;AAApD,4HAAA,oBAAoB,OAAA;AAE5B,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;AAoBvC,QAAQ;AACR,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,QAAQ;AACR,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAIhB,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,+DAAyC;AACjC,gCAAU"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  import { Query } from '../Query';
2
- export declare class StartTransactionQuery extends Query<void, void> {
2
+ import { TransactionAccessLevel } from '../TransactionAccessLevel';
3
+ /**
4
+ * @since 8.6.0
5
+ */
6
+ export interface IStartTransactionQueryInput {
7
+ accessLevel?: TransactionAccessLevel;
8
+ }
9
+ export declare class StartTransactionQuery extends Query<IStartTransactionQueryInput, void> {
3
10
  protected _getQuery(): string;
4
11
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /*
3
- Copyright 2017-2021 Norman Breau
3
+ Copyright 2017-2025 Norman Breau
4
4
 
5
5
  Licensed under the Apache License, Version 2.0 (the "License");
6
6
  you may not use this file except in compliance with the License.
@@ -17,9 +17,18 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.StartTransactionQuery = void 0;
19
19
  const Query_1 = require("../Query");
20
+ const TransactionAccessLevel_1 = require("../TransactionAccessLevel");
20
21
  class StartTransactionQuery extends Query_1.Query {
21
22
  _getQuery() {
22
- return 'START TRANSACTION';
23
+ let params = this.getParameters();
24
+ let accessString;
25
+ if (params?.accessLevel === TransactionAccessLevel_1.TransactionAccessLevel.RO) {
26
+ accessString = 'READ ONLY';
27
+ }
28
+ else {
29
+ accessString = 'READ WRITE';
30
+ }
31
+ return `START TRANSACTION ${accessString}`;
23
32
  }
24
33
  }
25
34
  exports.StartTransactionQuery = StartTransactionQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"StartTransactionQuery.js","sourceRoot":"","sources":["../../src/private/StartTransactionQuery.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,oCAA+B;AAE/B,MAAa,qBAAsB,SAAQ,aAAiB;IAC9C,SAAS;QACf,OAAO,mBAAmB,CAAC;IAC/B,CAAC;CACJ;AAJD,sDAIC"}
1
+ {"version":3,"file":"StartTransactionQuery.js","sourceRoot":"","sources":["../../src/private/StartTransactionQuery.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,oCAA+B;AAC/B,sEAAmE;AASnE,MAAa,qBAAsB,SAAQ,aAAwC;IAC5D,SAAS;QACxB,IAAI,MAAM,GAAgC,IAAI,CAAC,aAAa,EAAE,CAAC;QAE/D,IAAI,YAAoB,CAAC;QACzB,IAAI,MAAM,EAAE,WAAW,KAAK,+CAAsB,CAAC,EAAE,EAAE,CAAC;YACpD,YAAY,GAAG,WAAW,CAAC;QAC/B,CAAC;aACI,CAAC;YACF,YAAY,GAAG,YAAY,CAAC;QAChC,CAAC;QAED,OAAO,qBAAqB,YAAY,EAAE,CAAC;IAC/C,CAAC;CACJ;AAdD,sDAcC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@breautek/storm",
3
- "version": "8.5.0",
3
+ "version": "8.6.0",
4
4
  "description": "Object-Oriented REST API framework",
5
5
  "main": "lib/api.js",
6
6
  "types": "lib/api.d.ts",
@@ -46,8 +46,8 @@
46
46
  "dependencies": {
47
47
  "@arashi/token": "1.0.1",
48
48
  "@breautek/merge-change": "1.0.0",
49
- "@types/body-parser": "1.19.5",
50
- "@types/express": "4.17.21",
49
+ "@types/body-parser": "1.19.6",
50
+ "@types/express": "4.17.23",
51
51
  "@types/formidable": "3.4.5",
52
52
  "@types/jsonwebtoken": "9.0.7",
53
53
  "@types/mysql": "2.15.27",
@@ -57,11 +57,11 @@
57
57
  "body-parser": "1.20.3",
58
58
  "commander": "13.1.0",
59
59
  "express": "4.21.2",
60
- "form-data": "4.0.2",
60
+ "form-data": "4.0.3",
61
61
  "formidable": "3.5.4",
62
62
  "jsonwebtoken": "9.0.2",
63
63
  "mysql": "2.18.1",
64
- "sql-formatter": "15.6.1",
64
+ "sql-formatter": "15.6.6",
65
65
  "tslib": "2.8.1",
66
66
  "uuid": "11.1.0"
67
67
  },
@@ -73,14 +73,14 @@
73
73
  "@arashi/interfaces": "1.2.1",
74
74
  "@arashi/logger": "4.1.3",
75
75
  "@totalpave/eslint-plugin": "7.0.11",
76
- "@types/jest": "29.5.14",
76
+ "@types/jest": "30.0.0",
77
77
  "auto-changelog": "2.5.0",
78
- "jest": "29.7.0",
79
- "jest-jasmine2": "29.7.0",
80
- "ts-jest": "29.3.2",
78
+ "jest": "30.0.3",
79
+ "jest-jasmine2": "30.0.3",
80
+ "ts-jest": "29.4.0",
81
81
  "ts-node": "10.9.2",
82
- "typedoc": "0.28.4",
83
- "typedoc-plugin-markdown": "4.6.3",
82
+ "typedoc": "0.28.7",
83
+ "typedoc-plugin-markdown": "4.7.0",
84
84
  "typescript": "5.8.3"
85
85
  }
86
86
  }
@@ -18,6 +18,7 @@ import { Readable } from 'stream';
18
18
  import { IQueryable } from './IQueryable';
19
19
  import { IsolationLevel } from './IsolationLevel';
20
20
  import { IDatabasePosition } from './IDatabasePosition';
21
+ import { TransactionAccessLevel } from './TransactionAccessLevel';
21
22
 
22
23
  export interface IDatabaseConnection {
23
24
  setInstantiationStack(stack: string): void;
@@ -27,10 +28,14 @@ export interface IDatabaseConnection {
27
28
  setTimeout(timeout: number): void;
28
29
  getTimeout(): number;
29
30
  query(query: IQueryable<any>, params?: any): Promise<any>;
31
+
32
+ /**
33
+ * @deprecated - Streaming queries does not support post processing, creating a confusing API
34
+ */
30
35
  stream(query: IQueryable<any>, params?: any, streamOptions?: any): Readable;
31
36
  close(forceClose?: boolean): Promise<void>;
32
37
  isClosed(): boolean;
33
- startTransaction(level?: IsolationLevel): Promise<void>;
38
+ startTransaction(level?: IsolationLevel, accessLevel?: TransactionAccessLevel): Promise<void>;
34
39
  isTransaction(): boolean;
35
40
  commit(): Promise<void>;
36
41
  rollback(): Promise<void>;
@@ -21,6 +21,7 @@ import { Query } from './Query';
21
21
  import { IsolationLevel } from './IsolationLevel';
22
22
  import { IDatabasePosition } from './IDatabasePosition';
23
23
  import { IQueryable } from './IQueryable';
24
+ import { TransactionAccessLevel } from './TransactionAccessLevel';
24
25
 
25
26
  const TAG: string = 'ManagedDatabaseConnection';
26
27
 
@@ -176,11 +177,11 @@ export class ManagedDatabaseConnection implements IDatabaseConnection {
176
177
  });
177
178
  }
178
179
 
179
- public startTransaction(isolationLevel?: IsolationLevel): Promise<void> {
180
+ public startTransaction(isolationLevel?: IsolationLevel, accessLevel?: TransactionAccessLevel): Promise<void> {
180
181
  return new Promise<void>((resolve, reject) => {
181
182
  this.$getConnection().then((connection: IDatabaseConnection) => {
182
183
  if (!this.isManaged()) {
183
- connection.startTransaction(isolationLevel).then(resolve).catch(reject);
184
+ connection.startTransaction(isolationLevel, accessLevel).then(resolve).catch(reject);
184
185
  }
185
186
  else {
186
187
  resolve();
@@ -19,7 +19,6 @@ import {DatabaseQueryError} from './DatabaseQueryError';
19
19
  import {getInstance} from './instance';
20
20
  import * as MySQL from 'mysql';
21
21
  import {Readable} from 'stream';
22
- import {Query} from './Query';
23
22
  import { StartTransactionQuery } from './private/StartTransactionQuery';
24
23
  import { CommitQuery } from './private/CommitQuery';
25
24
  import { RollbackQuery } from './private/RollbackQuery';
@@ -37,6 +36,7 @@ import { GetSlavePositionQuery } from './private/GetSlavePositionQuery';
37
36
  import { GetMasterPositionQuery } from './private/GetMasterPositionQuery';
38
37
  import { IQueryable } from './IQueryable';
39
38
  import { queryFormatter } from './mysql/queryFormatter';
39
+ import { TransactionAccessLevel } from './TransactionAccessLevel';
40
40
 
41
41
  const DEFAULT_HIGH_WATERMARK: number = 512; // in number of result objects
42
42
  const TAG: string = 'MySQLConnection';
@@ -56,9 +56,8 @@ const SQL_FORMATTING_OPTIONS: SQLFormatter.FormatOptions = {
56
56
  functionCase: 'upper'
57
57
  };
58
58
 
59
- let startTransactionQuery: Query = new StartTransactionQuery();
60
- let commitQuery: Query = new CommitQuery();
61
- let rollbackQuery: Query = new RollbackQuery();
59
+ let commitQuery: CommitQuery = new CommitQuery();
60
+ let rollbackQuery: RollbackQuery = new RollbackQuery();
62
61
 
63
62
  export class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
64
63
  private $transaction: boolean;
@@ -196,9 +195,9 @@ export class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
196
195
  return queryObject.stream(streamOptions);
197
196
  }
198
197
 
199
- public override async startTransaction(isolationLevel?: IsolationLevel): Promise<void> {
200
- if (this.isReadOnly()) {
201
- throw new Error('A readonly connection cannot start a transaction.')
198
+ public override async startTransaction(isolationLevel?: IsolationLevel, accessLevel: TransactionAccessLevel = TransactionAccessLevel.RW): Promise<void> {
199
+ if (this.isReadOnly() && accessLevel === TransactionAccessLevel.RW) {
200
+ throw new Error('A readonly connection cannot start a read/write transaction.')
202
201
  }
203
202
 
204
203
  if (this.isTransaction()) {
@@ -211,7 +210,9 @@ export class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
211
210
  if (isolationLevel) {
212
211
  await new SetIsolationLevelQuery(isolationLevel).execute(this);
213
212
  }
214
- await startTransactionQuery.execute(this);
213
+ await new StartTransactionQuery({
214
+ accessLevel: accessLevel
215
+ }).execute(this);
215
216
  }
216
217
  catch (ex) {
217
218
  this.$transaction = false;
package/src/Query.ts CHANGED
@@ -76,6 +76,8 @@ export abstract class Query<TQueryParameters = any, TQueryResultSet = any, TQuer
76
76
  /**
77
77
  * Override to augment/manipulate the returned result set.
78
78
  *
79
+ * @deprecated - Streaming queries does not support post processing, creating a confusing API
80
+ *
79
81
  * @param connection The connection object used for this query execution. Useful if further queries are required.
80
82
  * @param resultset The original result set
81
83
  */
@@ -22,6 +22,7 @@ import { InternalError } from './InternalError';
22
22
  import { DeadLockError } from './DeadLockError';
23
23
  import { InvalidValueError } from './InvalidValueError';
24
24
  import { LockWaitTimeoutError } from './LockWaitTimeoutError';
25
+ import { TransactionAccessLevel } from './TransactionAccessLevel';
25
26
 
26
27
  const TAG: string = 'Transaction';
27
28
 
@@ -43,8 +44,9 @@ export class Transaction implements IQueryable<void> {
43
44
  private $application: Application;
44
45
  private $isolationLevel: IsolationLevel;
45
46
  private $executor: ITransactionExecutor;
47
+ private $accessLevel: TransactionAccessLevel;
46
48
 
47
- public constructor(app: Application, executor: ITransactionExecutor, retryLimit: number = Infinity, isolationLevel: IsolationLevel = IsolationLevel.REPEATABLE_READ) {
49
+ public constructor(app: Application, executor: ITransactionExecutor, retryLimit: number = Infinity, isolationLevel: IsolationLevel = IsolationLevel.REPEATABLE_READ, accessLevel: TransactionAccessLevel = TransactionAccessLevel.RW) {
48
50
  this.$application = app;
49
51
  this.$executor = executor;
50
52
 
@@ -57,6 +59,7 @@ export class Transaction implements IQueryable<void> {
57
59
 
58
60
  this.$retryLimit = retryLimit;
59
61
  this.$isolationLevel = isolationLevel;
62
+ this.$accessLevel = accessLevel;
60
63
  }
61
64
 
62
65
  public async onPreQuery(connection: IDatabaseConnection): Promise<void> {}
@@ -81,7 +84,7 @@ export class Transaction implements IQueryable<void> {
81
84
  do {
82
85
  attemptCount++;
83
86
  this.$application.getLogger().info(TAG, `Starting transaction attempt ${attemptCount} of ${this.$retryLimit === Infinity ? 'Infinity' : this.$retryLimit.toString()}`);
84
- await connection.startTransaction(this.$isolationLevel);
87
+ await connection.startTransaction(this.$isolationLevel, this.$accessLevel);
85
88
  try {
86
89
  await this.$executor(connection);
87
90
  await connection.commit();