@breautek/storm 3.1.0 → 3.2.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.
- package/CHANGELOG.md +28 -0
- package/docs/classes/Application.Application-1.md +54 -24
- package/docs/classes/BackendAuthenticationMiddleware.BackendAuthenticationMiddleware-1.md +3 -4
- package/docs/classes/CORSMiddleware.CORSMiddleware-1.md +6 -6
- package/docs/classes/ConfigLoader.ConfigLoader-1.md +1 -1
- package/docs/classes/Database.Database-1.md +40 -10
- package/docs/classes/DatabaseConnection.DatabaseConnection-1.md +19 -19
- package/docs/classes/DatabaseQueryError.DatabaseQueryError-1.md +8 -8
- package/docs/classes/DiskSpaceError.DiskSpaceError-1.md +8 -8
- package/docs/classes/DropTemporaryTableQuery.DropTemporaryTableQuery-1.md +8 -8
- package/docs/classes/DumpStream.DumpStream-1.md +1 -1
- package/docs/classes/DuplicateEntryError.DuplicateEntryError-1.md +8 -8
- package/docs/classes/EntityNotFoundError.EntityNotFoundError-1.md +8 -8
- package/docs/classes/ExpiredTokenError.ExpiredTokenError-1.md +8 -8
- package/docs/classes/Handler.Handler-1.md +13 -13
- package/docs/classes/InternalError.InternalError-1.md +8 -8
- package/docs/classes/InvalidConfigError.InvalidConfigError-1.md +8 -8
- package/docs/classes/InvalidCredentialsError.InvalidCredentialsError-1.md +8 -8
- package/docs/classes/InvalidValueError.InvalidValueError-1.md +8 -8
- package/docs/classes/JWTVerifyOptionsParser.JWTVerifyOptionsParser-1.md +2 -2
- package/docs/classes/ManagedDatabaseConnection.ManagedDatabaseConnection-1.md +19 -19
- package/docs/classes/Middleware.Middleware-1.md +3 -3
- package/docs/classes/MissingConfigError.MissingConfigError-1.md +8 -8
- package/docs/classes/MissingParameterError.MissingParameterError-1.md +8 -8
- package/docs/classes/MySQLConnection.MySQLConnection-1.md +20 -20
- package/docs/classes/MySQLDatabase.MySQLDatabase-1.md +49 -11
- package/docs/classes/Query.Query-1.md +8 -8
- package/docs/classes/RawQuery.RawQuery-1.md +8 -8
- package/docs/classes/Request.Request-1.md +18 -18
- package/docs/classes/Response.Response-1.md +11 -11
- package/docs/classes/ResponseData.ResponseData-1.md +7 -7
- package/docs/classes/ServiceProvider.ServiceProvider-1.md +15 -15
- package/docs/classes/ServiceResponse.ServiceResponse-1.md +4 -4
- package/docs/classes/StormError.StormError-1.md +8 -8
- package/docs/classes/TemporaryTableQuery.TemporaryTableQuery-1.md +8 -8
- package/docs/classes/Token.Token-1.md +2 -2
- package/docs/classes/TokenManager.TokenManager-1.md +4 -4
- package/docs/classes/UnauthorizedAccessError.UnauthorizedAccessError-1.md +8 -8
- package/docs/classes/private_CommitQuery.CommitQuery.md +8 -8
- package/docs/classes/private_RollbackQuery.RollbackQuery.md +8 -8
- package/docs/classes/private_StartTransactionQuery.StartTransactionQuery.md +8 -8
- package/docs/enums/ApplicationEvent.ApplicationEvent-1.md +1 -1
- package/docs/enums/ErrorCode.ErrorCode-1.md +9 -9
- package/docs/enums/ExitCode.ExitCode-1.md +2 -2
- package/docs/enums/HTTPMethod.HTTPMethod-1.md +4 -4
- package/docs/enums/JWTError.JWTError-1.md +2 -2
- package/docs/enums/StatusCode.StatusCode-1.md +48 -48
- package/docs/interfaces/DropTemporaryTableQuery.IDropTemporaryTableQueryInput.md +1 -1
- package/docs/interfaces/IConfig.IConfig-1.md +8 -8
- package/docs/interfaces/IDatabaseConfig.IDatabaseConfig-1.md +6 -6
- package/docs/interfaces/IDatabaseConnection.IDatabaseConnection-1.md +14 -14
- package/docs/interfaces/IFormData.IFormData-1.md +2 -2
- package/docs/interfaces/IHandler.IHandler-1.md +1 -1
- package/docs/interfaces/IInsertQueryResult.IInsertQueryResult-1.md +3 -3
- package/docs/interfaces/IJWTVerifyOptions.IJWTVerifyOptions-1.md +1 -1
- package/docs/interfaces/IRequestResponse.IRequestResponse-1.md +2 -2
- package/docs/interfaces/IUpdateQueryResult.IUpdateQueryResult-1.md +2 -2
- package/docs/interfaces/StormError.IErrorResponse.md +4 -4
- package/docs/interfaces/TemporaryTableQuery.ITemporaryTableQueryInput.md +2 -2
- package/docs/modules/DatabaseConnection.md +2 -2
- package/docs/modules/Handler.md +2 -2
- package/docs/modules/IDeleteQueryResult.md +1 -1
- package/docs/modules/Response.md +1 -1
- package/docs/modules/instance.md +2 -2
- package/lib/Application.d.ts +2 -0
- package/lib/Application.js +9 -1
- package/lib/Application.js.map +1 -1
- package/lib/BackendAuthenticationMiddleware.d.ts +1 -2
- package/lib/BackendAuthenticationMiddleware.js +1 -1
- package/lib/BackendAuthenticationMiddleware.js.map +1 -1
- package/lib/ConfigLoader.js +1 -1
- package/lib/ConfigLoader.js.map +1 -1
- package/lib/Database.d.ts +2 -0
- package/lib/Database.js +3 -0
- package/lib/Database.js.map +1 -1
- package/lib/Handler.js +1 -3
- package/lib/Handler.js.map +1 -1
- package/lib/MySQLDatabase.d.ts +1 -0
- package/lib/MySQLDatabase.js +11 -0
- package/lib/MySQLDatabase.js.map +1 -1
- package/package.json +17 -17
- package/src/Application.ts +11 -1
- package/src/BackendAuthenticationMiddleware.ts +1 -2
- package/src/ConfigLoader.ts +1 -1
- package/src/Database.ts +5 -0
- package/src/Handler.ts +1 -3
- package/src/MySQLDatabase.ts +13 -0
- package/src/defs/merge-change.d.ts +1 -1
package/src/Application.ts
CHANGED
|
@@ -238,7 +238,17 @@ export abstract class Application
|
|
|
238
238
|
});
|
|
239
239
|
}
|
|
240
240
|
|
|
241
|
-
public close(): Promise<void> {
|
|
241
|
+
public async close(): Promise<void> {
|
|
242
|
+
await Promise.all([ this._closeSocket(), this._closeDatabase() ]);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
protected async _closeDatabase(): Promise<void> {
|
|
246
|
+
if (this.$db) {
|
|
247
|
+
await this.$db.destroy();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
protected async _closeSocket(): Promise<void> {
|
|
242
252
|
return new Promise<void>((resolve, reject) => {
|
|
243
253
|
if (this.$socket && this.$socket.listening) {
|
|
244
254
|
this.$socket.close(() => {
|
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
|
|
17
17
|
import {StatusCode} from './StatusCode';
|
|
18
18
|
import {Request} from './Request';
|
|
19
|
-
import {Response} from './Response';
|
|
20
19
|
import {ResponseData} from './ResponseData';
|
|
21
20
|
import {Logger} from '@arashi/logger';
|
|
22
21
|
import {getInstance} from './instance';
|
|
@@ -44,7 +43,7 @@ export class BackendAuthenticationMiddleware {
|
|
|
44
43
|
* @param options Arbituary object containing any relevant information used for authentication.
|
|
45
44
|
*/
|
|
46
45
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
47
|
-
public execute(request: Request,
|
|
46
|
+
public execute(request: Request, options?: any): Promise<any> {
|
|
48
47
|
let config: IConfig = getInstance().getConfig();
|
|
49
48
|
|
|
50
49
|
let backendAuthHeader: string = config.backend_authentication_header;
|
package/src/ConfigLoader.ts
CHANGED
|
@@ -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
|
@@ -133,9 +133,7 @@ export class Handler<
|
|
|
133
133
|
return Promise.resolve(result);
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
protected _onMiddlewareReject(request: Request, response: Response, error: StormError): void {
|
|
137
|
-
response.error(error);
|
|
138
|
-
}
|
|
136
|
+
protected _onMiddlewareReject(request: Request, response: Response, error: StormError): void {}
|
|
139
137
|
|
|
140
138
|
private $handleResponse<TResponse>(response: Response<TResponse>, data: any): void {
|
|
141
139
|
response.send(data);
|
package/src/MySQLDatabase.ts
CHANGED
|
@@ -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) => {
|