cqrs-boilerplate-common 1.1.8 → 1.1.9

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.
@@ -0,0 +1,5 @@
1
+ import * as net from "net";
2
+ export interface TcpMessageHandler<T> {
3
+ parse(data: Buffer, socket: net.Socket): T;
4
+ handle(message: T, socket: net.Socket): void;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tcp-handler.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp-handler.interface.js","sourceRoot":"","sources":["../../../src/core-common/tcp-handler/tcp-handler.interface.ts"],"names":[],"mappings":"","sourcesContent":["// tcp-handler.interface.ts\nimport * as net from \"net\";\n\nexport interface TcpMessageHandler<T> {\n parse(data: Buffer, socket: net.Socket): T;\n handle(message: T, socket: net.Socket): void;\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { OnModuleInit, OnModuleDestroy } from "@nestjs/common";
2
+ import { TcpMessageHandler } from "./tcp-handler.interface";
3
+ export declare class TcpListenerService<T> implements OnModuleInit, OnModuleDestroy {
4
+ private readonly port;
5
+ private readonly host;
6
+ private readonly handler;
7
+ private server;
8
+ constructor(port: number, host: string, handler: TcpMessageHandler<T>);
9
+ onModuleInit(): void;
10
+ onModuleDestroy(): void;
11
+ }
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.TcpListenerService = void 0;
46
+ const common_1 = require("@nestjs/common");
47
+ const net = __importStar(require("net"));
48
+ const result_1 = require("../result-model/result");
49
+ const generic_error_1 = require("../error/generic.error");
50
+ let TcpListenerService = class TcpListenerService {
51
+ port;
52
+ host;
53
+ handler;
54
+ server;
55
+ constructor(port, host, handler) {
56
+ this.port = port;
57
+ this.host = host;
58
+ this.handler = handler;
59
+ }
60
+ onModuleInit() {
61
+ this.server = net.createServer((socket) => {
62
+ const ip = socket.remoteAddress;
63
+ const port = socket.remotePort;
64
+ console.log(`📡 Connected: ${ip}:${port}`);
65
+ socket.on("data", (data) => {
66
+ try {
67
+ const message = this.handler.parse(data, socket);
68
+ this.handler.handle(message, socket);
69
+ }
70
+ catch (err) {
71
+ console.error("❌ TCP processing error:", err.message);
72
+ result_1.Result.throwError(new generic_error_1.GenericError("TCP processing error", err.message));
73
+ }
74
+ });
75
+ socket.on("close", () => {
76
+ console.log(`❌ Disconnected: ${ip}:${port}`);
77
+ });
78
+ socket.on("error", (err) => {
79
+ console.error("Socket error:", err.message);
80
+ result_1.Result.throwError(new generic_error_1.GenericError("Socket error", err.message));
81
+ });
82
+ });
83
+ this.server.listen(this.port, this.host, () => {
84
+ console.log(`🚀 TCP listening on ${this.host}:${this.port}`);
85
+ });
86
+ }
87
+ onModuleDestroy() {
88
+ this.server?.close();
89
+ console.log("🛑 TCP server closed");
90
+ }
91
+ };
92
+ exports.TcpListenerService = TcpListenerService;
93
+ exports.TcpListenerService = TcpListenerService = __decorate([
94
+ (0, common_1.Injectable)(),
95
+ __metadata("design:paramtypes", [Number, String, Object])
96
+ ], TcpListenerService);
97
+ //# sourceMappingURL=tcp-listener.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp-listener.service.js","sourceRoot":"","sources":["../../../src/core-common/tcp-handler/tcp-listener.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,yCAA2B;AAE3B,mDAAgD;AAChD,0DAAsD;AAG/C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAIV;IACA;IACA;IALX,MAAM,CAAa;IAE3B,YACmB,IAAY,EACZ,IAAY,EACZ,OAA6B;QAF7B,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAsB;IAC7C,CAAC;IAEJ,YAAY;QACV,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;YACxC,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACjC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACjD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;oBACtD,eAAM,CAAC,UAAU,CACf,IAAI,4BAAY,CAAC,sBAAsB,EAAE,GAAG,CAAC,OAAO,CAAC,CACtD,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,eAAM,CAAC,UAAU,CACf,IAAI,4BAAY,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,CAC9C,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;CACF,CAAA;AA/CY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;;GACA,kBAAkB,CA+C9B","sourcesContent":["import { Injectable, OnModuleInit, OnModuleDestroy } from \"@nestjs/common\";\nimport * as net from \"net\";\nimport { TcpMessageHandler } from \"./tcp-handler.interface\";\nimport { Result } from \"../result-model/result\";\nimport { GenericError } from \"../error/generic.error\";\n\n@Injectable()\nexport class TcpListenerService<T> implements OnModuleInit, OnModuleDestroy {\n private server: net.Server;\n\n constructor(\n private readonly port: number,\n private readonly host: string,\n private readonly handler: TcpMessageHandler<T>\n ) {}\n\n onModuleInit() {\n this.server = net.createServer((socket) => {\n const ip = socket.remoteAddress;\n const port = socket.remotePort;\n console.log(`📡 Connected: ${ip}:${port}`);\n socket.on(\"data\", (data: Buffer) => {\n try {\n const message = this.handler.parse(data, socket);\n this.handler.handle(message, socket);\n } catch (err) {\n console.error(\"❌ TCP processing error:\", err.message);\n Result.throwError(\n new GenericError(\"TCP processing error\", err.message)\n );\n }\n });\n\n socket.on(\"close\", () => {\n console.log(`❌ Disconnected: ${ip}:${port}`);\n });\n\n socket.on(\"error\", (err) => {\n console.error(\"Socket error:\", err.message);\n Result.throwError(\n new GenericError(\"Socket error\", err.message)\n );\n });\n });\n\n this.server.listen(this.port, this.host, () => {\n console.log(`🚀 TCP listening on ${this.host}:${this.port}`);\n });\n }\n\n onModuleDestroy() {\n this.server?.close();\n console.log(\"🛑 TCP server closed\");\n }\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -44,3 +44,5 @@ export * from './middleware/utils/http-response.interceptor';
44
44
  export * from './middleware/utils/http-response.module';
45
45
  export * from './middleware/response-handler/response-handler.interceptor';
46
46
  export * from './middleware/response-handler/response-handler.module';
47
+ export * from './core-common/tcp-handler/tcp-handler.interface';
48
+ export * from './core-common/tcp-handler/tcp-listener.service';
package/dist/index.js CHANGED
@@ -61,4 +61,6 @@ __exportStar(require("./middleware/utils/http-response.interceptor"), exports);
61
61
  __exportStar(require("./middleware/utils/http-response.module"), exports);
62
62
  __exportStar(require("./middleware/response-handler/response-handler.interceptor"), exports);
63
63
  __exportStar(require("./middleware/response-handler/response-handler.module"), exports);
64
+ __exportStar(require("./core-common/tcp-handler/tcp-handler.interface"), exports);
65
+ __exportStar(require("./core-common/tcp-handler/tcp-listener.service"), exports);
64
66
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,sEAAmD;AAGnD,wFAAqE;AACrE,qFAAkE;AAClE,kFAA+D;AAC/D,2FAAwE;AACxE,mFAAgE;AAChE,yFAAsE;AACtE,mFAAgE;AAChE,6FAA0E;AAC1E,sFAAmE;AACnE,0FAAuE;AACvE,oFAAiE;AACjE,oEAAiD;AAGjD,4FAAyE;AACzE,8FAA2E;AAC3E,oEAAiD;AAGjD,wEAAqD;AACrD,qEAAkD;AAClD,sEAAmD;AACnD,wEAAqD;AAGrD,qEAAkD;AAClD,0EAAuD;AACvD,kEAA+C;AAC/C,yEAAsD;AACtD,sEAAmD;AACnD,mEAAgD;AAGhD,0EAAuD;AACvD,oEAAiD;AACjD,kEAA+C;AAC/C,oEAAiD;AAGjD,sEAAmD;AACnD,0EAAuD;AACvD,yEAAsD;AACtD,0EAAuD;AAGvD,+EAA4D;AAC5D,gFAAsF;AAA7E,0HAAA,uBAAuB,OAAA;AAEhC,6EAA0D;AAG1D,+EAA4D;AAG5D,yFAAsE;AACtE,sFAAmE;AAGnE,6EAA0D;AAC1D,+EAA4D;AAC5D,0EAAuD;AAGvD,6FAA0E;AAC1E,wFAAqE","sourcesContent":["\nexport * from './core-common/constant/app.constant'\n\n// Error Exports\nexport * from './core-common/error/custom-error/already-exists.error'\nexport * from './core-common/error/custom-error/bad-request.error'\nexport * from './core-common/error/custom-error/conflict.error'\nexport * from './core-common/error/custom-error/custom-validation-error'\nexport * from './core-common/error/custom-error/forbidden.error'\nexport * from './core-common/error/custom-error/internal-server.error'\nexport * from './core-common/error/custom-error/not-found.error'\nexport * from './core-common/error/custom-error/service-unavailable.error'\nexport * from './core-common/error/custom-error/unauthorized.error'\nexport * from './core-common/error/custom-error/unprocess-entity.error'\nexport * from './core-common/error/custom-error/validation.error'\nexport * from './core-common/error/generic.error'\n\n// Model Exports\nexport * from './core-common/response-model/generic-error-response.model'\nexport * from './core-common/response-model/generic-success-response.model'\nexport * from './core-common/result-model/result'\n\n// Logger Exports\nexport * from './core-common/logger/logger.interface'\nexport * from './core-common/logger/logger.module'\nexport * from './core-common/logger/logger.service'\nexport * from './core-common/logger/logger.constants'\n\n// Module Exports\nexport * from './common-infra/common-infra.module'\nexport * from './common-infra/database/database.module'\nexport * from './common-infra/http/http.module'\nexport * from './common-infra/database/typeorm.config'\nexport * from './core-common/constant/app.constant'\nexport * from './core-common/core-common.module'\n\n// HTTP Exports\nexport * from './common-infra/http/http-module.options'\nexport * from './common-infra/http/http.constant'\nexport * from './common-infra/http/http.module'\nexport * from './common-infra/http/https.service'\n\n// Socket.IO Exports\nexport * from './common-infra/socket.io/interfaces'\nexport * from './common-infra/socket.io/socket.gateway'\nexport * from './common-infra/socket.io/socket.module'\nexport * from './common-infra/socket.io/socket.options'\n\n// Middleware Exports\nexport * from './middleware/auth-middleware/auth.middleware'\nexport { AUTH_MIDDLEWARE_OPTIONS } from './middleware/auth-middleware/auth.middleware'\nexport { AuthMiddlewareOptions } from './middleware/auth-middleware/auth.middleware'\nexport * from './middleware/auth-middleware/jwt-validator'\n\n// Global Exception Filter Exports\nexport * from './middleware/filter/global-exeception.filter'\n\n// Async Storage Middleware Exports\nexport * from './middleware/async-middleware/async-storage.middleware'\nexport * from './middleware/async-middleware/async-storage.service'\n\n// Http Formatter Exports\nexport * from './middleware/utils/http-response.formatter'\nexport * from './middleware/utils/http-response.interceptor'\nexport * from './middleware/utils/http-response.module'\n\n// Response Handler Exports\nexport * from './middleware/response-handler/response-handler.interceptor'\nexport * from './middleware/response-handler/response-handler.module'"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,sEAAmD;AAGnD,wFAAqE;AACrE,qFAAkE;AAClE,kFAA+D;AAC/D,2FAAwE;AACxE,mFAAgE;AAChE,yFAAsE;AACtE,mFAAgE;AAChE,6FAA0E;AAC1E,sFAAmE;AACnE,0FAAuE;AACvE,oFAAiE;AACjE,oEAAiD;AAGjD,4FAAyE;AACzE,8FAA2E;AAC3E,oEAAiD;AAGjD,wEAAqD;AACrD,qEAAkD;AAClD,sEAAmD;AACnD,wEAAqD;AAGrD,qEAAkD;AAClD,0EAAuD;AACvD,kEAA+C;AAC/C,yEAAsD;AACtD,sEAAmD;AACnD,mEAAgD;AAGhD,0EAAuD;AACvD,oEAAiD;AACjD,kEAA+C;AAC/C,oEAAiD;AAGjD,sEAAmD;AACnD,0EAAuD;AACvD,yEAAsD;AACtD,0EAAuD;AAGvD,+EAA4D;AAC5D,gFAAsF;AAA7E,0HAAA,uBAAuB,OAAA;AAEhC,6EAA0D;AAG1D,+EAA4D;AAG5D,yFAAsE;AACtE,sFAAmE;AAGnE,6EAA0D;AAC1D,+EAA4D;AAC5D,0EAAuD;AAGvD,6FAA0E;AAC1E,wFAAqE;AAGrE,kFAA+D;AAC/D,iFAA8D","sourcesContent":["\nexport * from './core-common/constant/app.constant'\n\n// Error Exports\nexport * from './core-common/error/custom-error/already-exists.error'\nexport * from './core-common/error/custom-error/bad-request.error'\nexport * from './core-common/error/custom-error/conflict.error'\nexport * from './core-common/error/custom-error/custom-validation-error'\nexport * from './core-common/error/custom-error/forbidden.error'\nexport * from './core-common/error/custom-error/internal-server.error'\nexport * from './core-common/error/custom-error/not-found.error'\nexport * from './core-common/error/custom-error/service-unavailable.error'\nexport * from './core-common/error/custom-error/unauthorized.error'\nexport * from './core-common/error/custom-error/unprocess-entity.error'\nexport * from './core-common/error/custom-error/validation.error'\nexport * from './core-common/error/generic.error'\n\n// Model Exports\nexport * from './core-common/response-model/generic-error-response.model'\nexport * from './core-common/response-model/generic-success-response.model'\nexport * from './core-common/result-model/result'\n\n// Logger Exports\nexport * from './core-common/logger/logger.interface'\nexport * from './core-common/logger/logger.module'\nexport * from './core-common/logger/logger.service'\nexport * from './core-common/logger/logger.constants'\n\n// Module Exports\nexport * from './common-infra/common-infra.module'\nexport * from './common-infra/database/database.module'\nexport * from './common-infra/http/http.module'\nexport * from './common-infra/database/typeorm.config'\nexport * from './core-common/constant/app.constant'\nexport * from './core-common/core-common.module'\n\n// HTTP Exports\nexport * from './common-infra/http/http-module.options'\nexport * from './common-infra/http/http.constant'\nexport * from './common-infra/http/http.module'\nexport * from './common-infra/http/https.service'\n\n// Socket.IO Exports\nexport * from './common-infra/socket.io/interfaces'\nexport * from './common-infra/socket.io/socket.gateway'\nexport * from './common-infra/socket.io/socket.module'\nexport * from './common-infra/socket.io/socket.options'\n\n// Middleware Exports\nexport * from './middleware/auth-middleware/auth.middleware'\nexport { AUTH_MIDDLEWARE_OPTIONS } from './middleware/auth-middleware/auth.middleware'\nexport { AuthMiddlewareOptions } from './middleware/auth-middleware/auth.middleware'\nexport * from './middleware/auth-middleware/jwt-validator'\n\n// Global Exception Filter Exports\nexport * from './middleware/filter/global-exeception.filter'\n\n// Async Storage Middleware Exports\nexport * from './middleware/async-middleware/async-storage.middleware'\nexport * from './middleware/async-middleware/async-storage.service'\n\n// Http Formatter Exports\nexport * from './middleware/utils/http-response.formatter'\nexport * from './middleware/utils/http-response.interceptor'\nexport * from './middleware/utils/http-response.module'\n\n// Response Handler Exports\nexport * from './middleware/response-handler/response-handler.interceptor'\nexport * from './middleware/response-handler/response-handler.module'\n\n// TCP Handler Exports\nexport * from './core-common/tcp-handler/tcp-handler.interface'\nexport * from './core-common/tcp-handler/tcp-listener.service'"]}