akeyless-server-commons 1.0.107 → 1.0.108

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.
Files changed (101) hide show
  1. package/dist/cjs/helpers/start.d.ts +2 -2
  2. package/dist/cjs/helpers/start.js +2 -1
  3. package/dist/cjs/helpers/start.js.map +1 -1
  4. package/dist/cjs/middlewares/error_handling.js +2 -1
  5. package/dist/cjs/middlewares/error_handling.js.map +1 -1
  6. package/dist/cjs/middlewares/global_mw.d.ts +3 -1
  7. package/dist/cjs/middlewares/global_mw.js +22 -1
  8. package/dist/cjs/middlewares/global_mw.js.map +1 -1
  9. package/dist/cjs/types/interfaces/global.d.ts +6 -2
  10. package/dist/cjs/types/types/global.d.ts +2 -0
  11. package/dist/esm/helpers/start.d.ts +2 -2
  12. package/dist/esm/helpers/start.js +3 -2
  13. package/dist/esm/helpers/start.js.map +1 -1
  14. package/dist/esm/middlewares/error_handling.js +2 -1
  15. package/dist/esm/middlewares/error_handling.js.map +1 -1
  16. package/dist/esm/middlewares/global_mw.d.ts +3 -1
  17. package/dist/esm/middlewares/global_mw.js +20 -0
  18. package/dist/esm/middlewares/global_mw.js.map +1 -1
  19. package/dist/esm/types/interfaces/global.d.ts +6 -2
  20. package/dist/esm/types/types/global.d.ts +2 -0
  21. package/dist/helpers/boards_helpers.js +11 -0
  22. package/dist/helpers/email_helpers.js +69 -0
  23. package/dist/helpers/firebase_helpers.js +379 -0
  24. package/dist/helpers/global_helpers.js +145 -0
  25. package/dist/helpers/index.js +10 -0
  26. package/dist/helpers/login_helpers.js +18 -0
  27. package/dist/helpers/notification_helpers.js +230 -0
  28. package/dist/helpers/phone_number_helpers.js +88 -0
  29. package/dist/helpers/start.js +35 -0
  30. package/dist/helpers/tasks_helpers.js +125 -0
  31. package/dist/helpers/time_helpers.js +63 -0
  32. package/dist/index.js +5 -0
  33. package/dist/managers/cache_manager.js +27 -0
  34. package/dist/managers/index.js +3 -0
  35. package/dist/managers/logger_manager.js +51 -0
  36. package/dist/managers/translation_manager.js +38 -0
  37. package/dist/middlewares/auth_mw.js +49 -0
  38. package/dist/middlewares/error_handling.js +19 -0
  39. package/dist/middlewares/global_mw.js +70 -0
  40. package/dist/middlewares/index.js +4 -0
  41. package/dist/middlewares/trim_mw.js +7 -0
  42. package/dist/test.js +1 -0
  43. package/dist/types/enums/global.js +18 -0
  44. package/dist/types/enums/index.js +1 -0
  45. package/dist/types/helpers/boards_helpers.d.ts +7 -0
  46. package/dist/types/helpers/email_helpers.d.ts +2 -0
  47. package/dist/types/helpers/firebase_helpers.d.ts +37 -0
  48. package/dist/types/helpers/global_helpers.d.ts +15 -0
  49. package/dist/types/helpers/index.d.ts +10 -0
  50. package/dist/types/helpers/login_helpers.d.ts +4 -0
  51. package/dist/types/helpers/notification_helpers.d.ts +11 -0
  52. package/dist/types/helpers/phone_number_helpers.d.ts +13 -0
  53. package/dist/types/helpers/start.d.ts +4 -0
  54. package/dist/types/helpers/tasks_helpers.d.ts +20 -0
  55. package/dist/types/helpers/time_helpers.d.ts +26 -0
  56. package/dist/types/index.d.ts +5 -0
  57. package/dist/types/index.js +3 -0
  58. package/dist/types/interfaces/email.js +1 -0
  59. package/dist/types/interfaces/global.js +1 -0
  60. package/dist/types/interfaces/index.js +2 -0
  61. package/dist/types/managers/cache_manager.d.ts +11 -0
  62. package/dist/types/managers/index.d.ts +3 -0
  63. package/dist/types/managers/logger_manager.d.ts +12 -0
  64. package/dist/types/managers/translation_manager.d.ts +14 -0
  65. package/dist/types/middlewares/auth_mw.d.ts +4 -0
  66. package/dist/types/middlewares/error_handling.d.ts +11 -0
  67. package/dist/types/middlewares/global_mw.d.ts +4 -0
  68. package/dist/types/middlewares/index.d.ts +4 -0
  69. package/dist/types/middlewares/trim_mw.d.ts +2 -0
  70. package/dist/types/test.d.ts +0 -0
  71. package/dist/types/types/enums/global.d.ts +16 -0
  72. package/dist/types/types/enums/index.d.ts +1 -0
  73. package/dist/types/types/firebase_types.js +1 -0
  74. package/dist/types/types/global.js +1 -0
  75. package/dist/types/types/index.d.ts +3 -0
  76. package/dist/types/types/index.js +2 -0
  77. package/dist/types/types/interfaces/email.d.ts +24 -0
  78. package/dist/types/types/interfaces/global.d.ts +16 -0
  79. package/dist/types/types/interfaces/index.d.ts +2 -0
  80. package/dist/types/types/types/firebase_types.d.ts +30 -0
  81. package/dist/types/types/types/global.d.ts +17 -0
  82. package/dist/types/types/types/index.d.ts +2 -0
  83. package/package.json +1 -1
  84. package/dist/cjs/helpers/tasks.d.ts +0 -12
  85. package/dist/cjs/helpers/tasks.js +0 -62
  86. package/dist/cjs/helpers/tasks.js.map +0 -1
  87. package/dist/cjs/managers/cacche_manager2.d.ts +0 -18
  88. package/dist/cjs/managers/cacche_manager2.js +0 -41
  89. package/dist/cjs/managers/cacche_manager2.js.map +0 -1
  90. package/dist/cjs/managers/socket_manager.d.ts +0 -41
  91. package/dist/cjs/managers/socket_manager.js +0 -246
  92. package/dist/cjs/managers/socket_manager.js.map +0 -1
  93. package/dist/esm/helpers/tasks.d.ts +0 -12
  94. package/dist/esm/helpers/tasks.js +0 -58
  95. package/dist/esm/helpers/tasks.js.map +0 -1
  96. package/dist/esm/managers/cacche_manager2.d.ts +0 -18
  97. package/dist/esm/managers/cacche_manager2.js +0 -37
  98. package/dist/esm/managers/cacche_manager2.js.map +0 -1
  99. package/dist/esm/managers/socket_manager.d.ts +0 -41
  100. package/dist/esm/managers/socket_manager.js +0 -243
  101. package/dist/esm/managers/socket_manager.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
  import { Express } from "express";
2
- import { MainRouter } from "../types";
3
- export declare const start_server: (main_router: MainRouter, project_name: string, version: string, port?: number) => Promise<Express>;
2
+ import { LogRequests, MainRouter } from "../types";
3
+ export declare const start_server: (main_router: MainRouter, project_name: string, version: string, port?: number, log_requests?: LogRequests) => Promise<Express>;
4
4
  export declare const basic_init: (main_router: MainRouter, project_name: string, version: string, port?: number) => Promise<Express>;
@@ -19,13 +19,14 @@ const managers_1 = require("../managers");
19
19
  const _1 = require("./");
20
20
  const error_handling_1 = require("../middlewares/error_handling");
21
21
  const middlewares_1 = require("../middlewares");
22
- const start_server = (main_router, project_name, version, port) => __awaiter(void 0, void 0, void 0, function* () {
22
+ const start_server = (main_router_1, project_name_1, version_1, port_1, ...args_1) => __awaiter(void 0, [main_router_1, project_name_1, version_1, port_1, ...args_1], void 0, function* (main_router, project_name, version, port, log_requests = {}) {
23
23
  const app = (0, express_1.default)();
24
24
  let env_data = (0, _1.init_env_variables)(["mode"]);
25
25
  port = port || Number(env_data.port);
26
26
  app.use((0, cors_1.default)());
27
27
  app.use(express_1.default.json());
28
28
  app.use((0, middlewares_1.trim_body_middleware)());
29
+ app.use((0, middlewares_1.request_logger)(log_requests));
29
30
  main_router(app);
30
31
  app.use(error_handling_1.error_handler);
31
32
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/helpers/start.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA2C;AAC3C,gDAAwB;AACxB,0CAAqC;AACrC,yBAAwD;AAExD,kEAA8D;AAC9D,gDAAsD;AAE/C,MAAM,YAAY,GAAG,CAAO,WAAuB,EAAE,YAAoB,EAAE,OAAe,EAAE,IAAa,EAAoB,EAAE;IAClI,MAAM,GAAG,GAAY,IAAA,iBAAO,GAAE,CAAC;IAC/B,IAAI,QAAQ,GAAG,IAAA,qBAAkB,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;IAChB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,IAAA,kCAAoB,GAAE,CAAC,CAAC;IAChC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,GAAG,CAAC,GAAG,CAAC,8BAAa,CAAC,CAAC;IAEvB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAClB,iBAAM,CAAC,GAAG,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;YAC5D,iBAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAA,CAAC;AAjBW,QAAA,YAAY,gBAiBvB;AAEK,MAAM,UAAU,GAAG,CAAO,WAAuB,EAAE,YAAoB,EAAE,OAAe,EAAE,IAAa,EAAoB,EAAE;IAChI,IAAI,CAAC;QACD,MAAM,IAAA,iBAAc,GAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAY,EAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,iBAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAA,CAAC;AATW,QAAA,UAAU,cASrB"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/helpers/start.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA2C;AAC3C,gDAAwB;AACxB,0CAAqC;AACrC,yBAAwD;AAExD,kEAA8D;AAC9D,gDAAsE;AAE/D,MAAM,YAAY,GAAG,8DAMR,EAAE,qGALlB,WAAuB,EACvB,YAAoB,EACpB,OAAe,EACf,IAAa,EACb,eAA4B,EAAE;IAE9B,MAAM,GAAG,GAAY,IAAA,iBAAO,GAAE,CAAC;IAC/B,IAAI,QAAQ,GAAG,IAAA,qBAAkB,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;IAChB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,IAAA,kCAAoB,GAAE,CAAC,CAAC;IAChC,GAAG,CAAC,GAAG,CAAC,IAAA,4BAAc,EAAC,YAAY,CAAC,CAAC,CAAC;IACtC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,GAAG,CAAC,GAAG,CAAC,8BAAa,CAAC,CAAC;IAEvB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAClB,iBAAM,CAAC,GAAG,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;YAC5D,iBAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAA,CAAC;AAxBW,QAAA,YAAY,gBAwBvB;AAEK,MAAM,UAAU,GAAG,CAAO,WAAuB,EAAE,YAAoB,EAAE,OAAe,EAAE,IAAa,EAAoB,EAAE;IAChI,IAAI,CAAC;QACD,MAAM,IAAA,iBAAc,GAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAY,EAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,iBAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAA,CAAC;AATW,QAAA,UAAU,cASrB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.async_error_handler = exports.error_handler = void 0;
4
+ const managers_1 = require("../managers");
4
5
  /**
5
6
  * Utility to handle async errors
6
7
  */
@@ -14,7 +15,7 @@ exports.async_error_handler = async_error_handler;
14
15
  * Global error-handling middleware.
15
16
  */
16
17
  const error_handler = (err, req, res, next) => {
17
- console.error("Global Error Handler:", err.stack);
18
+ managers_1.logger.error("Global Error Handler:", err.stack);
18
19
  res.status(500).json({
19
20
  status: "error",
20
21
  message: err.message || "Internal Server Error",
@@ -1 +1 @@
1
- {"version":3,"file":"error_handling.js","sourceRoot":"","sources":["../../../src/middlewares/error_handling.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC7C,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACvD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;AACN,CAAC,CAAC;AAcsB,kDAAmB;AAZ3C;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAClF,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAElD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACjB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,uBAAuB;KAClD,CAAC,CAAC;AACP,CAAC,CAAC;AAEO,sCAAa"}
1
+ {"version":3,"file":"error_handling.js","sourceRoot":"","sources":["../../../src/middlewares/error_handling.ts"],"names":[],"mappings":";;;AAEA,0CAAqC;AAErC;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC7C,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACvD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;AACN,CAAC,CAAC;AAcsB,kDAAmB;AAZ3C;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAClF,iBAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAEjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACjB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,uBAAuB;KAClD,CAAC,CAAC;AACP,CAAC,CAAC;AAEO,sCAAa"}
@@ -1,2 +1,4 @@
1
- import { MandatoryParams, MW } from "../types";
1
+ import { RequestHandler } from "express";
2
+ import { LogRequests, MandatoryParams, MW } from "../types";
2
3
  export declare const mandatory: ({ body, headers }: MandatoryParams) => MW;
4
+ export declare const request_logger: (log_requests: LogRequests) => RequestHandler;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mandatory = void 0;
3
+ exports.request_logger = exports.mandatory = void 0;
4
4
  const helpers_1 = require("../helpers");
5
+ const managers_1 = require("../managers");
5
6
  const validateParameter = (data, parameter) => {
6
7
  if (data[parameter.key] === undefined) {
7
8
  throw `missing mandatory parameter: ${parameter.key}`;
@@ -52,4 +53,24 @@ const mandatory = ({ body, headers }) => {
52
53
  };
53
54
  };
54
55
  exports.mandatory = mandatory;
56
+ const request_logger = (log_requests) => {
57
+ return (req, res, next) => {
58
+ if (log_requests === null || log_requests === void 0 ? void 0 : log_requests.url) {
59
+ managers_1.logger.log(`${req.method} ${req.originalUrl}`);
60
+ }
61
+ if (log_requests === null || log_requests === void 0 ? void 0 : log_requests.headers) {
62
+ managers_1.logger.log("Headers:", req.headers);
63
+ }
64
+ if (log_requests === null || log_requests === void 0 ? void 0 : log_requests.query) {
65
+ managers_1.logger.log("Query:", req.query);
66
+ }
67
+ if (log_requests === null || log_requests === void 0 ? void 0 : log_requests.body) {
68
+ if (["POST", "PUT", "PATCH"].includes(req.method)) {
69
+ managers_1.logger.log("Body:", req.body);
70
+ }
71
+ }
72
+ next();
73
+ };
74
+ };
75
+ exports.request_logger = request_logger;
55
76
  //# sourceMappingURL=global_mw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"global_mw.js","sourceRoot":"","sources":["../../../src/middlewares/global_mw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global_mw.js","sourceRoot":"","sources":["../../../src/middlewares/global_mw.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,9 @@ export interface MandatoryParams {
8
8
  body?: MandatoryObject[];
9
9
  headers?: MandatoryObject[];
10
10
  }
11
- export type LangOptions = "he" | "en" | "ru" | (string & {});
12
- export type EntityOptions = "nx_devices" | (string & {});
11
+ export interface LogRequests {
12
+ url?: boolean;
13
+ headers?: boolean;
14
+ query?: boolean;
15
+ body?: boolean;
16
+ }
@@ -13,3 +13,5 @@ export type MW = (req: Request, res: Response, next: NextFunction) => void;
13
13
  export type Service = (req: Request, res: Response) => void;
14
14
  export type Route = (req: Request, res: Response, next?: NextFunction) => Response;
15
15
  export type AddAuditRecord = (action: string, entity: string, details: TObject<any>, user?: NxUser) => Promise<void>;
16
+ export type LangOptions = "he" | "en" | "ru" | (string & {});
17
+ export type EntityOptions = "nx_devices" | (string & {});
@@ -1,4 +1,4 @@
1
1
  import { Express } from "express";
2
- import { MainRouter } from "../types";
3
- export declare const start_server: (main_router: MainRouter, project_name: string, version: string, port?: number) => Promise<Express>;
2
+ import { LogRequests, MainRouter } from "../types";
3
+ export declare const start_server: (main_router: MainRouter, project_name: string, version: string, port?: number, log_requests?: LogRequests) => Promise<Express>;
4
4
  export declare const basic_init: (main_router: MainRouter, project_name: string, version: string, port?: number) => Promise<Express>;
@@ -12,14 +12,15 @@ import cors from "cors";
12
12
  import { logger } from "../managers";
13
13
  import { init_env_variables, init_snapshots } from "./";
14
14
  import { error_handler } from "../middlewares/error_handling";
15
- import { trim_body_middleware } from "../middlewares";
16
- export const start_server = (main_router, project_name, version, port) => __awaiter(void 0, void 0, void 0, function* () {
15
+ import { request_logger, trim_body_middleware } from "../middlewares";
16
+ export const start_server = (main_router_1, project_name_1, version_1, port_1, ...args_1) => __awaiter(void 0, [main_router_1, project_name_1, version_1, port_1, ...args_1], void 0, function* (main_router, project_name, version, port, log_requests = {}) {
17
17
  const app = express();
18
18
  let env_data = init_env_variables(["mode"]);
19
19
  port = port || Number(env_data.port);
20
20
  app.use(cors());
21
21
  app.use(express.json());
22
22
  app.use(trim_body_middleware());
23
+ app.use(request_logger(log_requests));
23
24
  main_router(app);
24
25
  app.use(error_handler);
25
26
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/helpers/start.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAoB,MAAM,SAAS,CAAC;AAC3C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAO,WAAuB,EAAE,YAAoB,EAAE,OAAe,EAAE,IAAa,EAAoB,EAAE;IAClI,MAAM,GAAG,GAAY,OAAO,EAAE,CAAC;IAC/B,IAAI,QAAQ,GAAG,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAChB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAChC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAEvB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAClB,MAAM,CAAC,GAAG,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAO,WAAuB,EAAE,YAAoB,EAAE,OAAe,EAAE,IAAa,EAAoB,EAAE;IAChI,IAAI,CAAC;QACD,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/helpers/start.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAoB,MAAM,SAAS,CAAC;AAC3C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,CAAC,MAAM,YAAY,GAAG,8DAMR,EAAE,qGALlB,WAAuB,EACvB,YAAoB,EACpB,OAAe,EACf,IAAa,EACb,eAA4B,EAAE;IAE9B,MAAM,GAAG,GAAY,OAAO,EAAE,CAAC;IAC/B,IAAI,QAAQ,GAAG,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAChB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAChC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAEvB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAClB,MAAM,CAAC,GAAG,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAO,WAAuB,EAAE,YAAoB,EAAE,OAAe,EAAE,IAAa,EAAoB,EAAE;IAChI,IAAI,CAAC;QACD,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAA,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { logger } from "../managers";
1
2
  /**
2
3
  * Utility to handle async errors
3
4
  */
@@ -10,7 +11,7 @@ const async_error_handler = (service) => {
10
11
  * Global error-handling middleware.
11
12
  */
12
13
  const error_handler = (err, req, res, next) => {
13
- console.error("Global Error Handler:", err.stack);
14
+ logger.error("Global Error Handler:", err.stack);
14
15
  res.status(500).json({
15
16
  status: "error",
16
17
  message: err.message || "Internal Server Error",
@@ -1 +1 @@
1
- {"version":3,"file":"error_handling.js","sourceRoot":"","sources":["../../../src/middlewares/error_handling.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC7C,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACvD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAClF,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAElD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACjB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,uBAAuB;KAClD,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"error_handling.js","sourceRoot":"","sources":["../../../src/middlewares/error_handling.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC7C,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACvD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAClF,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAEjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACjB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,uBAAuB;KAClD,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,2 +1,4 @@
1
- import { MandatoryParams, MW } from "../types";
1
+ import { RequestHandler } from "express";
2
+ import { LogRequests, MandatoryParams, MW } from "../types";
2
3
  export declare const mandatory: ({ body, headers }: MandatoryParams) => MW;
4
+ export declare const request_logger: (log_requests: LogRequests) => RequestHandler;
@@ -1,4 +1,5 @@
1
1
  import { json_failed } from "../helpers";
2
+ import { logger } from "../managers";
2
3
  const validateParameter = (data, parameter) => {
3
4
  if (data[parameter.key] === undefined) {
4
5
  throw `missing mandatory parameter: ${parameter.key}`;
@@ -48,4 +49,23 @@ export const mandatory = ({ body, headers }) => {
48
49
  }
49
50
  };
50
51
  };
52
+ export const request_logger = (log_requests) => {
53
+ return (req, res, next) => {
54
+ if (log_requests === null || log_requests === void 0 ? void 0 : log_requests.url) {
55
+ logger.log(`${req.method} ${req.originalUrl}`);
56
+ }
57
+ if (log_requests === null || log_requests === void 0 ? void 0 : log_requests.headers) {
58
+ logger.log("Headers:", req.headers);
59
+ }
60
+ if (log_requests === null || log_requests === void 0 ? void 0 : log_requests.query) {
61
+ logger.log("Query:", req.query);
62
+ }
63
+ if (log_requests === null || log_requests === void 0 ? void 0 : log_requests.body) {
64
+ if (["POST", "PUT", "PATCH"].includes(req.method)) {
65
+ logger.log("Body:", req.body);
66
+ }
67
+ }
68
+ next();
69
+ };
70
+ };
51
71
  //# sourceMappingURL=global_mw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"global_mw.js","sourceRoot":"","sources":["../../../src/middlewares/global_mw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global_mw.js","sourceRoot":"","sources":["../../../src/middlewares/global_mw.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,9 @@ export interface MandatoryParams {
8
8
  body?: MandatoryObject[];
9
9
  headers?: MandatoryObject[];
10
10
  }
11
- export type LangOptions = "he" | "en" | "ru" | (string & {});
12
- export type EntityOptions = "nx_devices" | (string & {});
11
+ export interface LogRequests {
12
+ url?: boolean;
13
+ headers?: boolean;
14
+ query?: boolean;
15
+ body?: boolean;
16
+ }
@@ -13,3 +13,5 @@ export type MW = (req: Request, res: Response, next: NextFunction) => void;
13
13
  export type Service = (req: Request, res: Response) => void;
14
14
  export type Route = (req: Request, res: Response, next?: NextFunction) => Response;
15
15
  export type AddAuditRecord = (action: string, entity: string, details: TObject<any>, user?: NxUser) => Promise<void>;
16
+ export type LangOptions = "he" | "en" | "ru" | (string & {});
17
+ export type EntityOptions = "nx_devices" | (string & {});
@@ -0,0 +1,11 @@
1
+ export const extract_board_types_from_settings = (settings) => {
2
+ const { erm_board_types, jimi_board_types, jimi_iothub_board_types, ruptela_board_types, servision_board_types } = settings;
3
+ const result = [
4
+ { board_provider: "erm", board_types: erm_board_types.values },
5
+ { board_provider: "jimi", board_types: jimi_board_types.values },
6
+ { board_provider: "ruptela", board_types: ruptela_board_types.values },
7
+ { board_provider: "servision", board_types: servision_board_types.values },
8
+ { board_provider: "jimi_iothub", board_types: jimi_iothub_board_types.values },
9
+ ];
10
+ return result;
11
+ };
@@ -0,0 +1,69 @@
1
+ import sendgrid from "@sendgrid/mail";
2
+ import { add_audit_record, get_document_by_id } from ".";
3
+ import { logger } from "../managers";
4
+ export const send_email = async (email_data) => {
5
+ try {
6
+ const emails_settings = (await get_document_by_id("nx-settings", "emails"));
7
+ const { sendgrid_api_key, groups, default_from } = emails_settings;
8
+ let { from, to, cc, group_name, body_html, body_plain_text, subject, entity_for_audit } = email_data;
9
+ /// validate data
10
+ if (!to?.length && !group_name?.length) {
11
+ throw "must supply a 'group_name' or 'to' value ";
12
+ }
13
+ if (!body_html?.length && !body_plain_text?.length) {
14
+ throw "must supply a 'body_plain_text' or 'html' value ";
15
+ }
16
+ /// merge to and cc
17
+ if (group_name) {
18
+ if (!groups[group_name]) {
19
+ throw "must supply a valid 'group_name'";
20
+ }
21
+ if (!to) {
22
+ to = groups[group_name].to;
23
+ }
24
+ else {
25
+ to = typeof to === "string" ? [...groups[group_name].to, to] : [...groups[group_name].to, ...to];
26
+ }
27
+ if (!cc) {
28
+ if (groups[group_name].cc?.length) {
29
+ cc = groups[group_name].cc;
30
+ }
31
+ }
32
+ else {
33
+ cc = typeof cc === "string" ? [...(groups[group_name].cc || []), cc] : [...(groups[group_name].cc || []), ...cc];
34
+ }
35
+ }
36
+ /// set sendgrid account
37
+ sendgrid.setApiKey(sendgrid_api_key);
38
+ /// prepare message
39
+ const msg = body_html
40
+ ? {
41
+ subject,
42
+ from: from || default_from,
43
+ to,
44
+ cc,
45
+ html: body_html,
46
+ }
47
+ : {
48
+ subject,
49
+ from: from || default_from,
50
+ to,
51
+ cc,
52
+ text: body_plain_text,
53
+ };
54
+ if (!msg.cc) {
55
+ delete msg.cc;
56
+ }
57
+ /// send email
58
+ const email_result = await sendgrid.send(msg);
59
+ if (email_result[0].statusCode !== 202) {
60
+ throw email_result[0].body;
61
+ }
62
+ /// add audit
63
+ logger.log("email send successfully", { ...email_data, ...msg });
64
+ await add_audit_record("send_email", entity_for_audit, { ...email_data, ...msg });
65
+ }
66
+ catch (error) {
67
+ logger.error("error sending email", { error, email_data });
68
+ }
69
+ };