namirasoft-node 1.4.28 → 1.4.30

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.
@@ -52,6 +52,6 @@ export declare abstract class BaseController<D extends BaseDatabase, State, Prop
52
52
  abstract preHandle(): Promise<void>;
53
53
  abstract handle(): Promise<Output>;
54
54
  abstract postHandle(): Promise<void>;
55
- run(): Promise<express.Response<any, Record<string, any>>>;
55
+ run(): Promise<void | express.Response<any, Record<string, any>>>;
56
56
  getSchema(): Promise<ControllerSchema>;
57
57
  }
@@ -129,6 +129,8 @@ class BaseController {
129
129
  if (this.showLogAtTheEnd)
130
130
  if (!this.meta.url.endsWith("/healthz"))
131
131
  this.app.logger.info(this.meta);
132
+ if (this.meta.redirect_location)
133
+ return this.res.redirect(this.meta.code, this.meta.redirect_location);
132
134
  return this.res.status(this.meta.code).send(this.result);
133
135
  });
134
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../src/BaseController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../src/BaseController.ts"],"names":[],"mappings":"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"}
package/dist/Meta.d.ts CHANGED
@@ -20,6 +20,7 @@ export declare class Meta {
20
20
  code: number;
21
21
  message: string;
22
22
  error: Error | null;
23
+ redirect_location: string | null;
23
24
  constructor(info: {
24
25
  name: string;
25
26
  tag: string;
package/dist/Meta.js CHANGED
@@ -10,6 +10,7 @@ class Meta {
10
10
  this.code = 200;
11
11
  this.message = "Success";
12
12
  this.error = null;
13
+ this.redirect_location = null;
13
14
  this.info = info;
14
15
  this.ip = IPOperation_1.IPOperation.getIP(req);
15
16
  this.method = req.method;
package/dist/Meta.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Meta.js","sourceRoot":"","sources":["../src/Meta.ts"],"names":[],"mappings":";;;AAEA,+CAA4C;AAG5C,MAAa,IAAI;IAcb,YAAY,IAAsF,EAAE,GAAoB,EAAE,SAAkB;QAN5I,eAAU,GAAgB,IAAI,CAAC;QAC/B,aAAQ,GAAgB,IAAI,CAAC;QAC7B,aAAQ,GAAkB,IAAI,CAAC;QAC/B,SAAI,GAAW,GAAG,CAAC;QACnB,YAAO,GAAW,SAAS,CAAC;QAC5B,UAAK,GAAiB,IAAI,CAAC;QAGvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,yBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC;QAC3B,IAAI,CAAC,SAAS,EACd,CAAC;YACG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACzB,CAAC;IACL,CAAC;IACD,OAAO;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,QAAQ;;QAEJ,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,CAAC;IACxF,CAAC;CACJ;AAnCD,oBAmCC"}
1
+ {"version":3,"file":"Meta.js","sourceRoot":"","sources":["../src/Meta.ts"],"names":[],"mappings":";;;AAEA,+CAA4C;AAG5C,MAAa,IAAI;IAeb,YAAY,IAAsF,EAAE,GAAoB,EAAE,SAAkB;QAP5I,eAAU,GAAgB,IAAI,CAAC;QAC/B,aAAQ,GAAgB,IAAI,CAAC;QAC7B,aAAQ,GAAkB,IAAI,CAAC;QAC/B,SAAI,GAAW,GAAG,CAAC;QACnB,YAAO,GAAW,SAAS,CAAC;QAC5B,UAAK,GAAiB,IAAI,CAAC;QAC3B,sBAAiB,GAAkB,IAAI,CAAC;QAGpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,yBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC;QAC3B,IAAI,CAAC,SAAS,EACd,CAAC;YACG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACzB,CAAC;IACL,CAAC;IACD,OAAO;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,QAAQ;;QAEJ,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,CAAC;IACxF,CAAC;CACJ;AApCD,oBAoCC"}
@@ -6,17 +6,15 @@ export declare class OTPOperation {
6
6
  static OTP_VER_MAX_TRY_COUNT: number;
7
7
  static generate(length?: number, digit?: number): string;
8
8
  static getWaitTime(x_otp_req_tried_count: number): number;
9
- static onSafeRequest(x_otp: string | null, x_otp_time: Date | null, x_otp_req_tried_count: number, handler: (row: {
9
+ static onSafeRequest<T>(x_otp: string | null, x_otp_time: Date | null, x_otp_req_tried_count: number, handler: (row: {
10
10
  x_otp: string;
11
11
  x_otp_time: Date;
12
12
  x_otp_req_tried_count: number;
13
13
  x_otp_ver_tried_count: number;
14
- }) => Promise<void>): Promise<{
15
- next_time: number;
16
- }>;
17
- static onSafeVerify(x_otp: string | null, x_otp_time: Date | null, x_otp_ver_tried_count: number, code: string, handler: (row: {
14
+ }) => Promise<T>): Promise<T>;
15
+ static onSafeVerify<T>(x_otp: string | null, x_otp_time: Date | null, x_otp_ver_tried_count: number, code: string, handler: (row: {
18
16
  x_otp: string | null;
19
17
  x_otp_time: Date | null;
20
18
  x_verified: boolean;
21
- }) => Promise<void>, errorHandler: () => Promise<void>): Promise<void>;
19
+ }) => Promise<T>, errorHandler: () => Promise<void>): Promise<T>;
22
20
  }
@@ -47,10 +47,7 @@ class OTPOperation {
47
47
  x_otp = OTPOperation.generate(6, 3);
48
48
  x_otp_time = new Date();
49
49
  x_otp_req_tried_count += 1;
50
- yield handler({ x_otp, x_otp_time, x_otp_req_tried_count, x_otp_ver_tried_count });
51
- wait_time = OTPOperation.getWaitTime(x_otp_req_tried_count);
52
- next_time = wait_time * 60;
53
- return { next_time };
50
+ return yield handler({ x_otp, x_otp_time, x_otp_req_tried_count, x_otp_ver_tried_count });
54
51
  });
55
52
  }
56
53
  static onSafeVerify(x_otp, x_otp_time, x_otp_ver_tried_count, code, handler, errorHandler) {
@@ -65,7 +62,7 @@ class OTPOperation {
65
62
  yield errorHandler();
66
63
  namirasoft_core_1.ErrorOperation.throwHTTP(403, "Wrong code.");
67
64
  }
68
- yield handler({
65
+ return yield handler({
69
66
  x_otp: null,
70
67
  x_otp_time: null,
71
68
  x_verified: true,
@@ -1 +1 @@
1
- {"version":3,"file":"OTPOperation.js","sourceRoot":"","sources":["../src/OTPOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OTPOperation.js","sourceRoot":"","sources":["../src/OTPOperation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.28",
11
+ "version": "1.4.30",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/index.js",
@@ -177,6 +177,8 @@ export abstract class BaseController<D extends BaseDatabase, State, Props, Outpu
177
177
  if (this.showLogAtTheEnd)
178
178
  if (!this.meta.url.endsWith("/healthz"))
179
179
  this.app.logger.info(this.meta);
180
+ if (this.meta.redirect_location)
181
+ return this.res.redirect(this.meta.code, this.meta.redirect_location);
180
182
  return this.res.status(this.meta.code).send(this.result);
181
183
  }
182
184
  async getSchema(): Promise<ControllerSchema>
package/src/Meta.ts CHANGED
@@ -17,6 +17,7 @@ export class Meta
17
17
  code: number = 200;
18
18
  message: string = "Success";
19
19
  error: Error | null = null;
20
+ redirect_location: string | null = null;
20
21
  constructor(info: { name: string, tag: string, method: HTTPMethod, path: string, summary: string }, req: express.Request, sensitive: boolean)
21
22
  {
22
23
  this.info = info;
@@ -31,8 +31,8 @@ export class OTPOperation
31
31
  wait_time = Math.min(Math.pow(OTPOperation.INCREASE_POWER_BASE, extra_attempt), OTPOperation.OTP_MAX_WAIT_TIME) * 60;
32
32
  return parseInt(wait_time + "");
33
33
  }
34
- static async onSafeRequest(x_otp: string | null, x_otp_time: Date | null, x_otp_req_tried_count: number,
35
- handler: (row: { x_otp: string, x_otp_time: Date, x_otp_req_tried_count: number, x_otp_ver_tried_count: number }) => Promise<void>)
34
+ static async onSafeRequest<T>(x_otp: string | null, x_otp_time: Date | null, x_otp_req_tried_count: number,
35
+ handler: (row: { x_otp: string, x_otp_time: Date, x_otp_req_tried_count: number, x_otp_ver_tried_count: number }) => Promise<T>): Promise<T>
36
36
  {
37
37
  // check wait time
38
38
  let wait_time = OTPOperation.getWaitTime(x_otp_req_tried_count);
@@ -51,19 +51,15 @@ export class OTPOperation
51
51
  x_otp_time = new Date();
52
52
  x_otp_req_tried_count += 1;
53
53
 
54
- await handler({ x_otp, x_otp_time, x_otp_req_tried_count, x_otp_ver_tried_count });
55
-
56
- wait_time = OTPOperation.getWaitTime(x_otp_req_tried_count);
57
- next_time = wait_time * 60;
58
- return { next_time };
54
+ return await handler({ x_otp, x_otp_time, x_otp_req_tried_count, x_otp_ver_tried_count });
59
55
  }
60
- static async onSafeVerify(x_otp: string | null, x_otp_time: Date | null, x_otp_ver_tried_count: number, code: string,
56
+ static async onSafeVerify<T>(x_otp: string | null, x_otp_time: Date | null, x_otp_ver_tried_count: number, code: string,
61
57
  handler: (row: {
62
58
  x_otp: string | null,
63
59
  x_otp_time: Date | null,
64
60
  x_verified: boolean,
65
- }) => Promise<void>,
66
- errorHandler: () => Promise<void>)
61
+ }) => Promise<T>,
62
+ errorHandler: () => Promise<void>): Promise<T>
67
63
  {
68
64
  if (!x_otp || !x_otp_time)
69
65
  throw ErrorOperation.getHTTP(403, "The OTP not generated yet. Please request first.");
@@ -79,7 +75,8 @@ export class OTPOperation
79
75
  await errorHandler();
80
76
  ErrorOperation.throwHTTP(403, "Wrong code.");
81
77
  }
82
- await handler({
78
+
79
+ return await handler({
83
80
  x_otp: null,
84
81
  x_otp_time: null,
85
82
  x_verified: true,