@senhainfo/shared-utils 1.1.11 → 1.2.0

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/lib/app-log.d.ts CHANGED
@@ -9,6 +9,16 @@ interface LogFileProps {
9
9
  }
10
10
  export declare class AppLog {
11
11
  private options;
12
+ /**
13
+ * Constructor
14
+ * @param {AppLogOptions} options - Options for the log file
15
+ * @param {string} options.logPath - Path to save the log file
16
+ *
17
+ * @default { logPath: path.resolve("api_logs") }
18
+ *
19
+ * @example
20
+ * const appLog = new AppLog({ logPath: "path/to/logs" });
21
+ */
12
22
  constructor(options?: AppLogOptions);
13
23
  /**
14
24
  * Save log file
@@ -1 +1 @@
1
- {"version":3,"file":"app-log.d.ts","sourceRoot":"","sources":["../src/app-log.ts"],"names":[],"mappings":"AAIA,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAEb;gBAEU,OAAO,CAAC,EAAE,aAAa;IAMnC;;;;;;;;OAQG;IACI,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAiC1E"}
1
+ {"version":3,"file":"app-log.d.ts","sourceRoot":"","sources":["../src/app-log.ts"],"names":[],"mappings":"AAIA,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAEb;IAEF;;;;;;;;;OASG;gBACS,OAAO,CAAC,EAAE,aAAa;IAMnC;;;;;;;;OAQG;IACI,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAiC1E"}
package/lib/app-log.js CHANGED
@@ -8,6 +8,16 @@ const date_fns_1 = require("date-fns");
8
8
  const node_fs_1 = __importDefault(require("node:fs"));
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
10
  class AppLog {
11
+ /**
12
+ * Constructor
13
+ * @param {AppLogOptions} options - Options for the log file
14
+ * @param {string} options.logPath - Path to save the log file
15
+ *
16
+ * @default { logPath: path.resolve("api_logs") }
17
+ *
18
+ * @example
19
+ * const appLog = new AppLog({ logPath: "path/to/logs" });
20
+ */
11
21
  constructor(options) {
12
22
  this.options = {
13
23
  logPath: node_path_1.default.resolve("api_logs"),
@@ -1 +1 @@
1
- {"version":3,"file":"app-log.js","sourceRoot":"","sources":["../src/app-log.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAkC;AAClC,sDAAyB;AACzB,0DAA6B;AAa7B,MAAa,MAAM;IAKjB,YAAY,OAAuB;QAJ3B,YAAO,GAAkB;YAC/B,OAAO,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC;SAClC,CAAC;QAGA,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACI,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAgB;QACvD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAA,iBAAM,EAAC,IAAI,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAErC,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,iBAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,WAAW,IAAI,IAAI,MAAM,CAAC,CAAC;YAErE,IAAI,IAAI,GAAG,iBAAiB,IAAI,MAAM,IAAI,EAAE,CAAC;YAC7C,IAAI,IAAI,gBAAgB,OAAO,EAAE,CAAC;YAElC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9E,CAAC;YAED,IAAI,CAAC;gBACH,iBAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YAED,OAAO,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AArDD,wBAqDC"}
1
+ {"version":3,"file":"app-log.js","sourceRoot":"","sources":["../src/app-log.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAkC;AAClC,sDAAyB;AACzB,0DAA6B;AAa7B,MAAa,MAAM;IAKjB;;;;;;;;;OASG;IACH,YAAY,OAAuB;QAd3B,YAAO,GAAkB;YAC/B,OAAO,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC;SAClC,CAAC;QAaA,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACI,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAgB;QACvD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAA,iBAAM,EAAC,IAAI,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAErC,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,iBAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,WAAW,IAAI,IAAI,MAAM,CAAC,CAAC;YAErE,IAAI,IAAI,GAAG,iBAAiB,IAAI,MAAM,IAAI,EAAE,CAAC;YAC7C,IAAI,IAAI,gBAAgB,OAAO,EAAE,CAAC;YAElC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9E,CAAC;YAED,IAAI,CAAC;gBACH,iBAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YAED,OAAO,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA/DD,wBA+DC"}
package/lib/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from "./get-ip-address";
8
8
  export * from "./http-status-enum";
9
9
  export * from "./parse-request-url";
10
10
  export * from "./split-array";
11
+ export * from "./windows-service";
11
12
  export * from "./xor-encrypt";
12
13
  export * as Exceptions from "./exceptions";
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAE9B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAE9B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC"}
package/lib/index.js CHANGED
@@ -47,6 +47,7 @@ __exportStar(require("./get-ip-address"), exports);
47
47
  __exportStar(require("./http-status-enum"), exports);
48
48
  __exportStar(require("./parse-request-url"), exports);
49
49
  __exportStar(require("./split-array"), exports);
50
+ __exportStar(require("./windows-service"), exports);
50
51
  __exportStar(require("./xor-encrypt"), exports);
51
52
  exports.Exceptions = __importStar(require("./exceptions"));
52
53
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0DAAwC;AACxC,oDAAkC;AAClC,gDAA8B;AAC9B,gDAA8B;AAC9B,+DAA6C;AAC7C,mDAAiC;AACjC,qDAAmC;AACnC,sDAAoC;AACpC,gDAA8B;AAC9B,gDAA8B;AAE9B,2DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0DAAwC;AACxC,oDAAkC;AAClC,gDAA8B;AAC9B,gDAA8B;AAC9B,+DAA6C;AAC7C,mDAAiC;AACjC,qDAAmC;AACnC,sDAAoC;AACpC,gDAA8B;AAC9B,oDAAkC;AAClC,gDAA8B;AAE9B,2DAA2C"}
@@ -0,0 +1,25 @@
1
+ import { ServiceConfig, User } from "node-windows";
2
+ type WindowsServiceOptions = ServiceConfig & {
3
+ logOnAs?: User;
4
+ };
5
+ export declare class WindowsService {
6
+ private options;
7
+ private service;
8
+ /**
9
+ * Constructor
10
+ * @param {WindowsServiceOptions} options - Options for the Windows service
11
+ *
12
+ * @default { name: "Senha API - Service", script: "dist/server.js" }
13
+ *
14
+ * @example
15
+ * const service = new WindowsService({ name: "My Service", script: "path/to/service" });
16
+ */
17
+ constructor(options?: WindowsServiceOptions);
18
+ install(): void;
19
+ uninstall(): void;
20
+ start(): void;
21
+ stop(): void;
22
+ restart(): void;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=windows-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-service.d.ts","sourceRoot":"","sources":["../src/windows-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,aAAa,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAG5D,KAAK,qBAAqB,GAAG,aAAa,GAAG;IAC3C,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO,CAAC,OAAO,CAIZ;IAEH;;;;;;;;OAQG;gBACS,OAAO,CAAC,EAAE,qBAAqB;IA6BpC,OAAO;IAIP,SAAS;IAIT,KAAK;IAIL,IAAI;IAIJ,OAAO;CAGf"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.WindowsService = void 0;
7
+ const node_windows_1 = require("node-windows");
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ class WindowsService {
10
+ /**
11
+ * Constructor
12
+ * @param {WindowsServiceOptions} options - Options for the Windows service
13
+ *
14
+ * @default { name: "Senha API - Service", script: "dist/server.js" }
15
+ *
16
+ * @example
17
+ * const service = new WindowsService({ name: "My Service", script: "path/to/service" });
18
+ */
19
+ constructor(options) {
20
+ this.service = new node_windows_1.Service({
21
+ name: "Senha API - Service",
22
+ description: "Senha API - Service",
23
+ script: node_path_1.default.join("dist", "server.js"),
24
+ });
25
+ if (options === null || options === void 0 ? void 0 : options.logOnAs) {
26
+ this.service.logOnAs = options.logOnAs;
27
+ delete options.logOnAs;
28
+ }
29
+ if (options) {
30
+ Object.assign(this.options, options);
31
+ }
32
+ this.service
33
+ .on("install", () => {
34
+ this.service.start();
35
+ console.log(`\nService "${this.options.name}" installed\n`);
36
+ })
37
+ .on("alreadyinstalled", () => {
38
+ console.log(`\nService "${this.options.name}" is already installed\n`);
39
+ })
40
+ .on("uninstall", () => {
41
+ console.log(`\nService "${this.options.name}" uninstalled\n`);
42
+ })
43
+ .on("start", () => {
44
+ console.log(`\nService started\n`);
45
+ })
46
+ .on("stop", () => {
47
+ console.log(`\nService stopped\n`);
48
+ });
49
+ }
50
+ install() {
51
+ this.service.install();
52
+ }
53
+ uninstall() {
54
+ this.service.uninstall();
55
+ }
56
+ start() {
57
+ this.service.start();
58
+ }
59
+ stop() {
60
+ this.service.stop();
61
+ }
62
+ restart() {
63
+ this.service.restart();
64
+ }
65
+ }
66
+ exports.WindowsService = WindowsService;
67
+ //# sourceMappingURL=windows-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-service.js","sourceRoot":"","sources":["../src/windows-service.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA4D;AAC5D,0DAA6B;AAM7B,MAAa,cAAc;IASzB;;;;;;;;OAQG;IACH,YAAY,OAA+B;QAfnC,YAAO,GAAY,IAAI,sBAAO,CAAC;YACrC,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,qBAAqB;YAClC,MAAM,EAAE,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;SACvC,CAAC,CAAC;QAYD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACvC,OAAO,OAAO,CAAC,OAAO,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,OAAO;aACT,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,CAAC;QAC9D,CAAC,CAAC;aACD,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACzE,CAAC,CAAC;aACD,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,CAAC;QAChE,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC,CAAC;aACD,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAEM,SAAS;QACd,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;CACF;AAlED,wCAkEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@senhainfo/shared-utils",
3
- "version": "1.1.11",
3
+ "version": "1.2.0",
4
4
  "repository": "https://github.com/senha-info/senha-shared-utils.git",
5
5
  "author": "Bruno Gaspar <bruninhoogaspar@gmail.com>",
6
6
  "license": "MIT",
@@ -24,11 +24,13 @@
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/node": "^22.14.0",
27
+ "@types/node-windows": "^0.1.6",
27
28
  "tsx": "^4.19.3",
28
29
  "typescript": "^5.8.2"
29
30
  },
30
31
  "dependencies": {
31
32
  "axios": "^1.8.4",
32
- "date-fns": "^4.1.0"
33
+ "date-fns": "^4.1.0",
34
+ "node-windows": "^1.0.0-beta.8"
33
35
  }
34
36
  }