@breautek/storm 3.1.2 → 3.3.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 (85) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/docs/classes/Application.Application-1.md +76 -24
  3. package/docs/classes/BackendAuthenticationMiddleware.BackendAuthenticationMiddleware-1.md +2 -2
  4. package/docs/classes/CORSMiddleware.CORSMiddleware-1.md +6 -6
  5. package/docs/classes/ConfigLoader.ConfigLoader-1.md +1 -1
  6. package/docs/classes/Database.Database-1.md +40 -10
  7. package/docs/classes/DatabaseConnection.DatabaseConnection-1.md +19 -19
  8. package/docs/classes/DatabaseQueryError.DatabaseQueryError-1.md +8 -8
  9. package/docs/classes/DiskSpaceError.DiskSpaceError-1.md +8 -8
  10. package/docs/classes/DropTemporaryTableQuery.DropTemporaryTableQuery-1.md +8 -8
  11. package/docs/classes/DumpStream.DumpStream-1.md +1 -1
  12. package/docs/classes/DuplicateEntryError.DuplicateEntryError-1.md +8 -8
  13. package/docs/classes/EntityNotFoundError.EntityNotFoundError-1.md +8 -8
  14. package/docs/classes/ExpiredTokenError.ExpiredTokenError-1.md +8 -8
  15. package/docs/classes/Handler.Handler-1.md +34 -13
  16. package/docs/classes/InternalError.InternalError-1.md +8 -8
  17. package/docs/classes/InvalidConfigError.InvalidConfigError-1.md +8 -8
  18. package/docs/classes/InvalidCredentialsError.InvalidCredentialsError-1.md +8 -8
  19. package/docs/classes/InvalidValueError.InvalidValueError-1.md +8 -8
  20. package/docs/classes/JWTVerifyOptionsParser.JWTVerifyOptionsParser-1.md +2 -2
  21. package/docs/classes/ManagedDatabaseConnection.ManagedDatabaseConnection-1.md +19 -19
  22. package/docs/classes/Middleware.Middleware-1.md +3 -3
  23. package/docs/classes/MissingConfigError.MissingConfigError-1.md +8 -8
  24. package/docs/classes/MissingParameterError.MissingParameterError-1.md +8 -8
  25. package/docs/classes/MySQLConnection.MySQLConnection-1.md +20 -20
  26. package/docs/classes/MySQLDatabase.MySQLDatabase-1.md +49 -11
  27. package/docs/classes/Query.Query-1.md +8 -8
  28. package/docs/classes/RawQuery.RawQuery-1.md +8 -8
  29. package/docs/classes/Request.Request-1.md +18 -18
  30. package/docs/classes/Response.Response-1.md +11 -11
  31. package/docs/classes/ResponseData.ResponseData-1.md +7 -7
  32. package/docs/classes/ServiceProvider.ServiceProvider-1.md +15 -15
  33. package/docs/classes/ServiceResponse.ServiceResponse-1.md +4 -4
  34. package/docs/classes/StormError.StormError-1.md +8 -8
  35. package/docs/classes/TemporaryTableQuery.TemporaryTableQuery-1.md +8 -8
  36. package/docs/classes/Token.Token-1.md +2 -2
  37. package/docs/classes/TokenManager.TokenManager-1.md +4 -4
  38. package/docs/classes/UnauthorizedAccessError.UnauthorizedAccessError-1.md +8 -8
  39. package/docs/classes/private_CommitQuery.CommitQuery.md +8 -8
  40. package/docs/classes/private_RollbackQuery.RollbackQuery.md +8 -8
  41. package/docs/classes/private_StartTransactionQuery.StartTransactionQuery.md +8 -8
  42. package/docs/enums/ApplicationEvent.ApplicationEvent-1.md +1 -1
  43. package/docs/enums/ErrorCode.ErrorCode-1.md +9 -9
  44. package/docs/enums/ExitCode.ExitCode-1.md +2 -2
  45. package/docs/enums/HTTPMethod.HTTPMethod-1.md +4 -4
  46. package/docs/enums/JWTError.JWTError-1.md +2 -2
  47. package/docs/enums/StatusCode.StatusCode-1.md +48 -48
  48. package/docs/interfaces/DropTemporaryTableQuery.IDropTemporaryTableQueryInput.md +1 -1
  49. package/docs/interfaces/IConfig.IConfig-1.md +8 -8
  50. package/docs/interfaces/IDatabaseConfig.IDatabaseConfig-1.md +6 -6
  51. package/docs/interfaces/IDatabaseConnection.IDatabaseConnection-1.md +14 -14
  52. package/docs/interfaces/IFormData.IFormData-1.md +2 -2
  53. package/docs/interfaces/IHandler.IHandler-1.md +1 -1
  54. package/docs/interfaces/IInsertQueryResult.IInsertQueryResult-1.md +3 -3
  55. package/docs/interfaces/IJWTVerifyOptions.IJWTVerifyOptions-1.md +1 -1
  56. package/docs/interfaces/IRequestResponse.IRequestResponse-1.md +2 -2
  57. package/docs/interfaces/IUpdateQueryResult.IUpdateQueryResult-1.md +2 -2
  58. package/docs/interfaces/StormError.IErrorResponse.md +4 -4
  59. package/docs/interfaces/TemporaryTableQuery.ITemporaryTableQueryInput.md +2 -2
  60. package/docs/modules/DatabaseConnection.md +2 -2
  61. package/docs/modules/Handler.md +2 -2
  62. package/docs/modules/IDeleteQueryResult.md +1 -1
  63. package/docs/modules/Response.md +1 -1
  64. package/docs/modules/instance.md +2 -2
  65. package/lib/Application.d.ts +4 -0
  66. package/lib/Application.js +12 -1
  67. package/lib/Application.js.map +1 -1
  68. package/lib/ConfigLoader.js +1 -1
  69. package/lib/ConfigLoader.js.map +1 -1
  70. package/lib/Database.d.ts +2 -0
  71. package/lib/Database.js +3 -0
  72. package/lib/Database.js.map +1 -1
  73. package/lib/Handler.d.ts +1 -0
  74. package/lib/Handler.js +2 -0
  75. package/lib/Handler.js.map +1 -1
  76. package/lib/MySQLDatabase.d.ts +1 -0
  77. package/lib/MySQLDatabase.js +11 -0
  78. package/lib/MySQLDatabase.js.map +1 -1
  79. package/package.json +20 -20
  80. package/src/Application.ts +15 -1
  81. package/src/ConfigLoader.ts +1 -1
  82. package/src/Database.ts +5 -0
  83. package/src/Handler.ts +4 -0
  84. package/src/MySQLDatabase.ts +13 -0
  85. package/src/defs/merge-change.d.ts +1 -1
@@ -20,7 +20,7 @@
20
20
 
21
21
  #### Defined in
22
22
 
23
- [src/IInsertQueryResult.ts:19](https://github.com/breautek/storm/blob/012dd73/src/IInsertQueryResult.ts#L19)
23
+ [src/IInsertQueryResult.ts:19](https://github.com/breautek/storm/blob/8c3a317/src/IInsertQueryResult.ts#L19)
24
24
 
25
25
  ___
26
26
 
@@ -30,7 +30,7 @@ ___
30
30
 
31
31
  #### Defined in
32
32
 
33
- [src/IInsertQueryResult.ts:20](https://github.com/breautek/storm/blob/012dd73/src/IInsertQueryResult.ts#L20)
33
+ [src/IInsertQueryResult.ts:20](https://github.com/breautek/storm/blob/8c3a317/src/IInsertQueryResult.ts#L20)
34
34
 
35
35
  ___
36
36
 
@@ -40,4 +40,4 @@ ___
40
40
 
41
41
  #### Defined in
42
42
 
43
- [src/IInsertQueryResult.ts:18](https://github.com/breautek/storm/blob/012dd73/src/IInsertQueryResult.ts#L18)
43
+ [src/IInsertQueryResult.ts:18](https://github.com/breautek/storm/blob/8c3a317/src/IInsertQueryResult.ts#L18)
@@ -18,4 +18,4 @@
18
18
 
19
19
  #### Defined in
20
20
 
21
- [src/IJWTVerifyOptions.ts:18](https://github.com/breautek/storm/blob/012dd73/src/IJWTVerifyOptions.ts#L18)
21
+ [src/IJWTVerifyOptions.ts:18](https://github.com/breautek/storm/blob/8c3a317/src/IJWTVerifyOptions.ts#L18)
@@ -26,7 +26,7 @@
26
26
 
27
27
  #### Defined in
28
28
 
29
- [src/IRequestResponse.ts:21](https://github.com/breautek/storm/blob/012dd73/src/IRequestResponse.ts#L21)
29
+ [src/IRequestResponse.ts:21](https://github.com/breautek/storm/blob/8c3a317/src/IRequestResponse.ts#L21)
30
30
 
31
31
  ___
32
32
 
@@ -36,4 +36,4 @@ ___
36
36
 
37
37
  #### Defined in
38
38
 
39
- [src/IRequestResponse.ts:22](https://github.com/breautek/storm/blob/012dd73/src/IRequestResponse.ts#L22)
39
+ [src/IRequestResponse.ts:22](https://github.com/breautek/storm/blob/8c3a317/src/IRequestResponse.ts#L22)
@@ -19,7 +19,7 @@
19
19
 
20
20
  #### Defined in
21
21
 
22
- [src/IUpdateQueryResult.ts:18](https://github.com/breautek/storm/blob/012dd73/src/IUpdateQueryResult.ts#L18)
22
+ [src/IUpdateQueryResult.ts:18](https://github.com/breautek/storm/blob/8c3a317/src/IUpdateQueryResult.ts#L18)
23
23
 
24
24
  ___
25
25
 
@@ -29,4 +29,4 @@ ___
29
29
 
30
30
  #### Defined in
31
31
 
32
- [src/IUpdateQueryResult.ts:19](https://github.com/breautek/storm/blob/012dd73/src/IUpdateQueryResult.ts#L19)
32
+ [src/IUpdateQueryResult.ts:19](https://github.com/breautek/storm/blob/8c3a317/src/IUpdateQueryResult.ts#L19)
@@ -21,7 +21,7 @@
21
21
 
22
22
  #### Defined in
23
23
 
24
- [src/StormError.ts:31](https://github.com/breautek/storm/blob/012dd73/src/StormError.ts#L31)
24
+ [src/StormError.ts:31](https://github.com/breautek/storm/blob/8c3a317/src/StormError.ts#L31)
25
25
 
26
26
  ___
27
27
 
@@ -31,7 +31,7 @@ ___
31
31
 
32
32
  #### Defined in
33
33
 
34
- [src/StormError.ts:32](https://github.com/breautek/storm/blob/012dd73/src/StormError.ts#L32)
34
+ [src/StormError.ts:32](https://github.com/breautek/storm/blob/8c3a317/src/StormError.ts#L32)
35
35
 
36
36
  ___
37
37
 
@@ -41,7 +41,7 @@ ___
41
41
 
42
42
  #### Defined in
43
43
 
44
- [src/StormError.ts:30](https://github.com/breautek/storm/blob/012dd73/src/StormError.ts#L30)
44
+ [src/StormError.ts:30](https://github.com/breautek/storm/blob/8c3a317/src/StormError.ts#L30)
45
45
 
46
46
  ___
47
47
 
@@ -51,4 +51,4 @@ ___
51
51
 
52
52
  #### Defined in
53
53
 
54
- [src/StormError.ts:29](https://github.com/breautek/storm/blob/012dd73/src/StormError.ts#L29)
54
+ [src/StormError.ts:29](https://github.com/breautek/storm/blob/8c3a317/src/StormError.ts#L29)
@@ -19,7 +19,7 @@
19
19
 
20
20
  #### Defined in
21
21
 
22
- [src/TemporaryTableQuery.ts:22](https://github.com/breautek/storm/blob/012dd73/src/TemporaryTableQuery.ts#L22)
22
+ [src/TemporaryTableQuery.ts:22](https://github.com/breautek/storm/blob/8c3a317/src/TemporaryTableQuery.ts#L22)
23
23
 
24
24
  ___
25
25
 
@@ -29,4 +29,4 @@ ___
29
29
 
30
30
  #### Defined in
31
31
 
32
- [src/TemporaryTableQuery.ts:21](https://github.com/breautek/storm/blob/012dd73/src/TemporaryTableQuery.ts#L21)
32
+ [src/TemporaryTableQuery.ts:21](https://github.com/breautek/storm/blob/8c3a317/src/TemporaryTableQuery.ts#L21)
@@ -21,7 +21,7 @@
21
21
 
22
22
  #### Defined in
23
23
 
24
- [src/DatabaseConnection.ts:27](https://github.com/breautek/storm/blob/012dd73/src/DatabaseConnection.ts#L27)
24
+ [src/DatabaseConnection.ts:27](https://github.com/breautek/storm/blob/8c3a317/src/DatabaseConnection.ts#L27)
25
25
 
26
26
  ___
27
27
 
@@ -31,4 +31,4 @@ ___
31
31
 
32
32
  #### Defined in
33
33
 
34
- [src/DatabaseConnection.ts:26](https://github.com/breautek/storm/blob/012dd73/src/DatabaseConnection.ts#L26)
34
+ [src/DatabaseConnection.ts:26](https://github.com/breautek/storm/blob/8c3a317/src/DatabaseConnection.ts#L26)
@@ -27,7 +27,7 @@ This is to avoid accidental leakage of privilege data (e.g. snippets of database
27
27
 
28
28
  #### Defined in
29
29
 
30
- [src/Handler.ts:54](https://github.com/breautek/storm/blob/012dd73/src/Handler.ts#L54)
30
+ [src/Handler.ts:54](https://github.com/breautek/storm/blob/8c3a317/src/Handler.ts#L54)
31
31
 
32
32
  ___
33
33
 
@@ -47,4 +47,4 @@ certain things depending on the type of object it receives.
47
47
 
48
48
  #### Defined in
49
49
 
50
- [src/Handler.ts:45](https://github.com/breautek/storm/blob/012dd73/src/Handler.ts#L45)
50
+ [src/Handler.ts:45](https://github.com/breautek/storm/blob/8c3a317/src/Handler.ts#L45)
@@ -16,4 +16,4 @@
16
16
 
17
17
  #### Defined in
18
18
 
19
- [src/IDeleteQueryResult.ts:19](https://github.com/breautek/storm/blob/012dd73/src/IDeleteQueryResult.ts#L19)
19
+ [src/IDeleteQueryResult.ts:19](https://github.com/breautek/storm/blob/8c3a317/src/IDeleteQueryResult.ts#L19)
@@ -24,4 +24,4 @@
24
24
 
25
25
  #### Defined in
26
26
 
27
- [src/Response.ts:27](https://github.com/breautek/storm/blob/012dd73/src/Response.ts#L27)
27
+ [src/Response.ts:27](https://github.com/breautek/storm/blob/8c3a317/src/Response.ts#L27)
@@ -21,7 +21,7 @@
21
21
 
22
22
  #### Defined in
23
23
 
24
- [src/instance.ts:28](https://github.com/breautek/storm/blob/012dd73/src/instance.ts#L28)
24
+ [src/instance.ts:28](https://github.com/breautek/storm/blob/8c3a317/src/instance.ts#L28)
25
25
 
26
26
  ___
27
27
 
@@ -41,4 +41,4 @@ ___
41
41
 
42
42
  #### Defined in
43
43
 
44
- [src/instance.ts:21](https://github.com/breautek/storm/blob/012dd73/src/instance.ts#L21)
44
+ [src/instance.ts:21](https://github.com/breautek/storm/blob/8c3a317/src/instance.ts#L21)
@@ -2,6 +2,7 @@
2
2
  import { EventEmitter } from 'events';
3
3
  import { TokenManager } from './TokenManager';
4
4
  import { Database } from './Database';
5
+ import { Handler } from './Handler';
5
6
  import { IHandler } from './IHandler';
6
7
  import { IConfig } from './IConfig';
7
8
  import { Command } from 'commander';
@@ -28,7 +29,10 @@ export declare abstract class Application<TConfig extends IConfig = IConfig, TAu
28
29
  getProgram(): Command;
29
30
  getRequestSizeLimit(): number;
30
31
  attachHandler(path: string, HandlerClass: IHandler): void;
32
+ attachHandlerInstance(path: string, handler: Handler): void;
31
33
  close(): Promise<void>;
34
+ protected _closeDatabase(): Promise<void>;
35
+ protected _closeSocket(): Promise<void>;
32
36
  protected abstract _attachHandlers(): Promise<void>;
33
37
  loadConfig(path: string): Promise<TConfig>;
34
38
  getName(): string;
@@ -137,6 +137,9 @@ class Application extends events_1.EventEmitter {
137
137
  }
138
138
  attachHandler(path, HandlerClass) {
139
139
  let handler = new HandlerClass(this);
140
+ this.attachHandlerInstance(path, handler);
141
+ }
142
+ attachHandlerInstance(path, handler) {
140
143
  this.$server.get(path, (request, response) => {
141
144
  let r = new Request_1.Request(request);
142
145
  handler.get(r, new Response_1.Response(response, r.getURL()));
@@ -154,7 +157,15 @@ class Application extends events_1.EventEmitter {
154
157
  handler.delete(r, new Response_1.Response(response, r.getURL()));
155
158
  });
156
159
  }
157
- close() {
160
+ async close() {
161
+ await Promise.all([this._closeSocket(), this._closeDatabase()]);
162
+ }
163
+ async _closeDatabase() {
164
+ if (this.$db) {
165
+ await this.$db.destroy();
166
+ }
167
+ }
168
+ async _closeSocket() {
158
169
  return new Promise((resolve, reject) => {
159
170
  if (this.$socket && this.$socket.listening) {
160
171
  this.$socket.close(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ const instance_1 = require("./instance");
5
5
  const logger_1 = require("@arashi/logger");
6
6
  const Path = require("path");
7
7
  const ajv_1 = require("ajv");
8
- const MergeChange = require("merge-change");
8
+ const MergeChange = require("@breautek/merge-change");
9
9
  const InvalidConfigError_1 = require("./InvalidConfigError");
10
10
  const MissingConfigError_1 = require("./MissingConfigError");
11
11
  const TAG = 'ConfigLoader';
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../src/ConfigLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../src/ConfigLoader.ts"],"names":[],"mappings":"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"}
package/lib/Database.d.ts CHANGED
@@ -7,6 +7,8 @@ export declare abstract class Database<TDatabaseConfig, TConnectionAPI> {
7
7
  addSlave(slaveID: string, config: TDatabaseConfig): string;
8
8
  removeSlave(slaveID: string): void;
9
9
  getConnection(requireWriteAccess?: boolean, nodeID?: string): Promise<DatabaseConnection<TConnectionAPI>>;
10
+ destroy(): Promise<void>;
11
+ protected abstract _destroy(): Promise<void>;
10
12
  protected abstract _addNode(name: string, config: TDatabaseConfig): void;
11
13
  protected abstract _removeNode(name: string): void;
12
14
  protected abstract _getConnection(query: string, requireWriteAccess: boolean): Promise<DatabaseConnection<TConnectionAPI>>;
package/lib/Database.js CHANGED
@@ -44,6 +44,9 @@ class Database {
44
44
  }
45
45
  return this._getConnection(query, requireWriteAccess);
46
46
  }
47
+ destroy() {
48
+ return this._destroy();
49
+ }
47
50
  }
48
51
  exports.Database = Database;
49
52
  //# sourceMappingURL=Database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Database.js","sourceRoot":"","sources":["../src/Database.ts"],"names":[],"mappings":";;;AAiBA,6BAA6B;AAE7B,yCAAyC;AAEzC,MAAM,WAAW,GAAW,QAAQ,CAAC;AACrC,MAAM,GAAG,GAAW,UAAU,CAAC;AAE/B,MAAsB,QAAQ;IAG1B;QACI,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAChC,CAAC;IAEM,SAAS,CAAC,MAAuB;QACpC,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,mBAAmB,CAAC,CAAC;SAC5D;QAED,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAEM,QAAQ,CAAC,OAAe,EAAE,MAAuB;QACpD,IAAI,EAAE,GAAG,SAAS,IAAI,CAAC,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;QAEzC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE1B,OAAO,EAAE,CAAC;IACd,CAAC;IAEM,WAAW,CAAC,OAAe;QAC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;YAClC,sBAAW,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,OAAO,iCAAiC,CAAC,CAAC;YACtF,OAAO;SACV;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,aAAa,CAAC,qBAA8B,KAAK,EAAE,MAAe;QACrE,IAAI,KAAK,GAAW,QAAQ,CAAC;QAE7B,IAAI,MAAM,EAAE;YACR,KAAK,GAAG,MAAM,CAAC;SAClB;aACI,IAAI,kBAAkB,EAAE;YACzB,KAAK,GAAG,QAAQ,CAAC;SACpB;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC1D,CAAC;CAMJ;AAzDD,4BAyDC"}
1
+ {"version":3,"file":"Database.js","sourceRoot":"","sources":["../src/Database.ts"],"names":[],"mappings":";;;AAiBA,6BAA6B;AAE7B,yCAAyC;AAEzC,MAAM,WAAW,GAAW,QAAQ,CAAC;AACrC,MAAM,GAAG,GAAW,UAAU,CAAC;AAE/B,MAAsB,QAAQ;IAG1B;QACI,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAChC,CAAC;IAEM,SAAS,CAAC,MAAuB;QACpC,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,mBAAmB,CAAC,CAAC;SAC5D;QAED,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAEM,QAAQ,CAAC,OAAe,EAAE,MAAuB;QACpD,IAAI,EAAE,GAAG,SAAS,IAAI,CAAC,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;QAEzC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE1B,OAAO,EAAE,CAAC;IACd,CAAC;IAEM,WAAW,CAAC,OAAe;QAC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;YAClC,sBAAW,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,OAAO,iCAAiC,CAAC,CAAC;YACtF,OAAO;SACV;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,aAAa,CAAC,qBAA8B,KAAK,EAAE,MAAe;QACrE,IAAI,KAAK,GAAW,QAAQ,CAAC;QAE7B,IAAI,MAAM,EAAE;YACR,KAAK,GAAG,MAAM,CAAC;SAClB;aACI,IAAI,kBAAkB,EAAE;YACzB,KAAK,GAAG,QAAQ,CAAC;SACpB;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CAOJ;AA9DD,4BA8DC"}
package/lib/Handler.d.ts CHANGED
@@ -19,6 +19,7 @@ export declare class Handler<TApplication extends Application = Application, TGe
19
19
  protected _onMiddlewareReject(request: Request, response: Response, error: StormError): void;
20
20
  private $handleResponse;
21
21
  private $handleResponseError;
22
+ attach(app: Application): void;
22
23
  get(request: Request<TGetRequest>, response: Response<TGetResponse>): Promise<void>;
23
24
  put(request: Request<TPutRequest>, response: Response<TPutResponse>): Promise<void>;
24
25
  post(request: Request<TPostRequest>, response: Response<TPostResponse>): Promise<void>;
package/lib/Handler.js CHANGED
@@ -69,6 +69,8 @@ class Handler {
69
69
  $handleResponseError(response, error) {
70
70
  response.error(error);
71
71
  }
72
+ attach(app) {
73
+ }
72
74
  async get(request, response) {
73
75
  this.getApplication().getLogger().info(TAG, `${request.getForwardedIP()} (${request.getIP()}) - ${request.getMethod()} ${request.getURL()} - UA(${request.getHeader('user-agent')})`);
74
76
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../src/Handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../src/Handler.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,6 @@ export declare class MySQLDatabase extends Database<MySQL.PoolConfig, MySQL.Pool
8
8
  static escape(value: any): string;
9
9
  protected _addNode(nodeID: string, config: MySQL.PoolConfig): void;
10
10
  protected _removeNode(nodeID: string): void;
11
+ protected _destroy(): Promise<void>;
11
12
  protected _getConnection(query: string, requireWriteAccess: boolean): Promise<MySQLConnection>;
12
13
  }
@@ -31,6 +31,17 @@ class MySQLDatabase extends Database_1.Database {
31
31
  instance_1.getInstance().getLogger().trace(TAG, `Removing node to connection pool: "${nodeID}"`);
32
32
  this.$cluster.remove(nodeID);
33
33
  }
34
+ _destroy() {
35
+ return new Promise((resolve, reject) => {
36
+ this.$cluster.end((err) => {
37
+ if (err) {
38
+ reject(err);
39
+ return;
40
+ }
41
+ resolve();
42
+ });
43
+ });
44
+ }
34
45
  _getConnection(query, requireWriteAccess) {
35
46
  instance_1.getInstance().getLogger().trace(TAG, `Querying connection pool for "${query}".`);
36
47
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"MySQLDatabase.js","sourceRoot":"","sources":["../src/MySQLDatabase.ts"],"names":[],"mappings":";;;AAgBA,yCAAoC;AACpC,uDAAkD;AAClD,+BAA+B;AAC/B,yCAAuC;AAEvC,MAAM,GAAG,GAAW,eAAe,CAAC;AAEpC,MAAa,aAAc,SAAQ,mBAAgD;IAG/E;QACI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACpC,oBAAoB,EAAE,QAAQ;YAC9B,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7B,sBAAW,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC;IAGM,MAAM,CAAC,KAAU;QACpB,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAGM,MAAM,CAAC,MAAM,CAAC,KAAU;QAC3B,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,QAAQ,CAAC,MAAc,EAAE,MAAwB;QACvD,sBAAW,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,oCAAoC,MAAM,GAAG,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAES,WAAW,CAAC,MAAc;QAChC,sBAAW,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,sCAAsC,MAAM,GAAG,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAES,cAAc,CAAC,KAAa,EAAE,kBAA2B;QAC/D,sBAAW,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,iCAAiC,KAAK,IAAI,CAAC,CAAC;QACjF,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,IAAI,iBAAiB,GAAW,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,KAAuB,EAAE,UAAgC,EAAE,EAAE;gBAC7F,IAAI,KAAK,EAAE;oBACP,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;iBACV;gBAED,OAAO,CAAC,IAAI,iCAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAjDD,sCAiDC"}
1
+ {"version":3,"file":"MySQLDatabase.js","sourceRoot":"","sources":["../src/MySQLDatabase.ts"],"names":[],"mappings":";;;AAgBA,yCAAoC;AACpC,uDAAkD;AAClD,+BAA+B;AAC/B,yCAAuC;AAEvC,MAAM,GAAG,GAAW,eAAe,CAAC;AAEpC,MAAa,aAAc,SAAQ,mBAAgD;IAG/E;QACI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACpC,oBAAoB,EAAE,QAAQ;YAC9B,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7B,sBAAW,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC;IAGM,MAAM,CAAC,KAAU;QACpB,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAGM,MAAM,CAAC,MAAM,CAAC,KAAU;QAC3B,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,QAAQ,CAAC,MAAc,EAAE,MAAwB;QACvD,sBAAW,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,oCAAoC,MAAM,GAAG,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAES,WAAW,CAAC,MAAc;QAChC,sBAAW,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,sCAAsC,MAAM,GAAG,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAES,QAAQ;QACd,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAqB,EAAE,EAAE;gBACxC,IAAI,GAAG,EAAE;oBACL,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;iBACV;gBAED,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAES,cAAc,CAAC,KAAa,EAAE,kBAA2B;QAC/D,sBAAW,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,iCAAiC,KAAK,IAAI,CAAC,CAAC;QACjF,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,IAAI,iBAAiB,GAAW,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,KAAuB,EAAE,UAAgC,EAAE,EAAE;gBAC7F,IAAI,KAAK,EAAE;oBACP,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;iBACV;gBAED,OAAO,CAAC,IAAI,iCAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA9DD,sCA8DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@breautek/storm",
3
- "version": "3.1.2",
3
+ "version": "3.3.1",
4
4
  "description": "Object-Oriented REST API framework",
5
5
  "main": "lib/api.js",
6
6
  "types": "lib/api.d.ts",
@@ -44,22 +44,22 @@
44
44
  "homepage": "https://github.com/breautek/storm.git",
45
45
  "dependencies": {
46
46
  "@arashi/token": "1.0.1",
47
+ "@breautek/merge-change": "1.0.0",
47
48
  "@totalpave/interfaces": "3.0.0",
48
- "@types/body-parser": "1.19.1",
49
+ "@types/body-parser": "1.19.2",
49
50
  "@types/express": "4.17.13",
50
51
  "@types/formidable": "1.2.3",
51
- "@types/jsonwebtoken": "8.5.5",
52
- "@types/mysql": "2.15.19",
53
- "@types/node": "16.7.13",
54
- "@types/uuid": "8.3.1",
55
- "ajv": "8.6.2",
56
- "body-parser": "1.19.0",
57
- "commander": "8.1.0",
58
- "express": "4.17.1",
52
+ "@types/jsonwebtoken": "8.5.6",
53
+ "@types/mysql": "2.15.20",
54
+ "@types/node": "16.11.9",
55
+ "@types/uuid": "8.3.4",
56
+ "ajv": "8.8.2",
57
+ "body-parser": "1.19.1",
58
+ "commander": "8.3.0",
59
+ "express": "4.17.2",
59
60
  "form-data": "4.0.0",
60
61
  "formidable": "1.2.2",
61
62
  "jsonwebtoken": "8.5.1",
62
- "merge-change": "1.8.1",
63
63
  "mysql": "2.18.1",
64
64
  "sql-formatter": "4.0.2",
65
65
  "tslib": "2.3.1",
@@ -69,16 +69,16 @@
69
69
  "@arashi/logger": "2.x"
70
70
  },
71
71
  "devDependencies": {
72
- "@arashi/logger": "2.0.1",
73
- "@totalpave/eslint-plugin": "5.1.0",
74
- "@types/jest": "27.0.1",
75
- "@typescript-eslint/eslint-plugin": "4.31.0",
76
- "@typescript-eslint/parser": "4.31.0",
72
+ "@arashi/logger": "2.1.0",
73
+ "@totalpave/eslint-plugin": "6.0.1",
74
+ "@types/jest": "27.4.0",
75
+ "@typescript-eslint/eslint-plugin": "5.9.0",
76
+ "@typescript-eslint/parser": "5.9.0",
77
77
  "auto-changelog": "2.3.0",
78
- "eslint": "7.32.0",
79
- "jest": "27.1.1",
80
- "ts-jest": "27.0.5",
81
- "ts-node": "10.2.1",
78
+ "eslint": "8.6.0",
79
+ "jest": "27.4.7",
80
+ "ts-jest": "27.1.2",
81
+ "ts-node": "10.4.0",
82
82
  "typedoc": "0.21.9",
83
83
  "typedoc-plugin-markdown": "3.10.4",
84
84
  "typescript": "4.3.5"
@@ -220,6 +220,10 @@ export abstract class Application
220
220
  // eslint-disable-next-line @typescript-eslint/naming-convention
221
221
  public attachHandler(path: string, HandlerClass: IHandler): void {
222
222
  let handler: Handler = new HandlerClass(this);
223
+ this.attachHandlerInstance(path, handler);
224
+ }
225
+
226
+ public attachHandlerInstance(path: string, handler: Handler): void {
223
227
  this.$server.get(path, (request: Express.Request, response: Express.Response) => {
224
228
  let r: Request = new Request(request);
225
229
  handler.get(r, new Response(response, r.getURL()));
@@ -238,7 +242,17 @@ export abstract class Application
238
242
  });
239
243
  }
240
244
 
241
- public close(): Promise<void> {
245
+ public async close(): Promise<void> {
246
+ await Promise.all([ this._closeSocket(), this._closeDatabase() ]);
247
+ }
248
+
249
+ protected async _closeDatabase(): Promise<void> {
250
+ if (this.$db) {
251
+ await this.$db.destroy();
252
+ }
253
+ }
254
+
255
+ protected async _closeSocket(): Promise<void> {
242
256
  return new Promise<void>((resolve, reject) => {
243
257
  if (this.$socket && this.$socket.listening) {
244
258
  this.$socket.close(() => {
@@ -22,7 +22,7 @@ import * as Path from 'path';
22
22
  import {Application} from './Application';
23
23
  import {IConfig} from './IConfig';
24
24
  import Ajv from 'ajv';
25
- import * as MergeChange from 'merge-change';
25
+ import * as MergeChange from '@breautek/merge-change';
26
26
  import { InvalidConfigError } from './InvalidConfigError';
27
27
  import { MissingConfigError } from './MissingConfigError';
28
28
 
package/src/Database.ts CHANGED
@@ -75,6 +75,11 @@ export abstract class Database<TDatabaseConfig, TConnectionAPI> {
75
75
  return this._getConnection(query, requireWriteAccess);
76
76
  }
77
77
 
78
+ public destroy(): Promise<void> {
79
+ return this._destroy();
80
+ }
81
+
82
+ protected abstract _destroy(): Promise<void>;
78
83
  protected abstract _addNode(name: string, config: TDatabaseConfig): void;
79
84
  protected abstract _removeNode(name: string): void;
80
85
  protected abstract _getConnection(query: string, requireWriteAccess: boolean): Promise<DatabaseConnection<TConnectionAPI>>;
package/src/Handler.ts CHANGED
@@ -143,6 +143,10 @@ export class Handler<
143
143
  response.error(error);
144
144
  }
145
145
 
146
+ public attach(app: Application): void {
147
+
148
+ }
149
+
146
150
  public async get(request: Request<TGetRequest>, response: Response<TGetResponse>): Promise<void> {
147
151
  this.getApplication().getLogger().info(TAG, `${request.getForwardedIP()} (${request.getIP()}) - ${request.getMethod()} ${request.getURL()} - UA(${request.getHeader('user-agent')})`);
148
152
 
@@ -56,6 +56,19 @@ export class MySQLDatabase extends Database<MySQL.PoolConfig, MySQL.PoolConnecti
56
56
  this.$cluster.remove(nodeID);
57
57
  }
58
58
 
59
+ protected _destroy(): Promise<void> {
60
+ return new Promise<void>((resolve, reject) => {
61
+ this.$cluster.end((err: MySQL.MysqlError) => {
62
+ if (err) {
63
+ reject(err);
64
+ return;
65
+ }
66
+
67
+ resolve();
68
+ });
69
+ });
70
+ }
71
+
59
72
  protected _getConnection(query: string, requireWriteAccess: boolean): Promise<MySQLConnection> {
60
73
  getInstance().getLogger().trace(TAG, `Querying connection pool for "${query}".`);
61
74
  return new Promise<MySQLConnection>((resolve, reject) => {
@@ -14,4 +14,4 @@
14
14
  limitations under the License.
15
15
  */
16
16
 
17
- declare module 'merge-change';
17
+ declare module '@breautek/merge-change';