@creator.co/wapi 1.7.5-alpha1 → 1.7.5-alpha3
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/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/package-lock.json +2 -2
- package/dist/package.json +1 -1
- package/dist/src/Database/index.d.ts +1 -2
- package/dist/src/Database/index.js +3 -2
- package/dist/src/Database/index.js.map +1 -1
- package/dist/src/Database/integrations/dynamo/DynamoDatabase.d.ts +2 -3
- package/dist/src/Database/integrations/dynamo/DynamoDatabase.js +4 -5
- package/dist/src/Database/integrations/dynamo/DynamoDatabase.js.map +1 -1
- package/dist/src/Server/RouteResolver.js +10 -2
- package/dist/src/Server/RouteResolver.js.map +1 -1
- package/dist/src/Server/Router.d.ts +1 -1
- package/dist/src/Server/lib/Server.js +1 -1
- package/dist/src/Server/lib/Server.js.map +1 -1
- package/index.ts +2 -1
- package/package.json +1 -1
- package/src/Database/index.ts +2 -2
- package/src/Database/integrations/dynamo/DynamoDatabase.ts +6 -7
- package/src/Server/RouteResolver.ts +7 -2
- package/src/Server/Router.ts +1 -1
- package/src/Server/lib/Server.ts +1 -1
- package/src/Database/integrations/dynamo/DynamoTransaction.ts +0 -29
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { HttpMethod } from './src/API/Request.js';
|
|
|
2
2
|
import Response, { ResponseErrorType } from './src/API/Response.js';
|
|
3
3
|
import EventProcessor from './src/BaseEvent/EventProcessor.js';
|
|
4
4
|
import Process from './src/BaseEvent/Process.js';
|
|
5
|
-
import Transaction from './src/BaseEvent/Transaction.js';
|
|
5
|
+
import Transaction, { TransactionConfig } from './src/BaseEvent/Transaction.js';
|
|
6
6
|
import Redis from './src/Cache/Redis.js';
|
|
7
7
|
import Configuration from './src/Config/Configuration.js';
|
|
8
8
|
import Crypto from './src/Crypto/Crypto.js';
|
|
@@ -34,4 +34,4 @@ import Utils from './src/Util/Utils.js';
|
|
|
34
34
|
* Database,
|
|
35
35
|
* }
|
|
36
36
|
*/
|
|
37
|
-
export { Transaction, Process, EventProcessor, Router, Mailer, Crypto, JWT, Configuration, Redis, Response, Utils, AsyncSingleton, Route, ResponseErrorType, HttpMethod, Database, };
|
|
37
|
+
export { Transaction, Process, EventProcessor, Router, Mailer, Crypto, JWT, Configuration, Redis, Response, Utils, AsyncSingleton, Route, TransactionConfig, ResponseErrorType, HttpMethod, Database, };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,QAA+B,MAAM,uBAAuB,CAAA;AACnE,OAAO,cAAc,MAAM,mCAAmC,CAAA;AAC9D,OAAO,OAAO,MAAM,4BAA4B,CAAA;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,QAA+B,MAAM,uBAAuB,CAAA;AACnE,OAAO,cAAc,MAAM,mCAAmC,CAAA;AAC9D,OAAO,OAAO,MAAM,4BAA4B,CAAA;AAChD,OAAO,WAAkC,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,MAAM,sBAAsB,CAAA;AACxC,OAAO,aAAa,MAAM,+BAA+B,CAAA;AACzD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,GAAG,MAAM,qBAAqB,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AACnD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,MAAiB,MAAM,wBAAwB,CAAA;AACtD,OAAO,cAAc,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,MAAM,qBAAqB,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO;AACL,cAAc;AACd,WAAW,EACX,OAAO,EACP,cAAc,EACd,MAAM;AACN,iCAAiC;AACjC,MAAM,EACN,MAAM,EACN,GAAG,EACH,aAAa,EACb,KAAK;AACL,MAAM;AACN,QAAQ;AACR,UAAU;AACV,KAAK,EACL,cAAc,EAKd,UAAU,EACV,QAAQ,GACT,CAAA"}
|
package/dist/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@creator.co/wapi",
|
|
3
|
-
"version": "1.7.5-
|
|
3
|
+
"version": "1.7.5-alpha3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@creator.co/wapi",
|
|
9
|
-
"version": "1.7.5-
|
|
9
|
+
"version": "1.7.5-alpha3",
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@aws-sdk/client-dynamodb": "^3.574.0",
|
package/dist/package.json
CHANGED
|
@@ -2,7 +2,6 @@ import { Database } from './Database.js';
|
|
|
2
2
|
import { DatabaseManager } from './DatabaseManager.js';
|
|
3
3
|
import { DatabaseTransaction } from './DatabaseTransaction.js';
|
|
4
4
|
import { DynamoDatabase } from './integrations/dynamo/DynamoDatabase.js';
|
|
5
|
-
import { DynamoTransaction } from './integrations/dynamo/DynamoTransaction.js';
|
|
6
5
|
import { KnexDatabase } from './integrations/knex/KnexDatabase.js';
|
|
7
6
|
import { KnexTransaction } from './integrations/knex/KnexTransaction.js';
|
|
8
7
|
import { KyselyDatabase } from './integrations/kysely/KyselyDatabase.js';
|
|
@@ -10,4 +9,4 @@ import { KyselyTransaction } from './integrations/kysely/KyselyTransaction.js';
|
|
|
10
9
|
import { PostgresDatabase } from './integrations/pgsql/PostgresDatabase.js';
|
|
11
10
|
import { PostgresTransaction } from './integrations/pgsql/PostgresTransaction.js';
|
|
12
11
|
import { DbConfig } from './types.js';
|
|
13
|
-
export { DatabaseTransaction, Database, DatabaseManager, DbConfig, KnexTransaction, KnexDatabase, PostgresTransaction, PostgresDatabase, KyselyTransaction, KyselyDatabase,
|
|
12
|
+
export { DatabaseTransaction, Database, DatabaseManager, DbConfig, KnexTransaction, KnexDatabase, PostgresTransaction, PostgresDatabase, KyselyTransaction, KyselyDatabase, DynamoDatabase, };
|
|
@@ -2,7 +2,7 @@ import { Database } from './Database.js';
|
|
|
2
2
|
import { DatabaseManager } from './DatabaseManager.js';
|
|
3
3
|
import { DatabaseTransaction } from './DatabaseTransaction.js';
|
|
4
4
|
import { DynamoDatabase } from './integrations/dynamo/DynamoDatabase.js';
|
|
5
|
-
import { DynamoTransaction } from './integrations/dynamo/DynamoTransaction.js'
|
|
5
|
+
// import { DynamoTransaction } from './integrations/dynamo/DynamoTransaction.js'
|
|
6
6
|
import { KnexDatabase } from './integrations/knex/KnexDatabase.js';
|
|
7
7
|
import { KyselyDatabase } from './integrations/kysely/KyselyDatabase.js';
|
|
8
8
|
import { PostgresDatabase } from './integrations/pgsql/PostgresDatabase.js';
|
|
@@ -12,5 +12,6 @@ DatabaseTransaction, Database,
|
|
|
12
12
|
// 'Entrypoints'
|
|
13
13
|
DatabaseManager, KnexDatabase, PostgresDatabase, KyselyDatabase,
|
|
14
14
|
// Dynamo
|
|
15
|
-
DynamoTransaction,
|
|
15
|
+
// DynamoTransaction,
|
|
16
|
+
DynamoDatabase, };
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AACxE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AACxE,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAI3E,OAAO;AACL,YAAY;AACZ,mBAAmB,EACnB,QAAQ;AACR,gBAAgB;AAChB,eAAe,EAIf,YAAY,EAGZ,gBAAgB,EAGhB,cAAc;AACd,SAAS;AACT,qBAAqB;AACrB,cAAc,GACf,CAAA"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
2
|
-
import { DynamoTransaction } from './DynamoTransaction.js';
|
|
3
2
|
import { Database } from '../../Database.js';
|
|
4
3
|
import type { DbConfig } from '../../types.js';
|
|
5
|
-
export declare class DynamoDatabase extends Database<
|
|
4
|
+
export declare class DynamoDatabase extends Database<any> {
|
|
6
5
|
private static dynamoProvider;
|
|
7
6
|
readonly client: DynamoDBClient;
|
|
8
7
|
constructor(config: DbConfig<'dynamo'>);
|
|
9
|
-
transaction(): Promise<
|
|
8
|
+
transaction(): Promise<any>;
|
|
10
9
|
private providerFactory;
|
|
11
10
|
}
|
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { Agent } from 'https';
|
|
11
11
|
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
12
12
|
import { NodeHttpHandler } from '@smithy/node-http-handler';
|
|
13
|
-
import { DynamoTransaction } from './DynamoTransaction.js';
|
|
14
13
|
import { Database } from '../../Database.js';
|
|
15
14
|
export class DynamoDatabase extends Database {
|
|
16
15
|
constructor(config) {
|
|
@@ -19,16 +18,16 @@ export class DynamoDatabase extends Database {
|
|
|
19
18
|
}
|
|
20
19
|
transaction() {
|
|
21
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
return
|
|
21
|
+
return Promise.resolve(null);
|
|
23
22
|
});
|
|
24
23
|
}
|
|
25
24
|
providerFactory(config) {
|
|
26
25
|
return new DynamoDatabase.dynamoProvider({
|
|
27
26
|
region: config.region,
|
|
28
|
-
maxAttempts: config.maxAttempts,
|
|
27
|
+
maxAttempts: config.maxAttempts || 3,
|
|
29
28
|
requestHandler: new NodeHttpHandler({
|
|
30
|
-
connectionTimeout: config.connectionTimeout,
|
|
31
|
-
socketTimeout: config.connectionTimeout,
|
|
29
|
+
connectionTimeout: config.connectionTimeout || 60,
|
|
30
|
+
socketTimeout: config.connectionTimeout || 60,
|
|
32
31
|
httpsAgent: new Agent({ keepAlive: false, maxSockets: 50, rejectUnauthorized: true }),
|
|
33
32
|
}),
|
|
34
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamoDatabase.js","sourceRoot":"","sources":["../../../../../src/Database/integrations/dynamo/DynamoDatabase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DynamoDatabase.js","sourceRoot":"","sources":["../../../../../src/Database/integrations/dynamo/DynamoDatabase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,MAAM,OAAO,cAAe,SAAQ,QAAa;IAI/C,YAAmB,MAA0B;QAC3C,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IAEqB,WAAW;;YAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;KAAA;IAEO,eAAe,CAAC,MAA0B;QAChD,OAAO,IAAI,cAAc,CAAC,cAAc,CAAC;YACvC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;YACpC,cAAc,EAAE,IAAI,eAAe,CAAC;gBAClC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;gBACjD,aAAa,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;gBAC7C,UAAU,EAAE,IAAI,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;aACtF,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;;AAtBc,6BAAc,GAAG,cAAc,CAAA"}
|
|
@@ -83,10 +83,18 @@ export default class RouteResolver {
|
|
|
83
83
|
* @returns None
|
|
84
84
|
*/
|
|
85
85
|
buildRoutes(config) {
|
|
86
|
-
|
|
87
|
-
const parts =
|
|
86
|
+
const addRoute = (path, route) => {
|
|
87
|
+
const parts = path.split('/').filter(p => p.length);
|
|
88
88
|
this.routes[route.method] = this.routes[route.method] || new Routes();
|
|
89
89
|
this.routes[route.method].addRoute(route, parts);
|
|
90
|
+
};
|
|
91
|
+
for (const route of config.routes) {
|
|
92
|
+
if (Array.isArray(route.path)) {
|
|
93
|
+
for (const path of route.path)
|
|
94
|
+
addRoute(path, route);
|
|
95
|
+
}
|
|
96
|
+
else
|
|
97
|
+
addRoute(route.path, route);
|
|
90
98
|
}
|
|
91
99
|
}
|
|
92
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteResolver.js","sourceRoot":"","sources":["../../../src/Server/RouteResolver.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM;IAkBV;;;OAGG;IACH;QACE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;IAChB,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAC,KAAe,EAAE,KAAe;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC3B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,MAAM,EAAE,CAAA;gBAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACtC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE,CAAA;gBACnD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YAEpF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACtB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,KAAe;;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC3B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;YAC7C,CAAC;YACD,OAAO,MAAA,IAAI,CAAC,QAAQ,0CAAE,YAAY,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAQhC;;;;OAIG;IACH,YAAqB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;QACvC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,MAAkB,EAAE,IAAY;;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACnD,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,0CAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,MAAoB;QACtC,
|
|
1
|
+
{"version":3,"file":"RouteResolver.js","sourceRoot":"","sources":["../../../src/Server/RouteResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export interface Route<InputType = never, OutputType = never, PathParamsType = S
|
|
|
22
22
|
* @param {string} path - The file path.
|
|
23
23
|
* @returns None
|
|
24
24
|
*/
|
|
25
|
-
path: string;
|
|
25
|
+
path: string | string[];
|
|
26
26
|
/**
|
|
27
27
|
* Represents the method used in an API request.
|
|
28
28
|
* @type {string}
|
|
@@ -59,7 +59,7 @@ export default class Server {
|
|
|
59
59
|
return validationResp;
|
|
60
60
|
}
|
|
61
61
|
// parse before validating
|
|
62
|
-
this.parsePathParams(request, route.path);
|
|
62
|
+
this.parsePathParams(request, Array.isArray(route.path) ? route.path[0] : route.path);
|
|
63
63
|
// Validate path
|
|
64
64
|
if (route.pathSchema) {
|
|
65
65
|
const validationResp = Validator.validateSchema(request.getPathParams(), route.pathSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Server/lib/Server.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,QAA+B,MAAM,uBAAuB,CAAA;AACnE,OAAO,WAA0B,MAAM,gCAAgC,CAAA;AACvE,OAAO,SAAS,MAAM,+BAA+B,CAAA;AAErD,OAAO,aAAa,MAAM,qBAAqB,CAAA;AAE/C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IAczB;;;;OAIG;IACH,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED;;;OAGG;IACI,SAAS;QACd,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;OAKG;IACU,qBAAqB,CAAC,KAA2B,EAAE,OAAgB;;YAC9E,mBAAmB;YACnB,MAAM,IAAI,WAAW,CACnB,KAAK,EACL,OAAO,EACP,IAAI,CAAC,MAAM,CACZ,CAAC,OAAO,CAAC,CAAM,WAAW,EAAC,EAAE;gBAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;gBACrF,IAAI,KAAK,EAAE,CAAC;oBACV,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;oBAC5D,iBAAiB;oBACjB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;wBACtB,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;wBACrF,IAAI,cAAc,IAAI,cAAc,YAAY,QAAQ;4BAAE,OAAO,cAAc,CAAA;oBACjF,CAAC;oBAED,iBAAiB;oBACjB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;wBACtB,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAC7C,OAAO,CAAC,cAAc,EAAE,EACxB,KAAK,CAAC,WAAW,CAClB,CAAA;wBACD,IAAI,cAAc,IAAI,cAAc,YAAY,QAAQ;4BAAE,OAAO,cAAc,CAAA;oBACjF,CAAC;oBAED,0BAA0B;oBAC1B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Server/lib/Server.ts"],"names":[],"mappings":"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"}
|
package/index.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { HttpMethod } from './src/API/Request.js'
|
|
|
2
2
|
import Response, { ResponseErrorType } from './src/API/Response.js'
|
|
3
3
|
import EventProcessor from './src/BaseEvent/EventProcessor.js'
|
|
4
4
|
import Process from './src/BaseEvent/Process.js'
|
|
5
|
-
import Transaction from './src/BaseEvent/Transaction.js'
|
|
5
|
+
import Transaction, { TransactionConfig } from './src/BaseEvent/Transaction.js'
|
|
6
6
|
import Redis from './src/Cache/Redis.js'
|
|
7
7
|
import Configuration from './src/Config/Configuration.js'
|
|
8
8
|
import Crypto from './src/Crypto/Crypto.js'
|
|
@@ -53,6 +53,7 @@ export {
|
|
|
53
53
|
Utils,
|
|
54
54
|
AsyncSingleton,
|
|
55
55
|
Route,
|
|
56
|
+
TransactionConfig,
|
|
56
57
|
// Misc types
|
|
57
58
|
ResponseErrorType,
|
|
58
59
|
HttpMethod,
|
package/package.json
CHANGED
package/src/Database/index.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Database } from './Database.js'
|
|
|
2
2
|
import { DatabaseManager } from './DatabaseManager.js'
|
|
3
3
|
import { DatabaseTransaction } from './DatabaseTransaction.js'
|
|
4
4
|
import { DynamoDatabase } from './integrations/dynamo/DynamoDatabase.js'
|
|
5
|
-
import { DynamoTransaction } from './integrations/dynamo/DynamoTransaction.js'
|
|
5
|
+
// import { DynamoTransaction } from './integrations/dynamo/DynamoTransaction.js'
|
|
6
6
|
import { KnexDatabase } from './integrations/knex/KnexDatabase.js'
|
|
7
7
|
import { KnexTransaction } from './integrations/knex/KnexTransaction.js'
|
|
8
8
|
import { KyselyDatabase } from './integrations/kysely/KyselyDatabase.js'
|
|
@@ -28,6 +28,6 @@ export {
|
|
|
28
28
|
KyselyTransaction,
|
|
29
29
|
KyselyDatabase,
|
|
30
30
|
// Dynamo
|
|
31
|
-
DynamoTransaction,
|
|
31
|
+
// DynamoTransaction,
|
|
32
32
|
DynamoDatabase,
|
|
33
33
|
}
|
|
@@ -3,11 +3,10 @@ import { Agent } from 'https'
|
|
|
3
3
|
import { DynamoDBClient } from '@aws-sdk/client-dynamodb'
|
|
4
4
|
import { NodeHttpHandler } from '@smithy/node-http-handler'
|
|
5
5
|
|
|
6
|
-
import { DynamoTransaction } from './DynamoTransaction.js'
|
|
7
6
|
import { Database } from '../../Database.js'
|
|
8
7
|
import type { DbConfig } from '../../types.js'
|
|
9
8
|
|
|
10
|
-
export class DynamoDatabase extends Database<
|
|
9
|
+
export class DynamoDatabase extends Database<any> {
|
|
11
10
|
private static dynamoProvider = DynamoDBClient
|
|
12
11
|
public readonly client: DynamoDBClient
|
|
13
12
|
|
|
@@ -16,17 +15,17 @@ export class DynamoDatabase extends Database<DynamoTransaction> {
|
|
|
16
15
|
this.client = this.providerFactory(config)
|
|
17
16
|
}
|
|
18
17
|
|
|
19
|
-
public override async transaction(): Promise<
|
|
20
|
-
return
|
|
18
|
+
public override async transaction(): Promise<any> {
|
|
19
|
+
return Promise.resolve(null)
|
|
21
20
|
}
|
|
22
21
|
|
|
23
22
|
private providerFactory(config: DbConfig<'dynamo'>) {
|
|
24
23
|
return new DynamoDatabase.dynamoProvider({
|
|
25
24
|
region: config.region,
|
|
26
|
-
maxAttempts: config.maxAttempts,
|
|
25
|
+
maxAttempts: config.maxAttempts || 3,
|
|
27
26
|
requestHandler: new NodeHttpHandler({
|
|
28
|
-
connectionTimeout: config.connectionTimeout,
|
|
29
|
-
socketTimeout: config.connectionTimeout,
|
|
27
|
+
connectionTimeout: config.connectionTimeout || 60,
|
|
28
|
+
socketTimeout: config.connectionTimeout || 60,
|
|
30
29
|
httpsAgent: new Agent({ keepAlive: false, maxSockets: 50, rejectUnauthorized: true }),
|
|
31
30
|
}),
|
|
32
31
|
})
|
|
@@ -110,10 +110,15 @@ export default class RouteResolver {
|
|
|
110
110
|
* @returns None
|
|
111
111
|
*/
|
|
112
112
|
private buildRoutes(config: RouterConfig): void {
|
|
113
|
-
|
|
114
|
-
const parts =
|
|
113
|
+
const addRoute = (path: string, route: AnyRoute) => {
|
|
114
|
+
const parts = path.split('/').filter(p => p.length)
|
|
115
115
|
this.routes[route.method] = this.routes[route.method] || new Routes()
|
|
116
116
|
this.routes[route.method]!.addRoute(route, parts)
|
|
117
117
|
}
|
|
118
|
+
for (const route of config.routes) {
|
|
119
|
+
if (Array.isArray(route.path)) {
|
|
120
|
+
for (const path of route.path) addRoute(path, route)
|
|
121
|
+
} else addRoute(route.path, route)
|
|
122
|
+
}
|
|
118
123
|
}
|
|
119
124
|
}
|
package/src/Server/Router.ts
CHANGED
package/src/Server/lib/Server.ts
CHANGED
|
@@ -76,7 +76,7 @@ export default class Server {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
// parse before validating
|
|
79
|
-
this.parsePathParams(request, route.path)
|
|
79
|
+
this.parsePathParams(request, Array.isArray(route.path) ? route.path[0] : route.path)
|
|
80
80
|
// Validate path
|
|
81
81
|
if (route.pathSchema) {
|
|
82
82
|
const validationResp = Validator.validateSchema(request.getPathParams(), route.pathSchema)
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { DynamoDBClient } from '@aws-sdk/client-dynamodb'
|
|
2
|
-
|
|
3
|
-
import { DynamoDatabase } from './DynamoDatabase.js'
|
|
4
|
-
import { DatabaseTransaction } from '../../DatabaseTransaction.js'
|
|
5
|
-
|
|
6
|
-
export class DynamoTransaction extends DatabaseTransaction {
|
|
7
|
-
public readonly writer: DynamoDBClient
|
|
8
|
-
protected database: DynamoDatabase
|
|
9
|
-
private constructor(writer: DynamoDBClient, database: DynamoDatabase) {
|
|
10
|
-
super(writer, database)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public static async newTransaction(
|
|
14
|
-
writer: DynamoDBClient,
|
|
15
|
-
database: DynamoDatabase
|
|
16
|
-
): Promise<DynamoTransaction> {
|
|
17
|
-
const tx = new DynamoTransaction(writer, database)
|
|
18
|
-
await tx.begin() // defaults to opened
|
|
19
|
-
return DatabaseTransaction.proxyInstance(tx) as any
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
protected doBegin = async () => {}
|
|
23
|
-
protected doCommit = () => {
|
|
24
|
-
return Promise.resolve()
|
|
25
|
-
}
|
|
26
|
-
protected doRollback = () => {
|
|
27
|
-
return Promise.resolve()
|
|
28
|
-
}
|
|
29
|
-
}
|