@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@creator.co/wapi",
3
- "version": "1.2.0-alpha5",
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 | null;
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 default class Response {
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?: any | undefined, optBehaviour?: {
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(): any;
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?: object): Response;
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 StepFunctionResponse(body: any, optionalCode?: number): Response;
35
- static SimpleResponse(body: any, optionalCode?: number): Response;
38
+ static SimpleResponse<T>(body: T, optionalCode?: number): Response<T>;
36
39
  }
@@ -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":"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"}
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":"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"}
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,aAAmD;;;;;4BAEnD,qBAAM,IAAI,CAAC,mBAAmB,CAAC;;;;4CAC7B,qBAAM,IAAI,CAAC,sBAAsB,CAAC;;;4DACzB,qBAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAA;4DAAzC,sBAAO,SAAkC,EAAA;;;6CAC1C,CAAC,EAAA;;wCAFF,SAEE,CAAA;;;;6BACH,CAAC;wBACF,kDAAkD;sBADhD;;wBAJF,SAIE,CAAA;wBACF,kDAAkD;wBAClD,IAAI,IAAI,CAAC,WAAW;4BAAE,sBAAO,IAAI,CAAC,SAAS;gCAC3C,wDAAwD;8BADb;wBAC3C,wDAAwD;wBACxD,sBAAO,IAAI,EAAA;;;;KACZ;IACD,YAAY;IACN,8BAAQ,GAAd,UACE,aAAmD;;;;;;wBAE/C,eAAe,GAAG,IAAI,CAAC,uBAAuB;wBAAxB,CAAA;;;;wBAGxB,SAAS;wBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;wBAC/C,KAAA,IAAI,CAAA;wBAAa,qBAAM,aAAa,CAAC,IAAI,CAAC;4BAC1C,eAAe;0BAD2B;;wBAA1C,GAAK,SAAS,GAAG,SAAyB,CAAA;6BAEtC,CAAA,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,YAAY,kBAAQ,CAAA,EAApD,wBAAoD;wBACtD,qBAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAA;;wBAAjE,SAAiE,CAAA;wBACjE,eAAe,GAAG,CAAC,CAAC,CAClB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,CAC9D,CAAA;;;6BACQ,CAAA,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAA,EAAlC,wBAAkC;wBAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;wBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;wBACjC,eAAe,GAAG,KAAK,CAAA;;;wBAEvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CACrC,iBAAO,CAAC,kCAAkC,EAC1C,iBAAO,CAAC,kBAAkB,CAC3B,CAAA;wBACD,qBAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAA;;wBAAjE,SAAiE,CAAA;wBACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAA;;;;;wBAGtE,kBAAkB;wBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;wBAChE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAC,CAAC,CAAA;wBACxB,SAAS;wBACT,IAAI,IAAI,CAAC,aAAa;4BAAE,MAAM,GAAC,CAAA;6BAE3B,eAAe,EAAf,yBAAe;wBACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CACrC,iBAAO,CAAC,2BAA2B,EACnC,iBAAO,CAAC,kBAAkB,CAC3B,CAAA;wBACD,qBAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAA;;wBAAjE,SAAiE,CAAA;;;6BAGrE,sBAAO,eAAe,EAAA;;;;KACvB;IACK,4CAAsB,GAA5B,UAA6B,aAAa;;;;;;;wBAEtC,aAAa;wBACb,wCAAwC;wBACxC,sBAAsB;wBACtB,iDAAiD;wBACjD,KAAK;wBACL,wBAAwB;wBACxB,qBAAM,aAAa,EAAE;4BACrB,6CAA6C;4BAC7C,0BAA0B;4BAC1B,yCAAyC;4BACzC,WAAW;4BACX,wEAAwE;4BACxE,2CAA2C;4BAC3C,IAAI;4BACJ,+BAA+B;4BAC/B,wCAAwC;0BATnB;;wBANrB,aAAa;wBACb,wCAAwC;wBACxC,sBAAsB;wBACtB,iDAAiD;wBACjD,KAAK;wBACL,wBAAwB;wBACxB,SAAqB,CAAA;;;;wBAWrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;wBAC9D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAC,CAAC,KAAK,CAAC,CAAA;wBACxB,SAAS;wBACT,IAAI,IAAI,CAAC,aAAa;4BAAE,MAAM,GAAC,CAAA;;;;;;KAElC;IACK,yCAAmB,GAAzB,UAA0B,aAAa;;;;;;;wBAEnC,qBAAM,aAAa,EAAE,EAAA;;wBAArB,SAAqB,CAAA;wBACrB,qBAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAA;;wBAA7B,SAA6B,CAAA;;;;wBAE7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;wBAClD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAC,CAAC,CAAA;wBACxB,SAAS;wBACT,IAAI,IAAI,CAAC,aAAa;4BAAE,MAAM,GAAC,CAAA;;;wBAE/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;;;;;;KAEzC;IACD,sBAAsB;IACtB,uCAAiB,GAAjB,UAAkB,KAAa,EAAE,IAAY;QAC3C,OAAO,kBAAQ,CAAC,8BAA8B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;IACH,kBAAC;AAAD,CAAC,AA1ID,IA0IC"}
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
- inputValidation?: z.ZodObject<any>;
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;AACjC,sCAAgC;AAgChC;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"}
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.inputValidation) {
85
- validationResp = Validator_1.default.validateSchema(transaction.request.getBody(), route.inputValidation);
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,kBAAkB;wCAClB,IAAI,KAAK,CAAC,eAAe,EAAE;4CACnB,cAAc,GAAG,mBAAS,CAAC,cAAc,CAC7C,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,EAC7B,KAAK,CAAC,eAAe,CACtB,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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@creator.co/wapi",
3
- "version": "1.2.0-alpha7",
3
+ "version": "1.2.0-alpha8",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -49,7 +49,7 @@ export default class Request<T> {
49
49
  )
50
50
  }
51
51
  //body
52
- public getBody(): T | null {
52
+ public getBody(): T {
53
53
  let b: any = null
54
54
  try {
55
55
  b = this.requestEvent.body
@@ -11,7 +11,12 @@ class CustomError extends Error {
11
11
  }
12
12
  }
13
13
  //
14
- export default class Response {
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?: any | undefined,
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(): any {
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(paramName: string): Response {
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(paramName: string): Response {
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(msg: string, errCode: string): Response {
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?: object): Response {
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 StepFunctionResponse(
190
- body: any,
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
  }
@@ -82,7 +82,7 @@ export default class EventProcessor {
82
82
  return {
83
83
  batchItemFailures: failureIDs.map((id) => ({ itemIdentifier: id })),
84
84
  }
85
- return Response.SuccessResponse()
85
+ return Response.SuccessResponse(null)
86
86
  })
87
87
  } else
88
88
  return Response.BadRequestResponse(
@@ -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 () => {
@@ -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<Transaction<InputType>>
16
- inputValidation?: z.ZodObject<any>
17
- outputValidation?: {
18
- type: any
19
- validationSchema: z.ZodObject<any>
20
- }
16
+ handler: TransactionExecution<
17
+ Transaction<InputType>,
18
+ OutputType | ResponseErrorType
19
+ >
20
+ inputSchema?: z.ZodObject<any>
21
21
  }
22
22
 
23
23
  // Config
@@ -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.inputValidation) {
31
+ // Validate input
32
+ if (route.inputSchema) {
33
33
  const validationResp = Validator.validateSchema(
34
34
  transaction.request.getBody(),
35
- route.inputValidation,
35
+ route.inputSchema,
36
36
  )
37
37
  if (validationResp && validationResp instanceof Response)
38
38
  return validationResp