@breautek/storm 4.1.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -1
- package/docs/README.md +6 -4
- package/docs/classes/Application.md +26 -26
- package/docs/classes/BackendAuthenticationMiddleware.md +2 -2
- package/docs/classes/CORSMiddleware.md +6 -6
- package/docs/classes/ConfigLoader.md +1 -1
- package/docs/classes/Database.md +12 -12
- package/docs/classes/DatabaseConnection.md +19 -19
- package/docs/classes/DatabaseQueryError.md +46 -8
- package/docs/classes/DiskSpaceError.md +46 -8
- package/docs/classes/DropTemporaryTableQuery.md +14 -8
- package/docs/classes/DumpStream.md +1 -1
- package/docs/classes/DuplicateEntryError.md +46 -8
- package/docs/classes/EntityNotFoundError.md +46 -8
- package/docs/classes/ExpiredTokenError.md +46 -8
- package/docs/classes/Handler.md +22 -22
- package/docs/classes/InternalError.md +46 -8
- package/docs/classes/InvalidCredentialsError.md +46 -8
- package/docs/classes/InvalidValueError.md +46 -8
- package/docs/classes/ManagedDatabaseConnection.md +19 -19
- package/docs/classes/Middleware.md +3 -3
- package/docs/classes/MissingConfigError.md +46 -8
- package/docs/classes/MissingParameterError.md +46 -8
- package/docs/classes/MySQLConnection.md +20 -20
- package/docs/classes/MySQLDatabase.md +13 -13
- package/docs/classes/NotImplementedError.md +339 -0
- package/docs/classes/Query.md +14 -8
- package/docs/classes/RawError.md +351 -0
- package/docs/classes/RawQuery.md +14 -8
- package/docs/classes/Request.md +18 -18
- package/docs/classes/Response.md +11 -11
- package/docs/classes/ResponseData.md +7 -7
- package/docs/classes/ServiceProvider.md +15 -15
- package/docs/classes/ServiceResponse.md +4 -4
- package/docs/classes/SetSessionVariableQuery.md +14 -8
- package/docs/classes/StormError.md +42 -8
- package/docs/classes/TemporaryTableQuery.md +14 -8
- package/docs/classes/Token.md +2 -2
- package/docs/classes/TokenManager.md +4 -4
- package/docs/classes/UnauthorizedAccessError.md +46 -8
- package/docs/enums/ErrorCode.md +9 -9
- package/docs/enums/ExitCode.md +2 -2
- package/docs/enums/HTTPMethod.md +4 -4
- package/docs/enums/JWTError.md +2 -2
- package/docs/enums/StatusCode.md +48 -48
- package/docs/interfaces/IConfig.md +8 -8
- package/docs/interfaces/IDatabaseConfig.md +6 -6
- package/docs/interfaces/IDatabaseConnection.md +14 -14
- package/docs/interfaces/IErrorResponse.md +15 -4
- package/docs/interfaces/IFormData.md +2 -2
- package/docs/interfaces/IHandler.md +1 -1
- package/docs/interfaces/IInsertQueryResult.md +3 -3
- package/docs/interfaces/IJWTVerifyOptions.md +1 -1
- package/docs/interfaces/IRequestResponse.md +2 -2
- package/docs/interfaces/ISetSessionVariableQueryInput.md +2 -2
- package/docs/interfaces/ITemporaryTableQueryInput.md +2 -2
- package/docs/interfaces/IUpdateQueryResult.md +2 -2
- package/lib/Application.d.ts +58 -0
- package/lib/Application.js +73 -0
- package/lib/Application.js.map +1 -1
- package/lib/ApplicationEvent.js +15 -0
- package/lib/ApplicationEvent.js.map +1 -1
- package/lib/BackendAuthenticationMiddleware.d.ts +12 -0
- package/lib/BackendAuthenticationMiddleware.js +28 -0
- package/lib/BackendAuthenticationMiddleware.js.map +1 -1
- package/lib/CORSMiddleware.d.ts +14 -0
- package/lib/CORSMiddleware.js +29 -0
- package/lib/CORSMiddleware.js.map +1 -1
- package/lib/ConfigLoader.js +16 -0
- package/lib/ConfigLoader.js.map +1 -1
- package/lib/Database.js +15 -0
- package/lib/Database.js.map +1 -1
- package/lib/DatabaseConnection.d.ts +115 -0
- package/lib/DatabaseConnection.js +71 -0
- package/lib/DatabaseConnection.js.map +1 -1
- package/lib/DatabaseQueryError.d.ts +1 -0
- package/lib/DatabaseQueryError.js +19 -0
- package/lib/DatabaseQueryError.js.map +1 -1
- package/lib/DiskSpaceError.d.ts +1 -0
- package/lib/DiskSpaceError.js +18 -0
- package/lib/DiskSpaceError.js.map +1 -1
- package/lib/DropTemporaryTableQuery.js +15 -0
- package/lib/DropTemporaryTableQuery.js.map +1 -1
- package/lib/DumpStream.js +16 -0
- package/lib/DumpStream.js.map +1 -1
- package/lib/DuplicateEntryError.d.ts +2 -0
- package/lib/DuplicateEntryError.js +26 -0
- package/lib/DuplicateEntryError.js.map +1 -1
- package/lib/EntityNotFoundError.d.ts +2 -0
- package/lib/EntityNotFoundError.js +23 -0
- package/lib/EntityNotFoundError.js.map +1 -1
- package/lib/ErrorCode.js +15 -0
- package/lib/ErrorCode.js.map +1 -1
- package/lib/ExitCode.js +15 -0
- package/lib/ExitCode.js.map +1 -1
- package/lib/ExpiredTokenError.d.ts +1 -0
- package/lib/ExpiredTokenError.js +19 -0
- package/lib/ExpiredTokenError.js.map +1 -1
- package/lib/HTTPMethod.js +15 -0
- package/lib/HTTPMethod.js.map +1 -1
- package/lib/Handler.d.ts +22 -4
- package/lib/Handler.js +22 -6
- package/lib/Handler.js.map +1 -1
- package/lib/IAuthTokenData.js +15 -0
- package/lib/IAuthTokenData.js.map +1 -1
- package/lib/IConfig.js +15 -0
- package/lib/IConfig.js.map +1 -1
- package/lib/IDatabaseConfig.js +15 -0
- package/lib/IDatabaseConfig.js.map +1 -1
- package/lib/IDatabaseConnection.js +15 -0
- package/lib/IDatabaseConnection.js.map +1 -1
- package/lib/IDeleteQueryResult.js +15 -0
- package/lib/IDeleteQueryResult.js.map +1 -1
- package/lib/IFormData.js +15 -0
- package/lib/IFormData.js.map +1 -1
- package/lib/IHandler.js +15 -0
- package/lib/IHandler.js.map +1 -1
- package/lib/IInsertQueryResult.js +15 -0
- package/lib/IInsertQueryResult.js.map +1 -1
- package/lib/IJWTVerifyOptions.js +15 -0
- package/lib/IJWTVerifyOptions.js.map +1 -1
- package/lib/IRequestResponse.js +15 -0
- package/lib/IRequestResponse.js.map +1 -1
- package/lib/IServiceHeaders.js +15 -0
- package/lib/IServiceHeaders.js.map +1 -1
- package/lib/IUpdateQueryResult.js +15 -0
- package/lib/IUpdateQueryResult.js.map +1 -1
- package/lib/InternalError.d.ts +1 -0
- package/lib/InternalError.js +19 -0
- package/lib/InternalError.js.map +1 -1
- package/lib/InvalidConfigError.js +15 -0
- package/lib/InvalidConfigError.js.map +1 -1
- package/lib/InvalidCredentialsError.d.ts +1 -0
- package/lib/InvalidCredentialsError.js +19 -0
- package/lib/InvalidCredentialsError.js.map +1 -1
- package/lib/InvalidValueError.d.ts +2 -0
- package/lib/InvalidValueError.js +27 -0
- package/lib/InvalidValueError.js.map +1 -1
- package/lib/JWTError.js +15 -0
- package/lib/JWTError.js.map +1 -1
- package/lib/JWTVerifyOptionsParser.js +16 -0
- package/lib/JWTVerifyOptionsParser.js.map +1 -1
- package/lib/ManagedDatabaseConnection.d.ts +5 -0
- package/lib/ManagedDatabaseConnection.js +26 -0
- package/lib/ManagedDatabaseConnection.js.map +1 -1
- package/lib/Middleware.js +16 -0
- package/lib/Middleware.js.map +1 -1
- package/lib/MissingConfigError.d.ts +2 -0
- package/lib/MissingConfigError.js +23 -0
- package/lib/MissingConfigError.js.map +1 -1
- package/lib/MissingParameterError.d.ts +2 -0
- package/lib/MissingParameterError.js +23 -0
- package/lib/MissingParameterError.js.map +1 -1
- package/lib/MySQLConnection.js +24 -1
- package/lib/MySQLConnection.js.map +1 -1
- package/lib/MySQLDatabase.js +18 -0
- package/lib/MySQLDatabase.js.map +1 -1
- package/lib/NotImplementedError.d.ts +16 -0
- package/lib/NotImplementedError.js +48 -0
- package/lib/NotImplementedError.js.map +1 -0
- package/lib/Query.d.ts +21 -0
- package/lib/Query.js +37 -0
- package/lib/Query.js.map +1 -1
- package/lib/RawError.d.ts +14 -0
- package/lib/RawError.js +40 -0
- package/lib/RawError.js.map +1 -0
- package/lib/RawQuery.js +15 -0
- package/lib/RawQuery.js.map +1 -1
- package/lib/Request.js +15 -0
- package/lib/Request.js.map +1 -1
- package/lib/Response.js +17 -0
- package/lib/Response.js.map +1 -1
- package/lib/ResponseData.js +15 -0
- package/lib/ResponseData.js.map +1 -1
- package/lib/ServiceProvider.js +20 -0
- package/lib/ServiceProvider.js.map +1 -1
- package/lib/ServiceResponse.js +15 -0
- package/lib/ServiceResponse.js.map +1 -1
- package/lib/SetSessionVariableQuery.js +1 -0
- package/lib/SetSessionVariableQuery.js.map +1 -1
- package/lib/StatusCode.js +15 -0
- package/lib/StatusCode.js.map +1 -1
- package/lib/StormError.d.ts +14 -0
- package/lib/StormError.js +32 -0
- package/lib/StormError.js.map +1 -1
- package/lib/TemporaryTableQuery.js +15 -0
- package/lib/TemporaryTableQuery.js.map +1 -1
- package/lib/Token.js +15 -0
- package/lib/Token.js.map +1 -1
- package/lib/TokenManager.js +17 -0
- package/lib/TokenManager.js.map +1 -1
- package/lib/UnauthorizedAccessError.d.ts +1 -0
- package/lib/UnauthorizedAccessError.js +18 -0
- package/lib/UnauthorizedAccessError.js.map +1 -1
- package/lib/api.d.ts +2 -0
- package/lib/api.js +28 -1
- package/lib/api.js.map +1 -1
- package/lib/instance.js +15 -0
- package/lib/instance.js.map +1 -1
- package/lib/private/CommitQuery.js +15 -0
- package/lib/private/CommitQuery.js.map +1 -1
- package/lib/private/RollbackQuery.js +15 -0
- package/lib/private/RollbackQuery.js.map +1 -1
- package/lib/private/StartTransactionQuery.js +15 -0
- package/lib/private/StartTransactionQuery.js.map +1 -1
- package/package.json +1 -1
- package/src/DatabaseQueryError.ts +4 -0
- package/src/DiskSpaceError.ts +4 -0
- package/src/DuplicateEntryError.ts +13 -0
- package/src/EntityNotFoundError.ts +10 -0
- package/src/ExpiredTokenError.ts +4 -0
- package/src/Handler.ts +10 -9
- package/src/InternalError.ts +4 -0
- package/src/InvalidCredentialsError.ts +4 -0
- package/src/InvalidValueError.ts +13 -0
- package/src/MissingConfigError.ts +10 -0
- package/src/MissingParameterError.ts +10 -0
- package/src/NotImplementedError.ts +55 -0
- package/src/Query.ts +8 -0
- package/src/RawError.ts +39 -0
- package/src/StormError.ts +18 -0
- package/src/UnauthorizedAccessError.ts +4 -0
- package/src/api.ts +2 -0
- package/tsconfig.json +0 -1
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
|
|
45
45
|
#### Defined in
|
|
46
46
|
|
|
47
|
-
[src/IDatabaseConnection.ts:29](https://github.com/breautek/storm/blob/
|
|
47
|
+
[src/IDatabaseConnection.ts:29](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L29)
|
|
48
48
|
|
|
49
49
|
___
|
|
50
50
|
|
|
@@ -58,7 +58,7 @@ ___
|
|
|
58
58
|
|
|
59
59
|
#### Defined in
|
|
60
60
|
|
|
61
|
-
[src/IDatabaseConnection.ts:33](https://github.com/breautek/storm/blob/
|
|
61
|
+
[src/IDatabaseConnection.ts:33](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L33)
|
|
62
62
|
|
|
63
63
|
___
|
|
64
64
|
|
|
@@ -72,7 +72,7 @@ ___
|
|
|
72
72
|
|
|
73
73
|
#### Defined in
|
|
74
74
|
|
|
75
|
-
[src/IDatabaseConnection.ts:23](https://github.com/breautek/storm/blob/
|
|
75
|
+
[src/IDatabaseConnection.ts:23](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L23)
|
|
76
76
|
|
|
77
77
|
___
|
|
78
78
|
|
|
@@ -86,7 +86,7 @@ ___
|
|
|
86
86
|
|
|
87
87
|
#### Defined in
|
|
88
88
|
|
|
89
|
-
[src/IDatabaseConnection.ts:22](https://github.com/breautek/storm/blob/
|
|
89
|
+
[src/IDatabaseConnection.ts:22](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L22)
|
|
90
90
|
|
|
91
91
|
___
|
|
92
92
|
|
|
@@ -100,7 +100,7 @@ ___
|
|
|
100
100
|
|
|
101
101
|
#### Defined in
|
|
102
102
|
|
|
103
|
-
[src/IDatabaseConnection.ts:26](https://github.com/breautek/storm/blob/
|
|
103
|
+
[src/IDatabaseConnection.ts:26](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L26)
|
|
104
104
|
|
|
105
105
|
___
|
|
106
106
|
|
|
@@ -114,7 +114,7 @@ ___
|
|
|
114
114
|
|
|
115
115
|
#### Defined in
|
|
116
116
|
|
|
117
|
-
[src/IDatabaseConnection.ts:30](https://github.com/breautek/storm/blob/
|
|
117
|
+
[src/IDatabaseConnection.ts:30](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L30)
|
|
118
118
|
|
|
119
119
|
___
|
|
120
120
|
|
|
@@ -128,7 +128,7 @@ ___
|
|
|
128
128
|
|
|
129
129
|
#### Defined in
|
|
130
130
|
|
|
131
|
-
[src/IDatabaseConnection.ts:24](https://github.com/breautek/storm/blob/
|
|
131
|
+
[src/IDatabaseConnection.ts:24](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L24)
|
|
132
132
|
|
|
133
133
|
___
|
|
134
134
|
|
|
@@ -142,7 +142,7 @@ ___
|
|
|
142
142
|
|
|
143
143
|
#### Defined in
|
|
144
144
|
|
|
145
|
-
[src/IDatabaseConnection.ts:32](https://github.com/breautek/storm/blob/
|
|
145
|
+
[src/IDatabaseConnection.ts:32](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L32)
|
|
146
146
|
|
|
147
147
|
___
|
|
148
148
|
|
|
@@ -163,7 +163,7 @@ ___
|
|
|
163
163
|
|
|
164
164
|
#### Defined in
|
|
165
165
|
|
|
166
|
-
[src/IDatabaseConnection.ts:27](https://github.com/breautek/storm/blob/
|
|
166
|
+
[src/IDatabaseConnection.ts:27](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L27)
|
|
167
167
|
|
|
168
168
|
___
|
|
169
169
|
|
|
@@ -177,7 +177,7 @@ ___
|
|
|
177
177
|
|
|
178
178
|
#### Defined in
|
|
179
179
|
|
|
180
|
-
[src/IDatabaseConnection.ts:34](https://github.com/breautek/storm/blob/
|
|
180
|
+
[src/IDatabaseConnection.ts:34](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L34)
|
|
181
181
|
|
|
182
182
|
___
|
|
183
183
|
|
|
@@ -197,7 +197,7 @@ ___
|
|
|
197
197
|
|
|
198
198
|
#### Defined in
|
|
199
199
|
|
|
200
|
-
[src/IDatabaseConnection.ts:21](https://github.com/breautek/storm/blob/
|
|
200
|
+
[src/IDatabaseConnection.ts:21](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L21)
|
|
201
201
|
|
|
202
202
|
___
|
|
203
203
|
|
|
@@ -217,7 +217,7 @@ ___
|
|
|
217
217
|
|
|
218
218
|
#### Defined in
|
|
219
219
|
|
|
220
|
-
[src/IDatabaseConnection.ts:25](https://github.com/breautek/storm/blob/
|
|
220
|
+
[src/IDatabaseConnection.ts:25](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L25)
|
|
221
221
|
|
|
222
222
|
___
|
|
223
223
|
|
|
@@ -231,7 +231,7 @@ ___
|
|
|
231
231
|
|
|
232
232
|
#### Defined in
|
|
233
233
|
|
|
234
|
-
[src/IDatabaseConnection.ts:31](https://github.com/breautek/storm/blob/
|
|
234
|
+
[src/IDatabaseConnection.ts:31](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L31)
|
|
235
235
|
|
|
236
236
|
___
|
|
237
237
|
|
|
@@ -253,4 +253,4 @@ ___
|
|
|
253
253
|
|
|
254
254
|
#### Defined in
|
|
255
255
|
|
|
256
|
-
[src/IDatabaseConnection.ts:28](https://github.com/breautek/storm/blob/
|
|
256
|
+
[src/IDatabaseConnection.ts:28](https://github.com/breautek/storm/blob/4ac2f44/src/IDatabaseConnection.ts#L28)
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
- [code](IErrorResponse.md#code)
|
|
10
10
|
- [details](IErrorResponse.md#details)
|
|
11
|
+
- [locale](IErrorResponse.md#locale)
|
|
11
12
|
- [message](IErrorResponse.md#message)
|
|
12
13
|
- [name](IErrorResponse.md#name)
|
|
13
14
|
|
|
@@ -19,7 +20,7 @@
|
|
|
19
20
|
|
|
20
21
|
#### Defined in
|
|
21
22
|
|
|
22
|
-
[src/StormError.ts:
|
|
23
|
+
[src/StormError.ts:37](https://github.com/breautek/storm/blob/4ac2f44/src/StormError.ts#L37)
|
|
23
24
|
|
|
24
25
|
___
|
|
25
26
|
|
|
@@ -29,7 +30,17 @@ ___
|
|
|
29
30
|
|
|
30
31
|
#### Defined in
|
|
31
32
|
|
|
32
|
-
[src/StormError.ts:
|
|
33
|
+
[src/StormError.ts:38](https://github.com/breautek/storm/blob/4ac2f44/src/StormError.ts#L38)
|
|
34
|
+
|
|
35
|
+
___
|
|
36
|
+
|
|
37
|
+
### locale
|
|
38
|
+
|
|
39
|
+
• **locale**: `ILocale`
|
|
40
|
+
|
|
41
|
+
#### Defined in
|
|
42
|
+
|
|
43
|
+
[src/StormError.ts:36](https://github.com/breautek/storm/blob/4ac2f44/src/StormError.ts#L36)
|
|
33
44
|
|
|
34
45
|
___
|
|
35
46
|
|
|
@@ -39,7 +50,7 @@ ___
|
|
|
39
50
|
|
|
40
51
|
#### Defined in
|
|
41
52
|
|
|
42
|
-
[src/StormError.ts:
|
|
53
|
+
[src/StormError.ts:35](https://github.com/breautek/storm/blob/4ac2f44/src/StormError.ts#L35)
|
|
43
54
|
|
|
44
55
|
___
|
|
45
56
|
|
|
@@ -49,4 +60,4 @@ ___
|
|
|
49
60
|
|
|
50
61
|
#### Defined in
|
|
51
62
|
|
|
52
|
-
[src/StormError.ts:
|
|
63
|
+
[src/StormError.ts:34](https://github.com/breautek/storm/blob/4ac2f44/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/
|
|
20
|
+
[src/IFormData.ts:20](https://github.com/breautek/storm/blob/4ac2f44/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/
|
|
30
|
+
[src/IFormData.ts:21](https://github.com/breautek/storm/blob/4ac2f44/src/IFormData.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/
|
|
21
|
+
[src/IInsertQueryResult.ts:19](https://github.com/breautek/storm/blob/4ac2f44/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/
|
|
31
|
+
[src/IInsertQueryResult.ts:20](https://github.com/breautek/storm/blob/4ac2f44/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/
|
|
41
|
+
[src/IInsertQueryResult.ts:18](https://github.com/breautek/storm/blob/4ac2f44/src/IInsertQueryResult.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/
|
|
27
|
+
[src/IRequestResponse.ts:21](https://github.com/breautek/storm/blob/4ac2f44/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/
|
|
37
|
+
[src/IRequestResponse.ts:22](https://github.com/breautek/storm/blob/4ac2f44/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/
|
|
20
|
+
[src/SetSessionVariableQuery.ts:7](https://github.com/breautek/storm/blob/4ac2f44/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/
|
|
30
|
+
[src/SetSessionVariableQuery.ts:8](https://github.com/breautek/storm/blob/4ac2f44/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/
|
|
20
|
+
[src/TemporaryTableQuery.ts:22](https://github.com/breautek/storm/blob/4ac2f44/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/
|
|
30
|
+
[src/TemporaryTableQuery.ts:21](https://github.com/breautek/storm/blob/4ac2f44/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/
|
|
20
|
+
[src/IUpdateQueryResult.ts:18](https://github.com/breautek/storm/blob/4ac2f44/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/
|
|
30
|
+
[src/IUpdateQueryResult.ts:19](https://github.com/breautek/storm/blob/4ac2f44/src/IUpdateQueryResult.ts#L19)
|
package/lib/Application.d.ts
CHANGED
|
@@ -8,6 +8,9 @@ import { IConfig } from './IConfig';
|
|
|
8
8
|
import { Command } from 'commander';
|
|
9
9
|
import { IAuthTokenData } from '@arashi/token';
|
|
10
10
|
import { Logger } from '@arashi/logger';
|
|
11
|
+
/**
|
|
12
|
+
* Main entry point for the Application. Should be extended and have the abstract methods implemented.
|
|
13
|
+
*/
|
|
11
14
|
export declare abstract class Application<TConfig extends IConfig = IConfig, TAuthToken extends IAuthTokenData = IAuthTokenData, TDBConfig = any, TDBConnectionAPI = any> extends EventEmitter {
|
|
12
15
|
private $logger;
|
|
13
16
|
private $name;
|
|
@@ -18,6 +21,11 @@ export declare abstract class Application<TConfig extends IConfig = IConfig, TAu
|
|
|
18
21
|
private $db;
|
|
19
22
|
private $socket;
|
|
20
23
|
private $program;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param name The application name
|
|
27
|
+
* @param configPath The directory where bt-config.json and bt-local-config.json can be found. Defaults to current working directory.
|
|
28
|
+
*/
|
|
21
29
|
constructor(name: string, configPath: string);
|
|
22
30
|
private $load;
|
|
23
31
|
protected _initialize(config: TConfig): Promise<void>;
|
|
@@ -27,24 +35,74 @@ export declare abstract class Application<TConfig extends IConfig = IConfig, TAu
|
|
|
27
35
|
private $buildArgOptions;
|
|
28
36
|
protected _buildArgOptions(program: Command): void;
|
|
29
37
|
getProgram(): Command;
|
|
38
|
+
/**
|
|
39
|
+
* The maximum size limit for incoming requests that this service needs to handle.
|
|
40
|
+
*/
|
|
30
41
|
getRequestSizeLimit(): number;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @param path The URL API path. E.g. /api/myService/myCommand/
|
|
45
|
+
* @param HandlerClass The concrete class (not the instance) of Handler to be used for this API.
|
|
46
|
+
*/
|
|
31
47
|
attachHandler(path: string, HandlerClass: IHandler): void;
|
|
32
48
|
attachHandlerInstance(path: string, handler: Handler): void;
|
|
33
49
|
close(): Promise<void>;
|
|
34
50
|
protected _closeDatabase(): Promise<void>;
|
|
35
51
|
protected _closeSocket(): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Subclasses are expected to attach the API handlers for their service. This will be invoked during application startup.
|
|
54
|
+
* @returns Promise<void>
|
|
55
|
+
*/
|
|
36
56
|
protected abstract _attachHandlers(): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
59
|
+
* @param path The directory path that contains bt-config.json and bt-local-config.json
|
|
60
|
+
*/
|
|
37
61
|
loadConfig(path: string): Promise<TConfig>;
|
|
62
|
+
/**
|
|
63
|
+
* @returns the application name
|
|
64
|
+
*/
|
|
38
65
|
getName(): string;
|
|
39
66
|
private $getLogger;
|
|
67
|
+
/**
|
|
68
|
+
* @returns the config object.
|
|
69
|
+
*/
|
|
40
70
|
getConfig(): TConfig;
|
|
71
|
+
/**
|
|
72
|
+
* @returns true if the Application should bind to an IP address
|
|
73
|
+
*/
|
|
41
74
|
shouldListen(): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Invoked once the config has been loaded and ready to be used.
|
|
77
|
+
*
|
|
78
|
+
* @param config The config object (as defined in bt-config.json/bt-local-config.json)
|
|
79
|
+
*/
|
|
42
80
|
protected _onConfigLoad(config: TConfig): void;
|
|
81
|
+
/**
|
|
82
|
+
* Sets the TokenManager to be used for authentication.
|
|
83
|
+
* @param tokenManager
|
|
84
|
+
*/
|
|
43
85
|
setTokenManager(tokenManager: TokenManager<TAuthToken>): void;
|
|
86
|
+
/**
|
|
87
|
+
* @returns the token manager
|
|
88
|
+
*/
|
|
44
89
|
getTokenManager(): TokenManager<TAuthToken>;
|
|
90
|
+
/**
|
|
91
|
+
* @returns the database pool. This will need to be casted based on your preferred database dialect.
|
|
92
|
+
*/
|
|
45
93
|
getDB(): Database<TDBConfig, TDBConnectionAPI>;
|
|
94
|
+
/**
|
|
95
|
+
* @returns command line arguments
|
|
96
|
+
*/
|
|
46
97
|
getCmdLineArgs(): TConfig;
|
|
98
|
+
/**
|
|
99
|
+
* Subclasses are expected to override this to configure their database setup, if the service uses a database.
|
|
100
|
+
* @param config The bt-config object
|
|
101
|
+
*/
|
|
47
102
|
protected _initDB(config: TConfig): Promise<Database<TDBConfig, TDBConnectionAPI>>;
|
|
48
103
|
protected _onBeforeReadyAsync(): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Invoked when the application is considered ready for operation.
|
|
106
|
+
*/
|
|
49
107
|
protected _onReady(): void;
|
|
50
108
|
}
|
package/lib/Application.js
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
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
|
+
*/
|
|
2
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
18
|
exports.Application = void 0;
|
|
4
19
|
const events_1 = require("events");
|
|
@@ -14,7 +29,15 @@ const http = require("http");
|
|
|
14
29
|
const logger_1 = require("@arashi/logger");
|
|
15
30
|
const StormError_1 = require("./StormError");
|
|
16
31
|
const TAG = 'Application';
|
|
32
|
+
/**
|
|
33
|
+
* Main entry point for the Application. Should be extended and have the abstract methods implemented.
|
|
34
|
+
*/
|
|
17
35
|
class Application extends events_1.EventEmitter {
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @param name The application name
|
|
39
|
+
* @param configPath The directory where bt-config.json and bt-local-config.json can be found. Defaults to current working directory.
|
|
40
|
+
*/
|
|
18
41
|
constructor(name, configPath) {
|
|
19
42
|
super();
|
|
20
43
|
(0, instance_1.setInstance)(this);
|
|
@@ -117,8 +140,10 @@ class Application extends events_1.EventEmitter {
|
|
|
117
140
|
}
|
|
118
141
|
return port;
|
|
119
142
|
}
|
|
143
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
120
144
|
$buildArgOptions() {
|
|
121
145
|
this.$program = new commander_1.Command();
|
|
146
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
122
147
|
let pkg = require('../package.json');
|
|
123
148
|
this.$program.version(pkg.version, '-v, --version');
|
|
124
149
|
this.$program.allowUnknownOption(true);
|
|
@@ -128,13 +153,23 @@ class Application extends events_1.EventEmitter {
|
|
|
128
153
|
this.$program.option('--authentication_header <header>', 'The header name of the authentication token');
|
|
129
154
|
this._buildArgOptions(this.$program);
|
|
130
155
|
}
|
|
156
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
131
157
|
_buildArgOptions(program) { }
|
|
132
158
|
getProgram() {
|
|
133
159
|
return this.$program;
|
|
134
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* The maximum size limit for incoming requests that this service needs to handle.
|
|
163
|
+
*/
|
|
135
164
|
getRequestSizeLimit() {
|
|
136
165
|
return this.getConfig().request_size_limit;
|
|
137
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
*
|
|
169
|
+
* @param path The URL API path. E.g. /api/myService/myCommand/
|
|
170
|
+
* @param HandlerClass The concrete class (not the instance) of Handler to be used for this API.
|
|
171
|
+
*/
|
|
172
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
138
173
|
attachHandler(path, HandlerClass) {
|
|
139
174
|
let handler = new HandlerClass(this);
|
|
140
175
|
this.attachHandlerInstance(path, handler);
|
|
@@ -177,6 +212,10 @@ class Application extends events_1.EventEmitter {
|
|
|
177
212
|
}
|
|
178
213
|
});
|
|
179
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
*
|
|
217
|
+
* @param path The directory path that contains bt-config.json and bt-local-config.json
|
|
218
|
+
*/
|
|
180
219
|
loadConfig(path) {
|
|
181
220
|
return new Promise((resolve, reject) => {
|
|
182
221
|
ConfigLoader_1.ConfigLoader.load(path).then((config) => {
|
|
@@ -193,28 +232,55 @@ class Application extends events_1.EventEmitter {
|
|
|
193
232
|
});
|
|
194
233
|
});
|
|
195
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* @returns the application name
|
|
237
|
+
*/
|
|
196
238
|
getName() {
|
|
197
239
|
return this.$name;
|
|
198
240
|
}
|
|
199
241
|
$getLogger() {
|
|
200
242
|
return this.$logger;
|
|
201
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* @returns the config object.
|
|
246
|
+
*/
|
|
202
247
|
getConfig() {
|
|
203
248
|
return this.$config;
|
|
204
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* @returns true if the Application should bind to an IP address
|
|
252
|
+
*/
|
|
205
253
|
shouldListen() {
|
|
206
254
|
return true;
|
|
207
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* Invoked once the config has been loaded and ready to be used.
|
|
258
|
+
*
|
|
259
|
+
* @param config The config object (as defined in bt-config.json/bt-local-config.json)
|
|
260
|
+
*/
|
|
208
261
|
_onConfigLoad(config) { }
|
|
262
|
+
/**
|
|
263
|
+
* Sets the TokenManager to be used for authentication.
|
|
264
|
+
* @param tokenManager
|
|
265
|
+
*/
|
|
209
266
|
setTokenManager(tokenManager) {
|
|
210
267
|
this.$tokenManager = tokenManager;
|
|
211
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* @returns the token manager
|
|
271
|
+
*/
|
|
212
272
|
getTokenManager() {
|
|
213
273
|
return this.$tokenManager;
|
|
214
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* @returns the database pool. This will need to be casted based on your preferred database dialect.
|
|
277
|
+
*/
|
|
215
278
|
getDB() {
|
|
216
279
|
return this.$db;
|
|
217
280
|
}
|
|
281
|
+
/**
|
|
282
|
+
* @returns command line arguments
|
|
283
|
+
*/
|
|
218
284
|
getCmdLineArgs() {
|
|
219
285
|
let program = this.$program;
|
|
220
286
|
let o = {};
|
|
@@ -233,10 +299,17 @@ class Application extends events_1.EventEmitter {
|
|
|
233
299
|
}
|
|
234
300
|
return o;
|
|
235
301
|
}
|
|
302
|
+
/**
|
|
303
|
+
* Subclasses are expected to override this to configure their database setup, if the service uses a database.
|
|
304
|
+
* @param config The bt-config object
|
|
305
|
+
*/
|
|
236
306
|
_initDB(config) {
|
|
237
307
|
return Promise.resolve(null);
|
|
238
308
|
}
|
|
239
309
|
async _onBeforeReadyAsync() { }
|
|
310
|
+
/**
|
|
311
|
+
* Invoked when the application is considered ready for operation.
|
|
312
|
+
*/
|
|
240
313
|
_onReady() { }
|
|
241
314
|
}
|
|
242
315
|
exports.Application = Application;
|
package/lib/Application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"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"}
|
package/lib/ApplicationEvent.js
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
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
|
+
*/
|
|
2
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
18
|
exports.ApplicationEvent = void 0;
|
|
4
19
|
var ApplicationEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationEvent.js","sourceRoot":"","sources":["../src/ApplicationEvent.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ApplicationEvent.js","sourceRoot":"","sources":["../src/ApplicationEvent.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IACxB,mDAA+B,CAAA;AACnC,CAAC,EAFW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAE3B"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { Request } from './Request';
|
|
2
|
+
/**
|
|
3
|
+
* A base authentication strategy that handles 90% of the authentication process.
|
|
4
|
+
* This will verify that the token hasn't been manipulated or tainted.
|
|
5
|
+
* The authenticate API must be implemented by subclasses to further validate the token data
|
|
6
|
+
* for their specific use cases.
|
|
7
|
+
*/
|
|
2
8
|
export declare class BackendAuthenticationMiddleware {
|
|
3
9
|
private $logger;
|
|
4
10
|
constructor();
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param request
|
|
14
|
+
* @param response
|
|
15
|
+
* @param options Arbituary object containing any relevant information used for authentication.
|
|
16
|
+
*/
|
|
5
17
|
execute(request: Request, options?: any): Promise<any>;
|
|
6
18
|
}
|
|
@@ -1,14 +1,42 @@
|
|
|
1
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
|
+
*/
|
|
2
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
18
|
exports.BackendAuthenticationMiddleware = void 0;
|
|
4
19
|
const StatusCode_1 = require("./StatusCode");
|
|
5
20
|
const ResponseData_1 = require("./ResponseData");
|
|
6
21
|
const instance_1 = require("./instance");
|
|
7
22
|
const TAG = 'BackendAuthenticationMiddleware';
|
|
23
|
+
/**
|
|
24
|
+
* A base authentication strategy that handles 90% of the authentication process.
|
|
25
|
+
* This will verify that the token hasn't been manipulated or tainted.
|
|
26
|
+
* The authenticate API must be implemented by subclasses to further validate the token data
|
|
27
|
+
* for their specific use cases.
|
|
28
|
+
*/
|
|
8
29
|
class BackendAuthenticationMiddleware {
|
|
9
30
|
constructor() {
|
|
10
31
|
this.$logger = (0, instance_1.getInstance)().getLogger();
|
|
11
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* @param request
|
|
36
|
+
* @param response
|
|
37
|
+
* @param options Arbituary object containing any relevant information used for authentication.
|
|
38
|
+
*/
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
12
40
|
execute(request, options) {
|
|
13
41
|
let config = (0, instance_1.getInstance)().getConfig();
|
|
14
42
|
let backendAuthHeader = config.backend_authentication_header;
|