namirasoft-node 1.4.72 → 1.4.74

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.
@@ -8,8 +8,17 @@ import { BaseTypeSchema, BaseVariableSchema, ControllerSchema } from 'namirasoft
8
8
  export declare abstract class BaseController<D extends {
9
9
  [name: string]: BaseDatabase;
10
10
  }, State, Props, Output> {
11
- protected showLogAtTheBeginning: boolean;
12
- protected showLogAtTheEnd: boolean;
11
+ protected log: {
12
+ show: boolean;
13
+ beginning: {
14
+ show: boolean;
15
+ onBefore: (() => Promise<void>)[];
16
+ };
17
+ end: {
18
+ show: boolean;
19
+ onBefore: (() => Promise<void>)[];
20
+ };
21
+ };
13
22
  app: BaseApplication<D>;
14
23
  req: express.Request;
15
24
  res: express.Response;
@@ -15,8 +15,17 @@ const namirasoft_core_1 = require("namirasoft-core");
15
15
  const namirasoft_schema_1 = require("namirasoft-schema");
16
16
  class BaseController {
17
17
  constructor(app, req, res) {
18
- this.showLogAtTheBeginning = false;
19
- this.showLogAtTheEnd = true;
18
+ this.log = {
19
+ show: true,
20
+ beginning: {
21
+ show: false,
22
+ onBefore: []
23
+ },
24
+ end: {
25
+ show: false,
26
+ onBefore: []
27
+ }
28
+ };
20
29
  this.validate_query = true;
21
30
  this.bodyAs = {
22
31
  json: {
@@ -46,14 +55,18 @@ class BaseController {
46
55
  run() {
47
56
  return __awaiter(this, void 0, void 0, function* () {
48
57
  let info = this.getInfo();
49
- this.meta = new Meta_1.Meta(info, this.req, this.sensitive);
58
+ this.meta = new Meta_1.Meta(info, this.req);
50
59
  this.output = null;
51
60
  this.result = null;
52
61
  try {
53
62
  this.meta.onStart();
54
- if (this.showLogAtTheBeginning)
55
- if (!this.meta.url.endsWith("/healthz"))
56
- this.app.logger.info(this.meta);
63
+ if (this.log.show)
64
+ if (this.log.beginning.show)
65
+ if (!this.meta.url.endsWith("/healthz")) {
66
+ for (let i = 0; i < this.log.beginning.onBefore.length; i++)
67
+ yield this.log.beginning.onBefore[i]();
68
+ this.app.logger.info(this.meta);
69
+ }
57
70
  let accpet = new namirasoft_core_1.ObjectService(this.req.headers.accept).getString("");
58
71
  let isJson = accpet.includes("application/json") || accpet.includes("*/*");
59
72
  let isSchema = accpet.includes("application/schema");
@@ -118,9 +131,13 @@ class BaseController {
118
131
  this.result = this.output;
119
132
  }
120
133
  this.meta.onFinish();
121
- if (this.showLogAtTheEnd)
122
- if (!this.meta.url.endsWith("/healthz"))
123
- this.app.logger.info(this.meta);
134
+ if (this.log.show)
135
+ if (this.log.end.show)
136
+ if (!this.meta.url.endsWith("/healthz")) {
137
+ for (let i = 0; i < this.log.end.onBefore.length; i++)
138
+ yield this.log.end.onBefore[i]();
139
+ this.app.logger.info(this.meta);
140
+ }
124
141
  if (this.meta.redirect_location)
125
142
  return this.res.redirect(this.meta.code, this.meta.redirect_location);
126
143
  return this.res.status(this.meta.code).send(this.result);
@@ -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
@@ -27,7 +27,7 @@ export declare class Meta {
27
27
  method: HTTPMethod;
28
28
  path: string;
29
29
  summary: string;
30
- }, req: express.Request, sensitive: boolean);
30
+ }, req: express.Request);
31
31
  onStart(): void;
32
32
  onFinish(): void;
33
33
  }
package/dist/Meta.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Meta = void 0;
4
4
  const IPOperation_1 = require("./IPOperation");
5
5
  class Meta {
6
- constructor(info, req, sensitive) {
6
+ constructor(info, req) {
7
7
  this.start_time = null;
8
8
  this.end_time = null;
9
9
  this.duration = null;
@@ -15,10 +15,8 @@ class Meta {
15
15
  this.ip = IPOperation_1.IPOperation.getIP(req);
16
16
  this.method = req.method;
17
17
  this.url = req.originalUrl;
18
- if (!sensitive) {
19
- this.headers = req.headers;
20
- this.body = req.body;
21
- }
18
+ this.headers = req.headers;
19
+ this.body = req.body;
22
20
  }
23
21
  onStart() {
24
22
  this.start_time = new Date();
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;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"}
1
+ {"version":3,"file":"Meta.js","sourceRoot":"","sources":["../src/Meta.ts"],"names":[],"mappings":";;;AAEA,+CAA4C;AAG5C,MAAa,IAAI;IAeb,YAAY,IAAsF,EAAE,GAAoB;QAPxH,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,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACzB,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;AAjCD,oBAiCC"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.72",
11
+ "version": "1.4.74",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/index.js",
@@ -20,7 +20,7 @@
20
20
  "@supercharge/request-ip": "^1.2.0",
21
21
  "@types/cors": "^2.8.17",
22
22
  "@types/express": "^5.0.0",
23
- "@types/node": "^22.13.1",
23
+ "@types/node": "^22.13.4",
24
24
  "@types/node-cron": "^3.0.11",
25
25
  "@types/nodemailer": "^6.4.17",
26
26
  "@types/nodemailer-smtp-transport": "^2.7.8",
@@ -30,8 +30,8 @@
30
30
  "cors": "^2.8.5",
31
31
  "express": "^4.21.2",
32
32
  "joi": "^17.13.3",
33
- "namirasoft-core": "^1.4.48",
34
- "namirasoft-log": "^1.4.19",
33
+ "namirasoft-core": "^1.4.51",
34
+ "namirasoft-log": "^1.4.20",
35
35
  "namirasoft-schema": "^1.4.25",
36
36
  "node-cron": "^3.0.3",
37
37
  "nodemailer": "^6.10.0",
@@ -8,8 +8,27 @@ import { BaseTypeSchema, BaseVariableSchema, ControllerSchema, JoiValidator } fr
8
8
 
9
9
  export abstract class BaseController<D extends { [name: string]: BaseDatabase }, State, Props, Output>
10
10
  {
11
- protected showLogAtTheBeginning: boolean = false;
12
- protected showLogAtTheEnd: boolean = true;
11
+ protected log: {
12
+ show: boolean;
13
+ beginning: {
14
+ show: boolean;
15
+ onBefore: (() => Promise<void>)[];
16
+ }
17
+ end: {
18
+ show: boolean;
19
+ onBefore: (() => Promise<void>)[];
20
+ }
21
+ } = {
22
+ show: true,
23
+ beginning: {
24
+ show: false,
25
+ onBefore: []
26
+ },
27
+ end: {
28
+ show: false,
29
+ onBefore: []
30
+ }
31
+ };
13
32
  public app: BaseApplication<D>;
14
33
  public req: express.Request;
15
34
  public res: express.Response;
@@ -64,7 +83,7 @@ export abstract class BaseController<D extends { [name: string]: BaseDatabase },
64
83
  async run()
65
84
  {
66
85
  let info = this.getInfo();
67
- this.meta = new Meta(info, this.req, this.sensitive);
86
+ this.meta = new Meta(info, this.req);
68
87
  // output
69
88
  this.output = null;
70
89
  this.result = null;
@@ -72,9 +91,14 @@ export abstract class BaseController<D extends { [name: string]: BaseDatabase },
72
91
  {
73
92
  // meta
74
93
  this.meta.onStart();
75
- if (this.showLogAtTheBeginning)
76
- if (!this.meta.url.endsWith("/healthz"))
77
- this.app.logger.info(this.meta);
94
+ if (this.log.show)
95
+ if (this.log.beginning.show)
96
+ if (!this.meta.url.endsWith("/healthz"))
97
+ {
98
+ for (let i = 0; i < this.log.beginning.onBefore.length; i++)
99
+ await this.log.beginning.onBefore[i]();
100
+ this.app.logger.info(this.meta);
101
+ }
78
102
 
79
103
  let accpet: string = new ObjectService(this.req.headers.accept).getString("");
80
104
  let isJson = accpet.includes("application/json") || accpet.includes("*/*");
@@ -159,11 +183,18 @@ export abstract class BaseController<D extends { [name: string]: BaseDatabase },
159
183
  else
160
184
  this.result = this.output;
161
185
  }
186
+
162
187
  // finish
163
188
  this.meta.onFinish();
164
- if (this.showLogAtTheEnd)
165
- if (!this.meta.url.endsWith("/healthz"))
166
- this.app.logger.info(this.meta);
189
+ if (this.log.show)
190
+ if (this.log.end.show)
191
+ if (!this.meta.url.endsWith("/healthz"))
192
+ {
193
+ for (let i = 0; i < this.log.end.onBefore.length; i++)
194
+ await this.log.end.onBefore[i]();
195
+ this.app.logger.info(this.meta);
196
+ }
197
+
167
198
  if (this.meta.redirect_location)
168
199
  return this.res.redirect(this.meta.code, this.meta.redirect_location);
169
200
  return this.res.status(this.meta.code).send(this.result);
package/src/Meta.ts CHANGED
@@ -18,17 +18,14 @@ export class Meta
18
18
  message: string = "Success";
19
19
  error: Error | null = null;
20
20
  redirect_location: string | null = null;
21
- constructor(info: { name: string, tag: string, method: HTTPMethod, path: string, summary: string }, req: express.Request, sensitive: boolean)
21
+ constructor(info: { name: string, tag: string, method: HTTPMethod, path: string, summary: string }, req: express.Request)
22
22
  {
23
23
  this.info = info;
24
24
  this.ip = IPOperation.getIP(req);
25
25
  this.method = req.method;
26
26
  this.url = req.originalUrl;
27
- if (!sensitive)
28
- {
29
- this.headers = req.headers;
30
- this.body = req.body;
31
- }
27
+ this.headers = req.headers;
28
+ this.body = req.body;
32
29
  }
33
30
  onStart()
34
31
  {