@ferreirasw/yoke-common 0.1.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.
Files changed (109) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +393 -0
  3. package/dist/dto/index.d.ts +2 -0
  4. package/dist/dto/index.js +19 -0
  5. package/dist/dto/index.js.map +1 -0
  6. package/dist/dto/paginated-result.interface.d.ts +23 -0
  7. package/dist/dto/paginated-result.interface.js +30 -0
  8. package/dist/dto/paginated-result.interface.js.map +1 -0
  9. package/dist/dto/pagination.dto.d.ts +12 -0
  10. package/dist/dto/pagination.dto.js +82 -0
  11. package/dist/dto/pagination.dto.js.map +1 -0
  12. package/dist/enums/action.enum.d.ts +10 -0
  13. package/dist/enums/action.enum.js +15 -0
  14. package/dist/enums/action.enum.js.map +1 -0
  15. package/dist/enums/benchmark.enum.d.ts +8 -0
  16. package/dist/enums/benchmark.enum.js +13 -0
  17. package/dist/enums/benchmark.enum.js.map +1 -0
  18. package/dist/enums/coverage-type.enum.d.ts +7 -0
  19. package/dist/enums/coverage-type.enum.js +12 -0
  20. package/dist/enums/coverage-type.enum.js.map +1 -0
  21. package/dist/enums/fund-status.enum.d.ts +4 -0
  22. package/dist/enums/fund-status.enum.js +9 -0
  23. package/dist/enums/fund-status.enum.js.map +1 -0
  24. package/dist/enums/index.d.ts +10 -0
  25. package/dist/enums/index.js +24 -0
  26. package/dist/enums/index.js.map +1 -0
  27. package/dist/enums/insurer-status.enum.d.ts +5 -0
  28. package/dist/enums/insurer-status.enum.js +10 -0
  29. package/dist/enums/insurer-status.enum.js.map +1 -0
  30. package/dist/enums/modality.enum.d.ts +5 -0
  31. package/dist/enums/modality.enum.js +10 -0
  32. package/dist/enums/modality.enum.js.map +1 -0
  33. package/dist/enums/product-status.enum.d.ts +5 -0
  34. package/dist/enums/product-status.enum.js +10 -0
  35. package/dist/enums/product-status.enum.js.map +1 -0
  36. package/dist/enums/quotation-status.enum.d.ts +6 -0
  37. package/dist/enums/quotation-status.enum.js +11 -0
  38. package/dist/enums/quotation-status.enum.js.map +1 -0
  39. package/dist/enums/risk-profile.enum.d.ts +6 -0
  40. package/dist/enums/risk-profile.enum.js +11 -0
  41. package/dist/enums/risk-profile.enum.js.map +1 -0
  42. package/dist/enums/tax-regime.enum.d.ts +5 -0
  43. package/dist/enums/tax-regime.enum.js +10 -0
  44. package/dist/enums/tax-regime.enum.js.map +1 -0
  45. package/dist/filters/http-exception.filter.d.ts +11 -0
  46. package/dist/filters/http-exception.filter.js +105 -0
  47. package/dist/filters/http-exception.filter.js.map +1 -0
  48. package/dist/filters/index.d.ts +1 -0
  49. package/dist/filters/index.js +18 -0
  50. package/dist/filters/index.js.map +1 -0
  51. package/dist/index.d.ts +7 -0
  52. package/dist/index.js +24 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/interceptors/index.d.ts +1 -0
  55. package/dist/interceptors/index.js +18 -0
  56. package/dist/interceptors/index.js.map +1 -0
  57. package/dist/interceptors/logging.interceptor.d.ts +18 -0
  58. package/dist/interceptors/logging.interceptor.js +74 -0
  59. package/dist/interceptors/logging.interceptor.js.map +1 -0
  60. package/dist/interfaces/api-response.interface.d.ts +22 -0
  61. package/dist/interfaces/api-response.interface.js +35 -0
  62. package/dist/interfaces/api-response.interface.js.map +1 -0
  63. package/dist/interfaces/index.d.ts +1 -0
  64. package/dist/interfaces/index.js +18 -0
  65. package/dist/interfaces/index.js.map +1 -0
  66. package/dist/messaging/constants/exchanges.d.ts +11 -0
  67. package/dist/messaging/constants/exchanges.js +14 -0
  68. package/dist/messaging/constants/exchanges.js.map +1 -0
  69. package/dist/messaging/constants/index.d.ts +2 -0
  70. package/dist/messaging/constants/index.js +19 -0
  71. package/dist/messaging/constants/index.js.map +1 -0
  72. package/dist/messaging/constants/routing-keys.d.ts +28 -0
  73. package/dist/messaging/constants/routing-keys.js +31 -0
  74. package/dist/messaging/constants/routing-keys.js.map +1 -0
  75. package/dist/messaging/index.d.ts +3 -0
  76. package/dist/messaging/index.js +20 -0
  77. package/dist/messaging/index.js.map +1 -0
  78. package/dist/messaging/services/base-events.service.d.ts +24 -0
  79. package/dist/messaging/services/base-events.service.js +116 -0
  80. package/dist/messaging/services/base-events.service.js.map +1 -0
  81. package/dist/messaging/services/index.d.ts +1 -0
  82. package/dist/messaging/services/index.js +18 -0
  83. package/dist/messaging/services/index.js.map +1 -0
  84. package/dist/messaging/types/account-messages.d.ts +18 -0
  85. package/dist/messaging/types/account-messages.js +3 -0
  86. package/dist/messaging/types/account-messages.js.map +1 -0
  87. package/dist/messaging/types/base-message.d.ts +6 -0
  88. package/dist/messaging/types/base-message.js +3 -0
  89. package/dist/messaging/types/base-message.js.map +1 -0
  90. package/dist/messaging/types/index.d.ts +5 -0
  91. package/dist/messaging/types/index.js +22 -0
  92. package/dist/messaging/types/index.js.map +1 -0
  93. package/dist/messaging/types/product-messages.d.ts +71 -0
  94. package/dist/messaging/types/product-messages.js +3 -0
  95. package/dist/messaging/types/product-messages.js.map +1 -0
  96. package/dist/messaging/types/quotation-messages.d.ts +35 -0
  97. package/dist/messaging/types/quotation-messages.js +3 -0
  98. package/dist/messaging/types/quotation-messages.js.map +1 -0
  99. package/dist/messaging/types/user-messages.d.ts +42 -0
  100. package/dist/messaging/types/user-messages.js +3 -0
  101. package/dist/messaging/types/user-messages.js.map +1 -0
  102. package/dist/tsconfig.build.tsbuildinfo +1 -0
  103. package/dist/utils/index.d.ts +1 -0
  104. package/dist/utils/index.js +18 -0
  105. package/dist/utils/index.js.map +1 -0
  106. package/dist/utils/validation.utils.d.ts +8 -0
  107. package/dist/utils/validation.utils.js +101 -0
  108. package/dist/utils/validation.utils.js.map +1 -0
  109. package/package.json +70 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exchanges.js","sourceRoot":"","sources":["../../../src/messaging/constants/exchanges.ts"],"names":[],"mappings":";;;AAMa,QAAA,SAAS,GAAG;IAEvB,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;IAGrB,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,mBAAmB;IAC7B,OAAO,EAAE,kBAAkB;IAG3B,SAAS,EAAE,oBAAoB;CACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './exchanges';
2
+ export * from './routing-keys';
@@ -0,0 +1,19 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./exchanges"), exports);
18
+ __exportStar(require("./routing-keys"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/messaging/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,8CAA4B;AAC5B,iDAA+B"}
@@ -0,0 +1,28 @@
1
+ export declare const ROUTING_KEYS: {
2
+ readonly ACCOUNT_CREATED: "account.created";
3
+ readonly ACCOUNT_UPDATED: "account.updated";
4
+ readonly ACCOUNT_DELETED: "account.deleted";
5
+ readonly USER_CREATED: "user.created";
6
+ readonly USER_UPDATED: "user.updated";
7
+ readonly USER_DELETED: "user.deleted";
8
+ readonly USER_LOGGED_IN: "auth.login";
9
+ readonly USER_LOGGED_OUT: "auth.logout";
10
+ readonly PASSWORD_RESET: "auth.password.reset";
11
+ readonly PRODUCT_CREATED: "product.created";
12
+ readonly PRODUCT_UPDATED: "product.updated";
13
+ readonly PRODUCT_DELETED: "product.deleted";
14
+ readonly FUND_CREATED: "fund.created";
15
+ readonly FUND_UPDATED: "fund.updated";
16
+ readonly FUND_DELETED: "fund.deleted";
17
+ readonly COVERAGE_CREATED: "coverage.created";
18
+ readonly COVERAGE_UPDATED: "coverage.updated";
19
+ readonly COVERAGE_DELETED: "coverage.deleted";
20
+ readonly INSURER_CREATED: "insurer.created";
21
+ readonly INSURER_UPDATED: "insurer.updated";
22
+ readonly INSURER_DELETED: "insurer.deleted";
23
+ readonly QUOTATION_CREATED: "quotation.created";
24
+ readonly QUOTATION_COMPLETED: "quotation.completed";
25
+ readonly QUOTATION_EXPIRED: "quotation.expired";
26
+ readonly PRODUCT_SELECTED: "product.selected";
27
+ };
28
+ export type RoutingKey = (typeof ROUTING_KEYS)[keyof typeof ROUTING_KEYS];
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROUTING_KEYS = void 0;
4
+ exports.ROUTING_KEYS = {
5
+ ACCOUNT_CREATED: 'account.created',
6
+ ACCOUNT_UPDATED: 'account.updated',
7
+ ACCOUNT_DELETED: 'account.deleted',
8
+ USER_CREATED: 'user.created',
9
+ USER_UPDATED: 'user.updated',
10
+ USER_DELETED: 'user.deleted',
11
+ USER_LOGGED_IN: 'auth.login',
12
+ USER_LOGGED_OUT: 'auth.logout',
13
+ PASSWORD_RESET: 'auth.password.reset',
14
+ PRODUCT_CREATED: 'product.created',
15
+ PRODUCT_UPDATED: 'product.updated',
16
+ PRODUCT_DELETED: 'product.deleted',
17
+ FUND_CREATED: 'fund.created',
18
+ FUND_UPDATED: 'fund.updated',
19
+ FUND_DELETED: 'fund.deleted',
20
+ COVERAGE_CREATED: 'coverage.created',
21
+ COVERAGE_UPDATED: 'coverage.updated',
22
+ COVERAGE_DELETED: 'coverage.deleted',
23
+ INSURER_CREATED: 'insurer.created',
24
+ INSURER_UPDATED: 'insurer.updated',
25
+ INSURER_DELETED: 'insurer.deleted',
26
+ QUOTATION_CREATED: 'quotation.created',
27
+ QUOTATION_COMPLETED: 'quotation.completed',
28
+ QUOTATION_EXPIRED: 'quotation.expired',
29
+ PRODUCT_SELECTED: 'product.selected',
30
+ };
31
+ //# sourceMappingURL=routing-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-keys.js","sourceRoot":"","sources":["../../../src/messaging/constants/routing-keys.ts"],"names":[],"mappings":";;;AAMa,QAAA,YAAY,GAAG;IAE1B,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAGlC,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAG5B,cAAc,EAAE,YAAY;IAC5B,eAAe,EAAE,aAAa;IAC9B,cAAc,EAAE,qBAAqB;IAGrC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAGlC,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAG5B,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IAGpC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAGlC,iBAAiB,EAAE,mBAAmB;IACtC,mBAAmB,EAAE,qBAAqB;IAC1C,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;CAC5B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './constants';
2
+ export * from './types';
3
+ export * from './services';
@@ -0,0 +1,20 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./constants"), exports);
18
+ __exportStar(require("./types"), exports);
19
+ __exportStar(require("./services"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAMA,8CAA4B;AAC5B,0CAAwB;AACxB,6CAA2B"}
@@ -0,0 +1,24 @@
1
+ import { Logger, OnModuleDestroy, OnModuleInit } from '@nestjs/common';
2
+ import { ConfigService } from '@nestjs/config';
3
+ import * as amqp from 'amqp-connection-manager';
4
+ import { ChannelWrapper } from 'amqp-connection-manager';
5
+ import { ExchangeName } from '../constants/exchanges';
6
+ import { RoutingKey } from '../constants/routing-keys';
7
+ export declare abstract class BaseEventsService implements OnModuleInit, OnModuleDestroy {
8
+ protected configService: ConfigService;
9
+ protected readonly logger: Logger;
10
+ protected connection: amqp.AmqpConnectionManager;
11
+ protected channelWrapper: ChannelWrapper;
12
+ constructor(configService: ConfigService, loggerContext?: string);
13
+ protected abstract setupExchanges(channel: any): Promise<void>;
14
+ onModuleInit(): Promise<void>;
15
+ onModuleDestroy(): Promise<void>;
16
+ publishEvent(exchange: ExchangeName | string, routingKey: RoutingKey | string, data: any, options?: {
17
+ persistent?: boolean;
18
+ timestamp?: number;
19
+ correlationId?: string;
20
+ [key: string]: any;
21
+ }): Promise<void>;
22
+ isConnected(): boolean;
23
+ getChannelWrapper(): ChannelWrapper;
24
+ }
@@ -0,0 +1,116 @@
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
+ var BaseEventsService_1;
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.BaseEventsService = void 0;
47
+ const common_1 = require("@nestjs/common");
48
+ const config_1 = require("@nestjs/config");
49
+ const amqp = __importStar(require("amqp-connection-manager"));
50
+ let BaseEventsService = BaseEventsService_1 = class BaseEventsService {
51
+ constructor(configService, loggerContext) {
52
+ this.configService = configService;
53
+ this.logger = new common_1.Logger(loggerContext || BaseEventsService_1.name);
54
+ }
55
+ async onModuleInit() {
56
+ try {
57
+ const rabbitmqUrl = this.configService.get('rabbitmq.url');
58
+ this.logger.log(`Connecting to RabbitMQ at: ${rabbitmqUrl}`);
59
+ this.connection = amqp.connect([rabbitmqUrl]);
60
+ this.channelWrapper = this.connection.createChannel({
61
+ json: true,
62
+ setup: async (channel) => {
63
+ await this.setupExchanges(channel);
64
+ this.logger.log('RabbitMQ exchanges created successfully');
65
+ },
66
+ });
67
+ this.connection.on('connect', () => {
68
+ this.logger.log('Connected to RabbitMQ');
69
+ });
70
+ this.connection.on('disconnect', (err) => {
71
+ this.logger.error('Disconnected from RabbitMQ', err);
72
+ });
73
+ }
74
+ catch (error) {
75
+ this.logger.error('Failed to connect to RabbitMQ', error);
76
+ throw error;
77
+ }
78
+ }
79
+ async onModuleDestroy() {
80
+ try {
81
+ await this.channelWrapper?.close();
82
+ await this.connection?.close();
83
+ this.logger.log('RabbitMQ connection closed');
84
+ }
85
+ catch (error) {
86
+ this.logger.error('Error closing RabbitMQ connection', error);
87
+ }
88
+ }
89
+ async publishEvent(exchange, routingKey, data, options) {
90
+ try {
91
+ const publishOptions = {
92
+ persistent: true,
93
+ timestamp: Date.now(),
94
+ ...options,
95
+ };
96
+ await this.channelWrapper.publish(exchange, routingKey, data, publishOptions);
97
+ this.logger.log(`Event published to ${exchange} with routing key ${routingKey}`);
98
+ }
99
+ catch (error) {
100
+ this.logger.error(`Failed to publish event to ${exchange}`, error);
101
+ throw error;
102
+ }
103
+ }
104
+ isConnected() {
105
+ return this.connection?.isConnected() ?? false;
106
+ }
107
+ getChannelWrapper() {
108
+ return this.channelWrapper;
109
+ }
110
+ };
111
+ exports.BaseEventsService = BaseEventsService;
112
+ exports.BaseEventsService = BaseEventsService = BaseEventsService_1 = __decorate([
113
+ (0, common_1.Injectable)(),
114
+ __metadata("design:paramtypes", [config_1.ConfigService, String])
115
+ ], BaseEventsService);
116
+ //# sourceMappingURL=base-events.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-events.service.js","sourceRoot":"","sources":["../../../src/messaging/services/base-events.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './base-events.service';
@@ -0,0 +1,18 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./base-events.service"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/messaging/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,wDAAsC"}
@@ -0,0 +1,18 @@
1
+ import { BaseMessage } from './base-message';
2
+ export interface AccountCreatedMessage extends BaseMessage {
3
+ accountId: string;
4
+ name: string;
5
+ email: string;
6
+ active: boolean;
7
+ }
8
+ export interface AccountUpdatedMessage extends BaseMessage {
9
+ accountId: string;
10
+ name?: string;
11
+ email?: string;
12
+ active?: boolean;
13
+ updatedFields: string[];
14
+ }
15
+ export interface AccountDeletedMessage extends BaseMessage {
16
+ accountId: string;
17
+ deletedAt: Date;
18
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=account-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-messages.js","sourceRoot":"","sources":["../../../src/messaging/types/account-messages.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface BaseMessage {
2
+ timestamp: number;
3
+ correlationId?: string;
4
+ userId?: string;
5
+ source?: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=base-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-message.js","sourceRoot":"","sources":["../../../src/messaging/types/base-message.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from './base-message';
2
+ export * from './account-messages';
3
+ export * from './user-messages';
4
+ export * from './product-messages';
5
+ export * from './quotation-messages';
@@ -0,0 +1,22 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./base-message"), exports);
18
+ __exportStar(require("./account-messages"), exports);
19
+ __exportStar(require("./user-messages"), exports);
20
+ __exportStar(require("./product-messages"), exports);
21
+ __exportStar(require("./quotation-messages"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/messaging/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,iDAA+B;AAC/B,qDAAmC;AACnC,kDAAgC;AAChC,qDAAmC;AACnC,uDAAqC"}
@@ -0,0 +1,71 @@
1
+ import { BaseMessage } from './base-message';
2
+ import { Modality, TaxRegime, ProductStatus } from '../../enums';
3
+ export interface ProductCreatedMessage extends BaseMessage {
4
+ productId: string;
5
+ insurerId: string;
6
+ name: string;
7
+ description: string;
8
+ modality: Modality;
9
+ taxRegime: TaxRegime;
10
+ status: ProductStatus;
11
+ minContribution: number;
12
+ maxContribution: number;
13
+ entryFee: number;
14
+ administrationFee: number;
15
+ }
16
+ export interface ProductUpdatedMessage extends BaseMessage {
17
+ productId: string;
18
+ updatedFields: string[];
19
+ status?: ProductStatus;
20
+ }
21
+ export interface ProductDeletedMessage extends BaseMessage {
22
+ productId: string;
23
+ deletedAt: Date;
24
+ }
25
+ export interface FundCreatedMessage extends BaseMessage {
26
+ fundId: string;
27
+ productId: string;
28
+ name: string;
29
+ cnpj: string;
30
+ riskProfile: string;
31
+ benchmark: string;
32
+ }
33
+ export interface FundUpdatedMessage extends BaseMessage {
34
+ fundId: string;
35
+ updatedFields: string[];
36
+ }
37
+ export interface FundDeletedMessage extends BaseMessage {
38
+ fundId: string;
39
+ deletedAt: Date;
40
+ }
41
+ export interface CoverageCreatedMessage extends BaseMessage {
42
+ coverageId: string;
43
+ productId: string;
44
+ type: string;
45
+ name: string;
46
+ description: string;
47
+ capitalValue: number;
48
+ }
49
+ export interface CoverageUpdatedMessage extends BaseMessage {
50
+ coverageId: string;
51
+ updatedFields: string[];
52
+ }
53
+ export interface CoverageDeletedMessage extends BaseMessage {
54
+ coverageId: string;
55
+ deletedAt: Date;
56
+ }
57
+ export interface InsurerCreatedMessage extends BaseMessage {
58
+ insurerId: string;
59
+ name: string;
60
+ cnpj: string;
61
+ email: string;
62
+ phone: string;
63
+ }
64
+ export interface InsurerUpdatedMessage extends BaseMessage {
65
+ insurerId: string;
66
+ updatedFields: string[];
67
+ }
68
+ export interface InsurerDeletedMessage extends BaseMessage {
69
+ insurerId: string;
70
+ deletedAt: Date;
71
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=product-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-messages.js","sourceRoot":"","sources":["../../../src/messaging/types/product-messages.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { BaseMessage } from './base-message';
2
+ import { QuotationStatus, Modality, TaxRegime, RiskProfile } from '../../enums';
3
+ export interface QuotationCreatedMessage extends BaseMessage {
4
+ quotationId: string;
5
+ userId: string;
6
+ accountId: string;
7
+ age: number;
8
+ monthlyContribution: number;
9
+ retirementAge: number;
10
+ modality: Modality;
11
+ taxRegime: TaxRegime;
12
+ riskProfile: RiskProfile;
13
+ status: QuotationStatus;
14
+ expiresAt: Date;
15
+ }
16
+ export interface QuotationCompletedMessage extends BaseMessage {
17
+ quotationId: string;
18
+ userId: string;
19
+ accountId: string;
20
+ selectedProductId?: string;
21
+ completedAt: Date;
22
+ }
23
+ export interface QuotationExpiredMessage extends BaseMessage {
24
+ quotationId: string;
25
+ userId: string;
26
+ accountId: string;
27
+ expiredAt: Date;
28
+ }
29
+ export interface ProductSelectedMessage extends BaseMessage {
30
+ quotationId: string;
31
+ userId: string;
32
+ accountId: string;
33
+ productId: string;
34
+ selectedAt: Date;
35
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=quotation-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quotation-messages.js","sourceRoot":"","sources":["../../../src/messaging/types/quotation-messages.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import { BaseMessage } from './base-message';
2
+ export interface UserCreatedMessage extends BaseMessage {
3
+ userId: string;
4
+ accountId: string;
5
+ email: string;
6
+ firstName: string;
7
+ lastName: string;
8
+ role: string;
9
+ active: boolean;
10
+ }
11
+ export interface UserUpdatedMessage extends BaseMessage {
12
+ userId: string;
13
+ accountId: string;
14
+ email?: string;
15
+ firstName?: string;
16
+ lastName?: string;
17
+ role?: string;
18
+ active?: boolean;
19
+ updatedFields: string[];
20
+ }
21
+ export interface UserDeletedMessage extends BaseMessage {
22
+ userId: string;
23
+ accountId: string;
24
+ deletedAt: Date;
25
+ }
26
+ export interface UserLoggedInMessage extends BaseMessage {
27
+ userId: string;
28
+ accountId: string;
29
+ email: string;
30
+ ipAddress?: string;
31
+ userAgent?: string;
32
+ }
33
+ export interface UserLoggedOutMessage extends BaseMessage {
34
+ userId: string;
35
+ accountId: string;
36
+ }
37
+ export interface PasswordResetMessage extends BaseMessage {
38
+ userId: string;
39
+ email: string;
40
+ resetToken: string;
41
+ expiresAt: Date;
42
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-messages.js","sourceRoot":"","sources":["../../../src/messaging/types/user-messages.ts"],"names":[],"mappings":""}