@creator.co/wapi 1.2.0-alpha7 → 1.2.0-alpha8
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/package.json +2 -1
- package/dist/src/API/Request.d.ts +1 -1
- package/dist/src/API/Response.d.ts +16 -13
- package/dist/src/API/Response.js +2 -9
- package/dist/src/API/Response.js.map +1 -1
- package/dist/src/BaseEvent/EventProcessor.js +1 -1
- package/dist/src/BaseEvent/EventProcessor.js.map +1 -1
- package/dist/src/BaseEvent/Transaction.d.ts +3 -3
- package/dist/src/BaseEvent/Transaction.js.map +1 -1
- package/dist/src/Server/Router.d.ts +4 -7
- package/dist/src/Server/Router.js.map +1 -1
- package/dist/src/Server/lib/Server.js +3 -3
- package/dist/src/Server/lib/Server.js.map +1 -1
- package/package.json +1 -1
- package/src/API/Request.ts +1 -1
- package/src/API/Response.ts +33 -31
- package/src/BaseEvent/EventProcessor.ts +1 -1
- package/src/BaseEvent/Transaction.ts +4 -4
- package/src/Server/Router.ts +7 -7
- package/src/Server/lib/Server.ts +3 -3
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@creator.co/wapi",
|
|
3
|
-
"version": "1.2.0-
|
|
3
|
+
"version": "1.2.0-alpha7",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"author": "",
|
|
14
14
|
"license": "ISC",
|
|
15
15
|
"dependencies": {
|
|
16
|
+
"@aws-sdk/client-kms": "^3.427.0",
|
|
16
17
|
"@aws-sdk/client-secrets-manager": "^3.427.0",
|
|
17
18
|
"@aws-sdk/client-ses": "^3.414.0",
|
|
18
19
|
"@aws-sdk/client-sns": "^3.398.0",
|
|
@@ -10,7 +10,7 @@ export default class Request<T> {
|
|
|
10
10
|
getContextParam(cxtParam: string): any | null;
|
|
11
11
|
containsPathParam(paramName: string): boolean;
|
|
12
12
|
getPathParam(paramName: string): string | null;
|
|
13
|
-
getBody(): T
|
|
13
|
+
getBody(): T;
|
|
14
14
|
getPath(): string;
|
|
15
15
|
getMethod(): string;
|
|
16
16
|
getPathParams(): object | null;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { Context } from "aws-lambda";
|
|
2
2
|
import Transaction from "../BaseEvent/Transaction";
|
|
3
|
-
export
|
|
3
|
+
export type ResponseErrorType = {
|
|
4
|
+
err: string;
|
|
5
|
+
errCode?: string;
|
|
6
|
+
};
|
|
7
|
+
export default class Response<B = any | ResponseErrorType> {
|
|
4
8
|
private _statusCode;
|
|
5
9
|
private _body;
|
|
6
10
|
private _isPipingOut;
|
|
@@ -9,28 +13,27 @@ export default class Response {
|
|
|
9
13
|
readonly rawBody: boolean;
|
|
10
14
|
readonly throwOnErrors: boolean;
|
|
11
15
|
readonly disableTransactionID: boolean;
|
|
12
|
-
constructor(statusCode: number, body
|
|
16
|
+
constructor(statusCode: number, body: B, optBehaviour?: {
|
|
13
17
|
shouldStream?: boolean;
|
|
14
18
|
rawBody?: boolean;
|
|
15
19
|
throwOnErrors?: boolean;
|
|
16
20
|
disableTransactionID?: boolean;
|
|
17
21
|
} | undefined);
|
|
18
22
|
getCode(): number;
|
|
19
|
-
getBody():
|
|
23
|
+
getBody(): B;
|
|
20
24
|
appendIntoBody(key: string, value: any): void;
|
|
21
25
|
appendHeader(key: string, value: any): void;
|
|
22
26
|
build(context: Context, transaction: Transaction<any>, _optDoNotCallContext: boolean): Promise<void>;
|
|
23
27
|
private _pipe;
|
|
24
28
|
private _rawContext;
|
|
25
|
-
static MissingParamResponse(paramName: string): Response
|
|
26
|
-
static MissingQueryResponse(paramName: string): Response
|
|
27
|
-
static BadRequestResponse(msg?: string, errCode?: string, optBody?: any): Response
|
|
28
|
-
static BadRequestResponseWithRollback(msg: string, errCode: string, optBody?: any): Response
|
|
29
|
-
static UnauthorizedResponse(msg: string, errCode: string): Response
|
|
30
|
-
static SuccessResponse(body
|
|
31
|
-
static RedirectResponse(url: string): Response
|
|
32
|
-
static SuccessNoContentResponse(): Response
|
|
29
|
+
static MissingParamResponse(paramName: string): Response<ResponseErrorType>;
|
|
30
|
+
static MissingQueryResponse(paramName: string): Response<ResponseErrorType>;
|
|
31
|
+
static BadRequestResponse<T>(msg?: string, errCode?: string, optBody?: any): Response<T>;
|
|
32
|
+
static BadRequestResponseWithRollback(msg: string, errCode: string, optBody?: any): Response<ResponseErrorType>;
|
|
33
|
+
static UnauthorizedResponse(msg: string, errCode: string): Response<ResponseErrorType>;
|
|
34
|
+
static SuccessResponse<T>(body: T): Response<T>;
|
|
35
|
+
static RedirectResponse(url: string): Response<null>;
|
|
36
|
+
static SuccessNoContentResponse(): Response<null>;
|
|
33
37
|
static SuccessStreamResponse(stream: any, contentType: string): Response;
|
|
34
|
-
static
|
|
35
|
-
static SimpleResponse(body: any, optionalCode?: number): Response;
|
|
38
|
+
static SimpleResponse<T>(body: T, optionalCode?: number): Response<T>;
|
|
36
39
|
}
|
package/dist/src/API/Response.js
CHANGED
|
@@ -203,10 +203,10 @@ var Response = /** @class */ (function () {
|
|
|
203
203
|
return new Response(401, __assign({ err: msg }, (errCode ? { errCode: errCode } : {})));
|
|
204
204
|
};
|
|
205
205
|
Response.SuccessResponse = function (body) {
|
|
206
|
-
return new Response(200, body ? body : {});
|
|
206
|
+
return new Response(200, (body ? body : {}));
|
|
207
207
|
};
|
|
208
208
|
Response.RedirectResponse = function (url) {
|
|
209
|
-
var resp = new Response(302);
|
|
209
|
+
var resp = new Response(302, null);
|
|
210
210
|
resp.appendHeader("Location", url);
|
|
211
211
|
return resp;
|
|
212
212
|
};
|
|
@@ -222,13 +222,6 @@ var Response = /** @class */ (function () {
|
|
|
222
222
|
resp.appendHeader("Content-type", contentType);
|
|
223
223
|
return resp;
|
|
224
224
|
};
|
|
225
|
-
Response.StepFunctionResponse = function (body, optionalCode) {
|
|
226
|
-
var resp = new Response(optionalCode || 200, body, {
|
|
227
|
-
rawBody: true,
|
|
228
|
-
throwOnErrors: true,
|
|
229
|
-
});
|
|
230
|
-
return resp;
|
|
231
|
-
};
|
|
232
225
|
Response.SimpleResponse = function (body, optionalCode) {
|
|
233
226
|
var resp = new Response(optionalCode || 200, body);
|
|
234
227
|
return resp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../../src/API/Response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,sCAAgC;AAChC,EAAE;AACF;IAA0B,+BAAK;IAC7B,qBAAY,IAAS;QAArB,iBAIC;QAHC,IAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAA;gBAClE,kBAAM,GAAG,CAAC;QACV,KAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAA;;IAC9D,CAAC;IACH,kBAAC;AAAD,CAAC,AAND,CAA0B,KAAK,GAM9B;
|
|
1
|
+
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../../src/API/Response.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,7 +132,7 @@ var EventProcessor = /** @class */ (function () {
|
|
|
132
132
|
return [2 /*return*/, {
|
|
133
133
|
batchItemFailures: failureIDs.map(function (id) { return ({ itemIdentifier: id }); }),
|
|
134
134
|
}];
|
|
135
|
-
return [2 /*return*/, Response_1.default.SuccessResponse()];
|
|
135
|
+
return [2 /*return*/, Response_1.default.SuccessResponse(null)];
|
|
136
136
|
}
|
|
137
137
|
});
|
|
138
138
|
}); })];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventProcessor.js","sourceRoot":"","sources":["../../../src/BaseEvent/EventProcessor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,6CAA8D;AAC9D,4CAAsC;AACtC,sCAAgC;AAQhC;IAKE,wBACE,KAAe,EACf,OAAgB,EAChB,MAAyB,EACzB,YAAsB;QAEtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;QACxB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAA;IACnC,CAAC;IACK,qCAAY,GAAlB,UACE,SAAkC,EAClC,kBAA4B;;;;;4BAEf,qBAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAA;;wBAAnE,IAAI,GAAG,SAA4D;wBACzE,IACE,CAAC,IAAI,CAAC,aAAa;4BACnB,IAAI;4BACJ,IAAI,YAAY,kBAAQ;4BACxB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;4BAEhD,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;6BAC5C,IAAI,IAAI;4BAAE,sBAAO,IAAI,EAAA;wBAC1B,sBAAO,IAAI,EAAA;;;;KACZ;IACK,yCAAgB,GAAtB,UACE,SAAkC,EAClC,kBAA2B;;;;;;6BAEvB,CAAA,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA,EAArD,wBAAqD;wBAGhD,qBAAM,IAAI,qBAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,wBAClD,IAAI,CAAC,UAAU,KAClB,UAAU,EAAE,IAAI,IAChB,CAAC,OAAO,CAAC,UAAO,WAAwB;;;;;4CAElC,cAAc,GAAwB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CACjE,UAAC,WAAW;gDACV,OAAA,kBAAkB;oDAChB,CAAC,CAAC,WAAW,CAAC,IAAI;oDAClB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;4CAFhC,CAEgC,CACnC,CAAA;4CAGK,UAAU,GAAkB,EAAE,CAAA;iDACP,cAAc;;;;;;;;;;;4CACnC,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,CAAA;4CAC5C,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;4CAEtC,qBAAM,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;gDACtD,mBAAmB;8CADmC;;4CAAhD,IAAI,GAAG,SAAyC;4CACtD,mBAAmB;4CACnB,IACE,IAAI,YAAY,kBAAQ;gDACxB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,EAChD;gDACA,8CAA8C;gDAC9C,IAAI,IAAI,CAAC,aAAa;oDAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;;oDACrD,sBAAO,IAAI,EAAA;6CACjB;;;;;;4CAEH,8DAA8D;4CAC9D,IAAI,IAAI,CAAC,aAAa;gDACpB,sBAAO;wDACL,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,EAAxB,CAAwB,CAAC;qDACpE,EAAA;4CACH,sBAAO,kBAAQ,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"EventProcessor.js","sourceRoot":"","sources":["../../../src/BaseEvent/EventProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,14 @@ import Request from "../API/Request";
|
|
|
3
3
|
import Response from "../API/Response";
|
|
4
4
|
import Logger, { LoggerConfig } from "../Logger/Logger";
|
|
5
5
|
import Publisher, { PublisherConfig } from "../Publisher/Publisher";
|
|
6
|
-
export type TransactionExecution<T> = (transaction: T) => Promise<Response | SQSBatchResponse>;
|
|
6
|
+
export type TransactionExecution<T, B = null> = (transaction: T) => Promise<Response<B> | SQSBatchResponse>;
|
|
7
7
|
export type TransactionConfig = {
|
|
8
8
|
throwOnErrors?: boolean;
|
|
9
9
|
syncReturn?: boolean;
|
|
10
10
|
logger?: LoggerConfig;
|
|
11
11
|
publisher?: PublisherConfig;
|
|
12
12
|
};
|
|
13
|
-
export default class Transaction<T = object> {
|
|
13
|
+
export default class Transaction<T = object, B = null> {
|
|
14
14
|
private _event;
|
|
15
15
|
private _context;
|
|
16
16
|
private _response;
|
|
@@ -21,7 +21,7 @@ export default class Transaction<T = object> {
|
|
|
21
21
|
readonly publisher: Publisher;
|
|
22
22
|
responseProxy: (response: Response) => Promise<void>;
|
|
23
23
|
constructor(event: APIGatewayEvent | SQSEvent, context: Context, config?: TransactionConfig);
|
|
24
|
-
execute(executionFunc: TransactionExecution<Transaction<T>>): Promise<Response | null | SQSBatchResponse>;
|
|
24
|
+
execute(executionFunc: TransactionExecution<Transaction<T, B>>): Promise<Response | null | SQSBatchResponse>;
|
|
25
25
|
_execute(executionFunc: TransactionExecution<Transaction<T>>): Promise<boolean>;
|
|
26
26
|
_executeDBTransactions(safeExecution: any): Promise<void>;
|
|
27
27
|
_executeLoggerFlush(safeExecution: any): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../src/BaseEvent/Transaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,0CAAoC;AACpC,4CAAsC;AACtC,sCAAgC;AAChC,2CAAuD;AACvD,oDAAmE;AAenE;IAWE,EAAE;IACF,qBACE,KAAiC,EACjC,OAAgB,EAChB,MAA0B;QAE1B,IAAM,aAAa,GAAG,OAAO,CAAC,YAAY;YACxC,CAAC,CAAC,OAAO,CAAC,YAAY;YACtB,CAAC,CAAmB,KAAM,CAAC,cAAc;gBACzC,CAAC,CAAmB,KAAM,CAAC,cAAc,CAAC,SAAS;gBACnD,CAAC,CAAC,SAAS,CAAA;QACb,kBAAkB;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,kJAAkJ;QAClJ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,oBAAoB;QACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAA,CAAA;QACvC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAA,CAAA,CAAC,4BAA4B;QACzE,aAAa;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,aAAa,CAAC,CAAA;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACtE,IAAI,CAAC,SAAS,GAAG,IAAI,mBAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC,CAAA;IACnD,CAAC;IAED,gBAAgB;IACV,6BAAO,GAAb,UACE,
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../src/BaseEvent/Transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { ResponseErrorType } from "../API/Response";
|
|
2
3
|
import Transaction, { TransactionConfig, TransactionExecution } from "../BaseEvent/Transaction";
|
|
3
|
-
export interface Route<InputType = object> {
|
|
4
|
+
export interface Route<InputType = object, OutputType = any> {
|
|
4
5
|
path: string;
|
|
5
6
|
method: string;
|
|
6
|
-
handler: TransactionExecution<Transaction<InputType
|
|
7
|
-
|
|
8
|
-
outputValidation?: {
|
|
9
|
-
type: any;
|
|
10
|
-
validationSchema: z.ZodObject<any>;
|
|
11
|
-
};
|
|
7
|
+
handler: TransactionExecution<Transaction<InputType>, OutputType | ResponseErrorType>;
|
|
8
|
+
inputSchema?: z.ZodObject<any>;
|
|
12
9
|
}
|
|
13
10
|
export type RouterConfig = TransactionConfig & {
|
|
14
11
|
routes: Route[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/Server/Router.ts"],"names":[],"mappings":";;AAEA,yDAAmD;AACnD,uCAAiC;
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/Server/Router.ts"],"names":[],"mappings":";;AAEA,yDAAmD;AACnD,uCAAiC;AAEjC,sCAAgC;AA+BhC;IAGE,gBAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;YAC9B,CAAC,CAAC,IAAI,yBAAe,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,IAAI,gBAAM,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;IACM,0BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;IAChC,CAAC;IACO,4BAAW,GAAnB;QACE,OAAO,eAAK,CAAC,qBAAqB,EAAE,CAAA;IACtC,CAAC;IACH,aAAC;AAAD,CAAC,AAfD,IAeC"}
|
|
@@ -80,9 +80,9 @@ var Server = /** @class */ (function () {
|
|
|
80
80
|
handler = this.routeMatches(route.path, route.method, event);
|
|
81
81
|
if (!handler) return [3 /*break*/, 3];
|
|
82
82
|
transaction.logger.log("Router accepted route:", route);
|
|
83
|
-
// Validate input
|
|
84
|
-
if (route.
|
|
85
|
-
validationResp = Validator_1.default.validateSchema(transaction.request.getBody(), route.
|
|
83
|
+
// Validate input
|
|
84
|
+
if (route.inputSchema) {
|
|
85
|
+
validationResp = Validator_1.default.validateSchema(transaction.request.getBody(), route.inputSchema);
|
|
86
86
|
if (validationResp && validationResp instanceof Response_1.default)
|
|
87
87
|
return [2 /*return*/, validationResp];
|
|
88
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Server/lib/Server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA8C;AAE9C,+CAAyC;AACzC,2DAAqD;AACrD,wDAAkD;AAGlD;IAEE,gBAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,0BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,qBAAqB,CAAA;IACnC,CAAC;IAEY,sCAAqB,GAAlC,UACE,KAA2B,EAC3B,OAAgB;;;;;;oBAEhB,mBAAmB;oBACnB,qBAAM,IAAI,qBAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CACxD,UAAO,WAAW;;;;;;;wCACI,KAAA,SAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;;;;wCAA3B,KAAK;wCAER,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;6CAC9D,OAAO,EAAP,wBAAO;wCACT,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;wCACvD,
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Server/lib/Server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA8C;AAE9C,+CAAyC;AACzC,2DAAqD;AACrD,wDAAkD;AAGlD;IAEE,gBAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,0BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,qBAAqB,CAAA;IACnC,CAAC;IAEY,sCAAqB,GAAlC,UACE,KAA2B,EAC3B,OAAgB;;;;;;oBAEhB,mBAAmB;oBACnB,qBAAM,IAAI,qBAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CACxD,UAAO,WAAW;;;;;;;wCACI,KAAA,SAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;;;;wCAA3B,KAAK;wCAER,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;6CAC9D,OAAO,EAAP,wBAAO;wCACT,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;wCACvD,iBAAiB;wCACjB,IAAI,KAAK,CAAC,WAAW,EAAE;4CACf,cAAc,GAAG,mBAAS,CAAC,cAAc,CAC7C,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,EAC7B,KAAK,CAAC,WAAW,CAClB,CAAA;4CACD,IAAI,cAAc,IAAI,cAAc,YAAY,kBAAQ;gDACtD,sBAAO,cAAc,EAAA;yCACxB;wCAEM,qBAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAA;;oCADvC,4BAA4B;oCAC5B,sBAAO,SAAgC,EAAA;;;;;;;;;;;;;;;;oCAG3C,mBAAmB;oCACnB,sBAAO,IAAI,kBAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAA;;;6BACtD,CACF,EAAA;;wBAxBD,mBAAmB;wBACnB,SAuBC,CAAA;;;;;KACF;IACD,iCAAiC;IACzB,6BAAY,GAApB,UACE,SAAiB,EACjB,WAAmB,EACnB,KAA2B;QAE3B,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACvB,IAAM,IAAI,GAAG,EAAE,CAAA;QACf,IAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvD,IAAI,MAAM,EAAE;YACV,IAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAA;YAClC,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE;gBACxD,OAAO,IAAI,CAAA;aACZ;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACH,aAAC;AAAD,CAAC,AAzDD,IAyDC"}
|
package/package.json
CHANGED
package/src/API/Request.ts
CHANGED
package/src/API/Response.ts
CHANGED
|
@@ -11,7 +11,12 @@ class CustomError extends Error {
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
//
|
|
14
|
-
export
|
|
14
|
+
export type ResponseErrorType = {
|
|
15
|
+
err: string
|
|
16
|
+
errCode?: string
|
|
17
|
+
}
|
|
18
|
+
//
|
|
19
|
+
export default class Response<B = any | ResponseErrorType> {
|
|
15
20
|
private _statusCode: number
|
|
16
21
|
private _body: any
|
|
17
22
|
private _isPipingOut: boolean
|
|
@@ -23,7 +28,7 @@ export default class Response {
|
|
|
23
28
|
//
|
|
24
29
|
constructor(
|
|
25
30
|
statusCode: number,
|
|
26
|
-
body
|
|
31
|
+
body: B,
|
|
27
32
|
optBehaviour?:
|
|
28
33
|
| {
|
|
29
34
|
shouldStream?: boolean
|
|
@@ -52,7 +57,7 @@ export default class Response {
|
|
|
52
57
|
public getCode(): number {
|
|
53
58
|
return this._statusCode
|
|
54
59
|
}
|
|
55
|
-
public getBody():
|
|
60
|
+
public getBody(): B {
|
|
56
61
|
return this._body
|
|
57
62
|
}
|
|
58
63
|
public appendIntoBody(key: string, value: any): void {
|
|
@@ -118,25 +123,29 @@ export default class Response {
|
|
|
118
123
|
}
|
|
119
124
|
|
|
120
125
|
/* Shortcuts */
|
|
121
|
-
public static MissingParamResponse(
|
|
126
|
+
public static MissingParamResponse(
|
|
127
|
+
paramName: string,
|
|
128
|
+
): Response<ResponseErrorType> {
|
|
122
129
|
console.warn(`Invalid request - Path parameter ${paramName} is missing.`)
|
|
123
|
-
return new Response(400, {
|
|
130
|
+
return new Response<ResponseErrorType>(400, {
|
|
124
131
|
err: `Invalid request. Path parameter ${paramName} is missing.`,
|
|
125
132
|
errCode: Globals.ErrorCode_MissingParam,
|
|
126
133
|
})
|
|
127
134
|
}
|
|
128
|
-
public static MissingQueryResponse(
|
|
135
|
+
public static MissingQueryResponse(
|
|
136
|
+
paramName: string,
|
|
137
|
+
): Response<ResponseErrorType> {
|
|
129
138
|
console.warn(`Invalid request - Query parameter ${paramName} is missing.`)
|
|
130
|
-
return new Response(400, {
|
|
139
|
+
return new Response<ResponseErrorType>(400, {
|
|
131
140
|
err: `Invalid request. Query parameter ${paramName} is missing.`,
|
|
132
141
|
errCode: Globals.ErrorCode_MissingParam,
|
|
133
142
|
})
|
|
134
143
|
}
|
|
135
|
-
public static BadRequestResponse(
|
|
144
|
+
public static BadRequestResponse<T>(
|
|
136
145
|
msg?: string,
|
|
137
146
|
errCode?: string,
|
|
138
147
|
optBody?: any,
|
|
139
|
-
): Response {
|
|
148
|
+
): Response<T> {
|
|
140
149
|
console.warn(`Bad request - ${msg}`)
|
|
141
150
|
return new Response(400, {
|
|
142
151
|
err: msg,
|
|
@@ -148,32 +157,35 @@ export default class Response {
|
|
|
148
157
|
msg: string,
|
|
149
158
|
errCode: string,
|
|
150
159
|
optBody?: any,
|
|
151
|
-
): Response {
|
|
160
|
+
): Response<ResponseErrorType> {
|
|
152
161
|
console.warn(`Bad request - ${msg}`)
|
|
153
|
-
return new Response(400, {
|
|
162
|
+
return new Response<ResponseErrorType>(400, {
|
|
154
163
|
err: msg,
|
|
155
164
|
rollback: true,
|
|
156
165
|
...(errCode ? { errCode: errCode } : {}),
|
|
157
166
|
...(optBody || {}),
|
|
158
167
|
})
|
|
159
168
|
}
|
|
160
|
-
public static UnauthorizedResponse(
|
|
169
|
+
public static UnauthorizedResponse(
|
|
170
|
+
msg: string,
|
|
171
|
+
errCode: string,
|
|
172
|
+
): Response<ResponseErrorType> {
|
|
161
173
|
console.warn(`Denying request - ${msg}`)
|
|
162
|
-
return new Response(401, {
|
|
174
|
+
return new Response<ResponseErrorType>(401, {
|
|
163
175
|
err: msg,
|
|
164
176
|
...(errCode ? { errCode: errCode } : {}),
|
|
165
177
|
})
|
|
166
178
|
}
|
|
167
|
-
public static SuccessResponse(body
|
|
168
|
-
return new Response(200, body ? body : {})
|
|
179
|
+
public static SuccessResponse<T>(body: T): Response<T> {
|
|
180
|
+
return new Response<T>(200, (body ? body : {}) as T)
|
|
169
181
|
}
|
|
170
|
-
public static RedirectResponse(url: string): Response {
|
|
171
|
-
const resp = new Response(302)
|
|
182
|
+
public static RedirectResponse(url: string): Response<null> {
|
|
183
|
+
const resp = new Response<null>(302, null)
|
|
172
184
|
resp.appendHeader("Location", url)
|
|
173
185
|
return resp
|
|
174
186
|
}
|
|
175
|
-
public static SuccessNoContentResponse(): Response {
|
|
176
|
-
return new Response(204, null)
|
|
187
|
+
public static SuccessNoContentResponse(): Response<null> {
|
|
188
|
+
return new Response<null>(204, null)
|
|
177
189
|
}
|
|
178
190
|
public static SuccessStreamResponse(
|
|
179
191
|
stream: any,
|
|
@@ -186,18 +198,8 @@ export default class Response {
|
|
|
186
198
|
if (contentType) resp.appendHeader("Content-type", contentType)
|
|
187
199
|
return resp
|
|
188
200
|
}
|
|
189
|
-
public static
|
|
190
|
-
|
|
191
|
-
optionalCode?: number,
|
|
192
|
-
): Response {
|
|
193
|
-
const resp = new Response(optionalCode || 200, body, {
|
|
194
|
-
rawBody: true,
|
|
195
|
-
throwOnErrors: true,
|
|
196
|
-
})
|
|
197
|
-
return resp
|
|
198
|
-
}
|
|
199
|
-
public static SimpleResponse(body: any, optionalCode?: number): Response {
|
|
200
|
-
const resp = new Response(optionalCode || 200, body)
|
|
201
|
+
public static SimpleResponse<T>(body: T, optionalCode?: number): Response<T> {
|
|
202
|
+
const resp = new Response<T>(optionalCode || 200, body)
|
|
201
203
|
return resp
|
|
202
204
|
}
|
|
203
205
|
}
|
|
@@ -12,9 +12,9 @@ import Logger, { LoggerConfig } from "../Logger/Logger"
|
|
|
12
12
|
import Publisher, { PublisherConfig } from "../Publisher/Publisher"
|
|
13
13
|
|
|
14
14
|
// Request
|
|
15
|
-
export type TransactionExecution<T> = (
|
|
15
|
+
export type TransactionExecution<T, B = null> = (
|
|
16
16
|
transaction: T,
|
|
17
|
-
) => Promise<Response | SQSBatchResponse>
|
|
17
|
+
) => Promise<Response<B> | SQSBatchResponse>
|
|
18
18
|
// Config
|
|
19
19
|
export type TransactionConfig = {
|
|
20
20
|
throwOnErrors?: boolean
|
|
@@ -24,7 +24,7 @@ export type TransactionConfig = {
|
|
|
24
24
|
publisher?: PublisherConfig
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
export default class Transaction<T = object> {
|
|
27
|
+
export default class Transaction<T = object, B = null> {
|
|
28
28
|
private _event: any
|
|
29
29
|
private _context: Context
|
|
30
30
|
private _response: Response | null | SQSBatchResponse
|
|
@@ -63,7 +63,7 @@ export default class Transaction<T = object> {
|
|
|
63
63
|
|
|
64
64
|
//Main interface
|
|
65
65
|
async execute(
|
|
66
|
-
executionFunc: TransactionExecution<Transaction<T>>,
|
|
66
|
+
executionFunc: TransactionExecution<Transaction<T, B>>,
|
|
67
67
|
): Promise<Response | null | SQSBatchResponse> {
|
|
68
68
|
await this._executeLoggerFlush(async () => {
|
|
69
69
|
await this._executeDBTransactions(async () => {
|
package/src/Server/Router.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { z } from "zod"
|
|
|
2
2
|
|
|
3
3
|
import ContainerServer from "./lib/ContainerServer"
|
|
4
4
|
import Server from "./lib/Server"
|
|
5
|
+
import { ResponseErrorType } from "../API/Response"
|
|
5
6
|
import Utils from "../API/Utils"
|
|
6
7
|
import Transaction, {
|
|
7
8
|
TransactionConfig,
|
|
@@ -9,15 +10,14 @@ import Transaction, {
|
|
|
9
10
|
} from "../BaseEvent/Transaction"
|
|
10
11
|
|
|
11
12
|
// Route
|
|
12
|
-
export interface Route<InputType = object> {
|
|
13
|
+
export interface Route<InputType = object, OutputType = any> {
|
|
13
14
|
path: string
|
|
14
15
|
method: string
|
|
15
|
-
handler: TransactionExecution<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
16
|
+
handler: TransactionExecution<
|
|
17
|
+
Transaction<InputType>,
|
|
18
|
+
OutputType | ResponseErrorType
|
|
19
|
+
>
|
|
20
|
+
inputSchema?: z.ZodObject<any>
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
// Config
|
package/src/Server/lib/Server.ts
CHANGED
|
@@ -28,11 +28,11 @@ export default class Server {
|
|
|
28
28
|
const handler = this.routeMatches(route.path, route.method, event)
|
|
29
29
|
if (handler) {
|
|
30
30
|
transaction.logger.log("Router accepted route:", route)
|
|
31
|
-
// Validate input
|
|
32
|
-
if (route.
|
|
31
|
+
// Validate input
|
|
32
|
+
if (route.inputSchema) {
|
|
33
33
|
const validationResp = Validator.validateSchema(
|
|
34
34
|
transaction.request.getBody(),
|
|
35
|
-
route.
|
|
35
|
+
route.inputSchema,
|
|
36
36
|
)
|
|
37
37
|
if (validationResp && validationResp instanceof Response)
|
|
38
38
|
return validationResp
|