tiryaq-shared 1.0.0 → 1.1.1

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 (33) hide show
  1. package/dist/error-codes.d.ts +286 -0
  2. package/dist/error-codes.d.ts.map +1 -0
  3. package/dist/error-codes.js +235 -0
  4. package/dist/error-codes.js.map +1 -0
  5. package/dist/filters/global-exception.filter.d.ts +23 -0
  6. package/dist/filters/global-exception.filter.d.ts.map +1 -0
  7. package/dist/filters/global-exception.filter.js +157 -0
  8. package/dist/filters/global-exception.filter.js.map +1 -0
  9. package/dist/filters/microservice-exception.filter.d.ts +11 -0
  10. package/dist/filters/microservice-exception.filter.d.ts.map +1 -0
  11. package/dist/filters/microservice-exception.filter.js +106 -0
  12. package/dist/filters/microservice-exception.filter.js.map +1 -0
  13. package/dist/filters/validation-exception.filter.d.ts +9 -0
  14. package/dist/filters/validation-exception.filter.d.ts.map +1 -0
  15. package/dist/filters/validation-exception.filter.js +97 -0
  16. package/dist/filters/validation-exception.filter.js.map +1 -0
  17. package/dist/index.d.ts +5 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +5 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/interfaces.d.ts +101 -4
  22. package/dist/interfaces.d.ts.map +1 -1
  23. package/dist/interfaces.js +32 -0
  24. package/dist/interfaces.js.map +1 -1
  25. package/dist/message-patterns.d.ts +11 -0
  26. package/dist/message-patterns.d.ts.map +1 -1
  27. package/dist/message-patterns.js +14 -0
  28. package/dist/message-patterns.js.map +1 -1
  29. package/dist/response-utils.d.ts +52 -0
  30. package/dist/response-utils.d.ts.map +1 -0
  31. package/dist/response-utils.js +114 -0
  32. package/dist/response-utils.js.map +1 -0
  33. package/package.json +10 -1
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
+ var _, done = false;
8
+ for (var i = decorators.length - 1; i >= 0; i--) {
9
+ var context = {};
10
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
+ if (kind === "accessor") {
15
+ if (result === void 0) continue;
16
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
+ if (_ = accept(result.get)) descriptor.get = _;
18
+ if (_ = accept(result.set)) descriptor.set = _;
19
+ if (_ = accept(result.init)) initializers.unshift(_);
20
+ }
21
+ else if (_ = accept(result)) {
22
+ if (kind === "field") initializers.unshift(_);
23
+ else descriptor[key] = _;
24
+ }
25
+ }
26
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
+ done = true;
28
+ };
29
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
+ var useValue = arguments.length > 2;
31
+ for (var i = 0; i < initializers.length; i++) {
32
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
+ }
34
+ return useValue ? value : void 0;
35
+ };
36
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
37
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
38
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.GlobalExceptionFilter = exports.BusinessException = void 0;
42
+ const common_1 = require("@nestjs/common");
43
+ const response_utils_1 = require("../response-utils");
44
+ const error_codes_1 = require("../error-codes");
45
+ /**
46
+ * Custom exception class for business logic errors
47
+ */
48
+ class BusinessException extends Error {
49
+ constructor(message, errorCode, statusCode = common_1.HttpStatus.BAD_REQUEST) {
50
+ super(message);
51
+ this.errorCode = errorCode;
52
+ this.statusCode = statusCode;
53
+ this.name = 'BusinessException';
54
+ }
55
+ }
56
+ exports.BusinessException = BusinessException;
57
+ /**
58
+ * Global exception filter that standardizes all error responses
59
+ * Implements DRY principle by centralizing error handling
60
+ */
61
+ let GlobalExceptionFilter = (() => {
62
+ let _classDecorators = [(0, common_1.Catch)()];
63
+ let _classDescriptor;
64
+ let _classExtraInitializers = [];
65
+ let _classThis;
66
+ var GlobalExceptionFilter = _classThis = class {
67
+ constructor() {
68
+ this.logger = new common_1.Logger(GlobalExceptionFilter.name);
69
+ }
70
+ catch(exception, host) {
71
+ const ctx = host.switchToHttp();
72
+ const response = ctx.getResponse();
73
+ const request = ctx.getRequest();
74
+ let status;
75
+ let message;
76
+ let errorCode;
77
+ // Log the error for debugging
78
+ this.logger.error(`Error occurred: ${exception}`, exception instanceof Error ? exception.stack : undefined, {
79
+ url: request.url,
80
+ method: request.method,
81
+ ip: request.ip,
82
+ userAgent: request.headers['user-agent'],
83
+ });
84
+ if (exception instanceof BusinessException) {
85
+ // Custom business logic exceptions
86
+ status = exception.statusCode;
87
+ message = exception.message;
88
+ errorCode = exception.errorCode;
89
+ }
90
+ else if (exception instanceof common_1.HttpException) {
91
+ // NestJS HTTP exceptions
92
+ status = exception.getStatus();
93
+ message = exception.message;
94
+ errorCode = this.mapHttpStatusToErrorCode(status);
95
+ // Handle validation errors specifically
96
+ const exceptionResponse = exception.getResponse();
97
+ if (typeof exceptionResponse === 'object' && exceptionResponse !== null) {
98
+ const responseObj = exceptionResponse;
99
+ if (responseObj.message && Array.isArray(responseObj.message)) {
100
+ message = responseObj.message.join(', ');
101
+ errorCode = error_codes_1.ERROR_CODES.VALIDATION_ERROR;
102
+ }
103
+ }
104
+ }
105
+ else if (exception instanceof Error) {
106
+ // Generic errors
107
+ status = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
108
+ message = process.env.NODE_ENV === 'production'
109
+ ? 'Internal server error'
110
+ : exception.message;
111
+ errorCode = error_codes_1.ERROR_CODES.INTERNAL_SERVER_ERROR;
112
+ }
113
+ else {
114
+ // Unknown errors
115
+ status = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
116
+ message = 'Unknown error occurred';
117
+ errorCode = error_codes_1.ERROR_CODES.INTERNAL_SERVER_ERROR;
118
+ }
119
+ const errorResponse = response_utils_1.ResponseUtils.error(message, status, errorCode);
120
+ response.status(status).json(errorResponse);
121
+ }
122
+ /**
123
+ * Map HTTP status codes to appropriate error codes
124
+ */
125
+ mapHttpStatusToErrorCode(status) {
126
+ switch (status) {
127
+ case common_1.HttpStatus.BAD_REQUEST:
128
+ return error_codes_1.ERROR_CODES.INVALID_REQUEST;
129
+ case common_1.HttpStatus.UNAUTHORIZED:
130
+ return error_codes_1.ERROR_CODES.UNAUTHORIZED;
131
+ case common_1.HttpStatus.FORBIDDEN:
132
+ return error_codes_1.ERROR_CODES.FORBIDDEN;
133
+ case common_1.HttpStatus.NOT_FOUND:
134
+ return error_codes_1.ERROR_CODES.RESOURCE_NOT_FOUND;
135
+ case common_1.HttpStatus.CONFLICT:
136
+ return error_codes_1.ERROR_CODES.DUPLICATE_ENTRY;
137
+ case common_1.HttpStatus.TOO_MANY_REQUESTS:
138
+ return error_codes_1.ERROR_CODES.RATE_LIMIT_EXCEEDED;
139
+ case common_1.HttpStatus.UNPROCESSABLE_ENTITY:
140
+ return error_codes_1.ERROR_CODES.VALIDATION_ERROR;
141
+ default:
142
+ return error_codes_1.ERROR_CODES.INTERNAL_SERVER_ERROR;
143
+ }
144
+ }
145
+ };
146
+ __setFunctionName(_classThis, "GlobalExceptionFilter");
147
+ (() => {
148
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
149
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
150
+ GlobalExceptionFilter = _classThis = _classDescriptor.value;
151
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
152
+ __runInitializers(_classThis, _classExtraInitializers);
153
+ })();
154
+ return GlobalExceptionFilter = _classThis;
155
+ })();
156
+ exports.GlobalExceptionFilter = GlobalExceptionFilter;
157
+ //# sourceMappingURL=global-exception.filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../src/filters/global-exception.filter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { RpcExceptionFilter, ArgumentsHost } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ import { RpcException } from '@nestjs/microservices';
4
+ /**
5
+ * Exception filter for microservices (Kafka)
6
+ * Standardizes error responses for inter-service communication
7
+ */
8
+ export declare class MicroserviceExceptionFilter implements RpcExceptionFilter<RpcException> {
9
+ catch(exception: any, host: ArgumentsHost): Observable<any>;
10
+ }
11
+ //# sourceMappingURL=microservice-exception.filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microservice-exception.filter.d.ts","sourceRoot":"","sources":["../../src/filters/microservice-exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,kBAAkB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAc,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD;;;GAGG;AACH,qBACa,2BAA4B,YAAW,kBAAkB,CAAC,YAAY,CAAC;IAClF,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC;CAmC5D"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
+ var _, done = false;
8
+ for (var i = decorators.length - 1; i >= 0; i--) {
9
+ var context = {};
10
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
+ if (kind === "accessor") {
15
+ if (result === void 0) continue;
16
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
+ if (_ = accept(result.get)) descriptor.get = _;
18
+ if (_ = accept(result.set)) descriptor.set = _;
19
+ if (_ = accept(result.init)) initializers.unshift(_);
20
+ }
21
+ else if (_ = accept(result)) {
22
+ if (kind === "field") initializers.unshift(_);
23
+ else descriptor[key] = _;
24
+ }
25
+ }
26
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
+ done = true;
28
+ };
29
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
+ var useValue = arguments.length > 2;
31
+ for (var i = 0; i < initializers.length; i++) {
32
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
+ }
34
+ return useValue ? value : void 0;
35
+ };
36
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
37
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
38
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.MicroserviceExceptionFilter = void 0;
42
+ const common_1 = require("@nestjs/common");
43
+ const rxjs_1 = require("rxjs");
44
+ const microservices_1 = require("@nestjs/microservices");
45
+ const response_utils_1 = require("../response-utils");
46
+ const error_codes_1 = require("../error-codes");
47
+ const global_exception_filter_1 = require("./global-exception.filter");
48
+ /**
49
+ * Exception filter for microservices (Kafka)
50
+ * Standardizes error responses for inter-service communication
51
+ */
52
+ let MicroserviceExceptionFilter = (() => {
53
+ let _classDecorators = [(0, common_1.Catch)()];
54
+ let _classDescriptor;
55
+ let _classExtraInitializers = [];
56
+ let _classThis;
57
+ var MicroserviceExceptionFilter = _classThis = class {
58
+ catch(exception, host) {
59
+ let message;
60
+ let errorCode;
61
+ let statusCode;
62
+ if (exception instanceof global_exception_filter_1.BusinessException) {
63
+ message = exception.message;
64
+ errorCode = exception.errorCode;
65
+ statusCode = exception.statusCode;
66
+ }
67
+ else if (exception instanceof microservices_1.RpcException) {
68
+ const error = exception.getError();
69
+ if (typeof error === 'object' && error !== null) {
70
+ const errorObj = error;
71
+ message = errorObj.message || 'Microservice error';
72
+ errorCode = errorObj.errorCode || error_codes_1.ERROR_CODES.INTERNAL_SERVER_ERROR;
73
+ statusCode = errorObj.statusCode || 500;
74
+ }
75
+ else {
76
+ message = error || exception.message;
77
+ errorCode = error_codes_1.ERROR_CODES.INTERNAL_SERVER_ERROR;
78
+ statusCode = 500;
79
+ }
80
+ }
81
+ else if (exception instanceof Error) {
82
+ message = exception.message;
83
+ errorCode = error_codes_1.ERROR_CODES.INTERNAL_SERVER_ERROR;
84
+ statusCode = 500;
85
+ }
86
+ else {
87
+ message = 'Unknown microservice error';
88
+ errorCode = error_codes_1.ERROR_CODES.INTERNAL_SERVER_ERROR;
89
+ statusCode = 500;
90
+ }
91
+ const errorResponse = response_utils_1.ResponseUtils.error(message, statusCode, errorCode);
92
+ return (0, rxjs_1.throwError)(() => errorResponse);
93
+ }
94
+ };
95
+ __setFunctionName(_classThis, "MicroserviceExceptionFilter");
96
+ (() => {
97
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
98
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
99
+ MicroserviceExceptionFilter = _classThis = _classDescriptor.value;
100
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
101
+ __runInitializers(_classThis, _classExtraInitializers);
102
+ })();
103
+ return MicroserviceExceptionFilter = _classThis;
104
+ })();
105
+ exports.MicroserviceExceptionFilter = MicroserviceExceptionFilter;
106
+ //# sourceMappingURL=microservice-exception.filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microservice-exception.filter.js","sourceRoot":"","sources":["../../src/filters/microservice-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA0E;AAC1E,+BAA8C;AAC9C,yDAAqD;AACrD,sDAAkD;AAClD,gDAAwD;AACxD,uEAA8D;AAE9D;;;GAGG;IAEU,2BAA2B;4BADvC,IAAA,cAAK,GAAE;;;;;QAEN,KAAK,CAAC,SAAc,EAAE,IAAmB;YACvC,IAAI,OAAe,CAAC;YACpB,IAAI,SAAoB,CAAC;YACzB,IAAI,UAAkB,CAAC;YAEvB,IAAI,SAAS,YAAY,2CAAiB,EAAE,CAAC;gBAC3C,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;gBAC5B,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;gBAChC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;YACpC,CAAC;iBAAM,IAAI,SAAS,YAAY,4BAAY,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAChD,MAAM,QAAQ,GAAG,KAAY,CAAC;oBAC9B,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,oBAAoB,CAAC;oBACnD,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,yBAAW,CAAC,qBAAqB,CAAC;oBACpE,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,KAAe,IAAI,SAAS,CAAC,OAAO,CAAC;oBAC/C,SAAS,GAAG,yBAAW,CAAC,qBAAqB,CAAC;oBAC9C,UAAU,GAAG,GAAG,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;gBACtC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;gBAC5B,SAAS,GAAG,yBAAW,CAAC,qBAAqB,CAAC;gBAC9C,UAAU,GAAG,GAAG,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,4BAA4B,CAAC;gBACvC,SAAS,GAAG,yBAAW,CAAC,qBAAqB,CAAC;gBAC9C,UAAU,GAAG,GAAG,CAAC;YACnB,CAAC;YAED,MAAM,aAAa,GAAG,8BAAa,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAE1E,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;;;;;QAnCH,6KAoCC;;;QApCY,uDAA2B;;;;AAA3B,kEAA2B"}
@@ -0,0 +1,9 @@
1
+ import { ExceptionFilter, ArgumentsHost, BadRequestException } from '@nestjs/common';
2
+ /**
3
+ * Specific filter for validation errors
4
+ * Provides detailed validation error messages
5
+ */
6
+ export declare class ValidationExceptionFilter implements ExceptionFilter {
7
+ catch(exception: BadRequestException, host: ArgumentsHost): void;
8
+ }
9
+ //# sourceMappingURL=validation-exception.filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-exception.filter.d.ts","sourceRoot":"","sources":["../../src/filters/validation-exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,aAAa,EACb,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAKxB;;;GAGG;AACH,qBACa,yBAA0B,YAAW,eAAe;IAC/D,KAAK,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,aAAa;CAoC1D"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
+ var _, done = false;
8
+ for (var i = decorators.length - 1; i >= 0; i--) {
9
+ var context = {};
10
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
+ if (kind === "accessor") {
15
+ if (result === void 0) continue;
16
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
+ if (_ = accept(result.get)) descriptor.get = _;
18
+ if (_ = accept(result.set)) descriptor.set = _;
19
+ if (_ = accept(result.init)) initializers.unshift(_);
20
+ }
21
+ else if (_ = accept(result)) {
22
+ if (kind === "field") initializers.unshift(_);
23
+ else descriptor[key] = _;
24
+ }
25
+ }
26
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
+ done = true;
28
+ };
29
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
+ var useValue = arguments.length > 2;
31
+ for (var i = 0; i < initializers.length; i++) {
32
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
+ }
34
+ return useValue ? value : void 0;
35
+ };
36
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
37
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
38
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.ValidationExceptionFilter = void 0;
42
+ const common_1 = require("@nestjs/common");
43
+ const response_utils_1 = require("../response-utils");
44
+ const error_codes_1 = require("../error-codes");
45
+ /**
46
+ * Specific filter for validation errors
47
+ * Provides detailed validation error messages
48
+ */
49
+ let ValidationExceptionFilter = (() => {
50
+ let _classDecorators = [(0, common_1.Catch)(common_1.BadRequestException)];
51
+ let _classDescriptor;
52
+ let _classExtraInitializers = [];
53
+ let _classThis;
54
+ var ValidationExceptionFilter = _classThis = class {
55
+ catch(exception, host) {
56
+ const ctx = host.switchToHttp();
57
+ const response = ctx.getResponse();
58
+ const exceptionResponse = exception.getResponse();
59
+ let message;
60
+ let details = null;
61
+ if (typeof exceptionResponse === 'object' && exceptionResponse !== null) {
62
+ const responseObj = exceptionResponse;
63
+ if (responseObj.message && Array.isArray(responseObj.message)) {
64
+ // Class-validator validation errors
65
+ message = 'Validation failed';
66
+ details = responseObj.message;
67
+ }
68
+ else if (responseObj.message) {
69
+ message = responseObj.message;
70
+ }
71
+ else {
72
+ message = 'Bad request';
73
+ }
74
+ }
75
+ else {
76
+ message = exception.message;
77
+ }
78
+ const errorResponse = {
79
+ ...response_utils_1.ResponseUtils.error(message, common_1.HttpStatus.BAD_REQUEST, error_codes_1.ERROR_CODES.VALIDATION_ERROR),
80
+ // Add validation details if available
81
+ ...(details && { validation_errors: details }),
82
+ };
83
+ response.status(common_1.HttpStatus.BAD_REQUEST).json(errorResponse);
84
+ }
85
+ };
86
+ __setFunctionName(_classThis, "ValidationExceptionFilter");
87
+ (() => {
88
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
89
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
90
+ ValidationExceptionFilter = _classThis = _classDescriptor.value;
91
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
92
+ __runInitializers(_classThis, _classExtraInitializers);
93
+ })();
94
+ return ValidationExceptionFilter = _classThis;
95
+ })();
96
+ exports.ValidationExceptionFilter = ValidationExceptionFilter;
97
+ //# sourceMappingURL=validation-exception.filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-exception.filter.js","sourceRoot":"","sources":["../../src/filters/validation-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAMwB;AAExB,sDAAkD;AAClD,gDAA6C;AAE7C;;;GAGG;IAEU,yBAAyB;4BADrC,IAAA,cAAK,EAAC,4BAAmB,CAAC;;;;;QAEzB,KAAK,CAAC,SAA8B,EAAE,IAAmB;YACvD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;YAE7C,MAAM,iBAAiB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAClD,IAAI,OAAe,CAAC;YACpB,IAAI,OAAO,GAAQ,IAAI,CAAC;YAExB,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBACxE,MAAM,WAAW,GAAG,iBAAwB,CAAC;gBAE7C,IAAI,WAAW,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9D,oCAAoC;oBACpC,OAAO,GAAG,mBAAmB,CAAC;oBAC9B,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;gBAChC,CAAC;qBAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBAC/B,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,aAAa,CAAC;gBAC1B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YAC9B,CAAC;YAED,MAAM,aAAa,GAAG;gBACpB,GAAG,8BAAa,CAAC,KAAK,CACpB,OAAO,EACP,mBAAU,CAAC,WAAW,EACtB,yBAAW,CAAC,gBAAgB,CAC7B;gBACD,sCAAsC;gBACtC,GAAG,CAAC,OAAO,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;aAC/C,CAAC;YAEF,QAAQ,CAAC,MAAM,CAAC,mBAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC;;;;;QApCH,6KAqCC;;;QArCY,uDAAyB;;;;AAAzB,8DAAyB"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  export * from './interfaces';
2
2
  export * from './message-patterns';
3
+ export * from './error-codes';
4
+ export * from './response-utils';
5
+ export * from './filters/global-exception.filter';
6
+ export * from './filters/validation-exception.filter';
7
+ export * from './filters/microservice-exception.filter';
3
8
  export { User, UserAddress, RegisterUserDto, LoginDto, UserSettings, SearchQuery, SearchFilters, SortOptions, Pharmacy, Medicine, PharmacyOrder, OrderItem, OpeningHours, Location, Doctor, TimeSlot, Appointment, Prescription, TeleMedicineSession, ChatMessage, LabTest, Lab, LabAppointment, LabReport, Wallet, PaymentCard, Transaction, Notification, NotificationSettings, ApiResponse, PaginatedResponse } from './interfaces';
4
9
  export { AUTH_PATTERNS, SETTINGS_PATTERNS, SEARCH_PATTERNS, PHARMACY_PATTERNS, CONSULTATION_PATTERNS, TELEMEDICINE_PATTERNS, LAB_PATTERNS, PAYMENT_PATTERNS, NOTIFICATION_PATTERNS, EVENT_PATTERNS, UserRegisteredEvent, OrderCreatedEvent, AppointmentBookedEvent, PaymentProcessedEvent, NotificationEvent, KAFKA_CONFIG, SERVICE_PORTS } from './message-patterns';
5
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAEL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,QAAQ,EAGR,YAAY,EAGZ,WAAW,EACX,aAAa,EACb,WAAW,EAGX,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,SAAS,EACT,YAAY,EACZ,QAAQ,EAGR,MAAM,EACN,QAAQ,EACR,WAAW,EACX,YAAY,EAGZ,mBAAmB,EACnB,WAAW,EAGX,OAAO,EACP,GAAG,EACH,cAAc,EACd,SAAS,EAGT,MAAM,EACN,WAAW,EACX,WAAW,EAGX,YAAY,EACZ,oBAAoB,EAGpB,WAAW,EACX,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAEL,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EAGd,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EAGjB,YAAY,EACZ,aAAa,EACd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AAGxD,OAAO,EAEL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,QAAQ,EAGR,YAAY,EAGZ,WAAW,EACX,aAAa,EACb,WAAW,EAGX,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,SAAS,EACT,YAAY,EACZ,QAAQ,EAGR,MAAM,EACN,QAAQ,EACR,WAAW,EACX,YAAY,EAGZ,mBAAmB,EACnB,WAAW,EAGX,OAAO,EACP,GAAG,EACH,cAAc,EACd,SAAS,EAGT,MAAM,EACN,WAAW,EACX,WAAW,EAGX,YAAY,EACZ,oBAAoB,EAGpB,WAAW,EACX,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAEL,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EAGd,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EAGjB,YAAY,EACZ,aAAa,EACd,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -18,6 +18,11 @@ exports.SERVICE_PORTS = exports.KAFKA_CONFIG = exports.EVENT_PATTERNS = exports.
18
18
  // Export all interfaces and types
19
19
  __exportStar(require("./interfaces"), exports);
20
20
  __exportStar(require("./message-patterns"), exports);
21
+ __exportStar(require("./error-codes"), exports);
22
+ __exportStar(require("./response-utils"), exports);
23
+ __exportStar(require("./filters/global-exception.filter"), exports);
24
+ __exportStar(require("./filters/validation-exception.filter"), exports);
25
+ __exportStar(require("./filters/microservice-exception.filter"), exports);
21
26
  var message_patterns_1 = require("./message-patterns");
22
27
  // Message patterns
23
28
  Object.defineProperty(exports, "AUTH_PATTERNS", { enumerable: true, get: function () { return message_patterns_1.AUTH_PATTERNS; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,+CAA6B;AAC7B,qDAAmC;AAwDnC,uDAuB4B;AAtB1B,mBAAmB;AACnB,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AACjB,mHAAA,eAAe,OAAA;AACf,qHAAA,iBAAiB,OAAA;AACjB,yHAAA,qBAAqB,OAAA;AACrB,yHAAA,qBAAqB,OAAA;AACrB,gHAAA,YAAY,OAAA;AACZ,oHAAA,gBAAgB,OAAA;AAChB,yHAAA,qBAAqB,OAAA;AACrB,kHAAA,cAAc,OAAA;AASd,gBAAgB;AAChB,gHAAA,YAAY,OAAA;AACZ,iHAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,+CAA6B;AAC7B,qDAAmC;AACnC,gDAA8B;AAC9B,mDAAiC;AACjC,oEAAkD;AAClD,wEAAsD;AACtD,0EAAwD;AAwDxD,uDAuB4B;AAtB1B,mBAAmB;AACnB,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AACjB,mHAAA,eAAe,OAAA;AACf,qHAAA,iBAAiB,OAAA;AACjB,yHAAA,qBAAqB,OAAA;AACrB,yHAAA,qBAAqB,OAAA;AACrB,gHAAA,YAAY,OAAA;AACZ,oHAAA,gBAAgB,OAAA;AAChB,yHAAA,qBAAqB,OAAA;AACrB,kHAAA,cAAc,OAAA;AASd,gBAAgB;AAChB,gHAAA,YAAY,OAAA;AACZ,iHAAA,aAAa,OAAA"}
@@ -35,6 +35,94 @@ export interface LoginDto {
35
35
  email: string;
36
36
  password: string;
37
37
  }
38
+ export declare enum UserRole {
39
+ PATIENT = "patient",
40
+ DOCTOR = "doctor",
41
+ PHARMACIST = "pharmacist",
42
+ LAB_TECHNICIAN = "lab_technician",
43
+ ADMIN = "admin"
44
+ }
45
+ export declare enum IraqRegions {
46
+ BAGHDAD = "Baghdad",
47
+ BASRA = "Basra",
48
+ ERBIL = "Erbil",
49
+ SULAYMANIYAH = "Sulaymaniyah",
50
+ NAJAF = "Najaf",
51
+ KARBALA = "Karbala",
52
+ BABYLON = "Babylon",
53
+ ANBAR = "Anbar",
54
+ DIYALA = "Diyala",
55
+ WASIT = "Wasit",
56
+ MAYSAN = "Maysan",
57
+ DHI_QAR = "Dhi Qar",
58
+ MUTHANNA = "Muthanna",
59
+ QADISIYYAH = "Qadisiyyah",
60
+ KIRKUK = "Kirkuk",
61
+ SALADIN = "Saladin",
62
+ NINEVEH = "Nineveh",
63
+ DOHUK = "Dohuk"
64
+ }
65
+ export interface SendOtpDto {
66
+ mobileNumber: string;
67
+ deviceInfo: DeviceInfo;
68
+ }
69
+ export interface VerifyOtpDto {
70
+ mobileNumber: string;
71
+ otp: string;
72
+ deviceInfo: DeviceInfo;
73
+ }
74
+ export interface ResendOtpDto {
75
+ mobileNumber: string;
76
+ deviceInfo: DeviceInfo;
77
+ }
78
+ export interface CreateMpinDto {
79
+ mobileNumber: string;
80
+ mpin: string;
81
+ deviceInfo: DeviceInfo;
82
+ }
83
+ export interface CompleteRegistrationDto {
84
+ mobileNumber: string;
85
+ firstName: string;
86
+ lastName: string;
87
+ dateOfBirth: string;
88
+ region: IraqRegions;
89
+ deviceInfo: DeviceInfo;
90
+ }
91
+ export interface PatientLoginDto {
92
+ mobileNumber: string;
93
+ mpin: string;
94
+ deviceInfo: DeviceInfo;
95
+ }
96
+ export interface DeviceInfo {
97
+ deviceId: string;
98
+ deviceType: 'android' | 'ios' | 'web';
99
+ deviceName: string;
100
+ appVersion: string;
101
+ osVersion: string;
102
+ ipAddress: string;
103
+ userAgent?: string;
104
+ }
105
+ export interface UserSession {
106
+ id: number;
107
+ userId: number;
108
+ sessionToken: string;
109
+ deviceInfo: DeviceInfo;
110
+ ipAddress: string;
111
+ isActive: boolean;
112
+ expiresAt: Date;
113
+ createdAt: Date;
114
+ updatedAt: Date;
115
+ }
116
+ export interface OtpVerification {
117
+ id: number;
118
+ mobileNumber: string;
119
+ otp: string;
120
+ isVerified: boolean;
121
+ expiresAt: Date;
122
+ attempts: number;
123
+ maxAttempts: number;
124
+ createdAt: Date;
125
+ }
38
126
  export interface UserSettings {
39
127
  userId: string;
40
128
  language: string;
@@ -259,12 +347,21 @@ export interface NotificationSettings {
259
347
  orderUpdates: boolean;
260
348
  prescriptionAlerts: boolean;
261
349
  }
262
- export interface ApiResponse<T> {
263
- success: boolean;
264
- data?: T;
350
+ export interface ApiSuccessResponse<T = any> {
351
+ status: true;
352
+ status_code: number;
353
+ message: string;
354
+ success_code: string;
355
+ data: T;
356
+ }
357
+ export interface ApiErrorResponse {
358
+ status: false;
359
+ status_code: number;
265
360
  message: string;
266
- statusCode: number;
361
+ error_code: string;
362
+ data: null;
267
363
  }
364
+ export type ApiResponse<T = any> = ApiSuccessResponse<T> | ApiErrorResponse;
268
365
  export interface PaginatedResponse<T> {
269
366
  data: T[];
270
367
  total: number;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,36 @@
1
1
  "use strict";
2
2
  // Shared interfaces for all microservices
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.IraqRegions = exports.UserRole = void 0;
5
+ // User roles enum
6
+ var UserRole;
7
+ (function (UserRole) {
8
+ UserRole["PATIENT"] = "patient";
9
+ UserRole["DOCTOR"] = "doctor";
10
+ UserRole["PHARMACIST"] = "pharmacist";
11
+ UserRole["LAB_TECHNICIAN"] = "lab_technician";
12
+ UserRole["ADMIN"] = "admin";
13
+ })(UserRole || (exports.UserRole = UserRole = {}));
14
+ // Iraq regions
15
+ var IraqRegions;
16
+ (function (IraqRegions) {
17
+ IraqRegions["BAGHDAD"] = "Baghdad";
18
+ IraqRegions["BASRA"] = "Basra";
19
+ IraqRegions["ERBIL"] = "Erbil";
20
+ IraqRegions["SULAYMANIYAH"] = "Sulaymaniyah";
21
+ IraqRegions["NAJAF"] = "Najaf";
22
+ IraqRegions["KARBALA"] = "Karbala";
23
+ IraqRegions["BABYLON"] = "Babylon";
24
+ IraqRegions["ANBAR"] = "Anbar";
25
+ IraqRegions["DIYALA"] = "Diyala";
26
+ IraqRegions["WASIT"] = "Wasit";
27
+ IraqRegions["MAYSAN"] = "Maysan";
28
+ IraqRegions["DHI_QAR"] = "Dhi Qar";
29
+ IraqRegions["MUTHANNA"] = "Muthanna";
30
+ IraqRegions["QADISIYYAH"] = "Qadisiyyah";
31
+ IraqRegions["KIRKUK"] = "Kirkuk";
32
+ IraqRegions["SALADIN"] = "Saladin";
33
+ IraqRegions["NINEVEH"] = "Nineveh";
34
+ IraqRegions["DOHUK"] = "Dohuk";
35
+ })(IraqRegions || (exports.IraqRegions = IraqRegions = {}));
4
36
  //# sourceMappingURL=interfaces.js.map