@seidor-cloud-produtos/orbit-backend-lib 0.0.52 → 0.0.54

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 (136) hide show
  1. package/README.md +0 -0
  2. package/dist/clean-arch/application/queue/handler.d.ts +0 -0
  3. package/dist/clean-arch/application/queue/handler.js +0 -0
  4. package/dist/clean-arch/application/queue/messages-in-memory.d.ts +0 -0
  5. package/dist/clean-arch/application/queue/messages-in-memory.js +0 -0
  6. package/dist/clean-arch/application/queue/queue-connection.d.ts +0 -0
  7. package/dist/clean-arch/application/queue/queue-connection.js +0 -0
  8. package/dist/clean-arch/application/queue/queue.d.ts +0 -0
  9. package/dist/clean-arch/application/queue/queue.js +0 -0
  10. package/dist/clean-arch/domain/entities/aggregate-root.d.ts +0 -0
  11. package/dist/clean-arch/domain/entities/aggregate-root.js +0 -0
  12. package/dist/clean-arch/domain/entities/common-dto.d.ts +0 -0
  13. package/dist/clean-arch/domain/entities/common-dto.js +0 -0
  14. package/dist/clean-arch/domain/entities/entity.d.ts +0 -0
  15. package/dist/clean-arch/domain/entities/entity.js +0 -0
  16. package/dist/clean-arch/domain/entities/unique-entity-id.d.ts +0 -0
  17. package/dist/clean-arch/domain/entities/unique-entity-id.js +0 -0
  18. package/dist/clean-arch/domain/entities/value-object.d.ts +0 -0
  19. package/dist/clean-arch/domain/entities/value-object.js +0 -0
  20. package/dist/clean-arch/domain/entities/watched-list.d.ts +0 -0
  21. package/dist/clean-arch/domain/entities/watched-list.js +0 -0
  22. package/dist/clean-arch/domain/entities/watched-list.spec.d.ts +0 -0
  23. package/dist/clean-arch/domain/entities/watched-list.spec.js +0 -0
  24. package/dist/clean-arch/domain/errors/application-error.d.ts +0 -0
  25. package/dist/clean-arch/domain/errors/application-error.js +0 -0
  26. package/dist/clean-arch/domain/errors/domain-error.d.ts +0 -0
  27. package/dist/clean-arch/domain/errors/domain-error.js +0 -0
  28. package/dist/clean-arch/domain/errors/invalid-password-algorithm-error.d.ts +0 -0
  29. package/dist/clean-arch/domain/errors/invalid-password-algorithm-error.js +0 -0
  30. package/dist/clean-arch/domain/errors/invalid-password-length-error.d.ts +0 -0
  31. package/dist/clean-arch/domain/errors/invalid-password-length-error.js +0 -0
  32. package/dist/clean-arch/domain/errors/validation-error.d.ts +0 -0
  33. package/dist/clean-arch/domain/errors/validation-error.js +0 -0
  34. package/dist/clean-arch/domain/events/domain-event.d.ts +0 -0
  35. package/dist/clean-arch/domain/events/domain-event.js +0 -0
  36. package/dist/clean-arch/domain/factories/create-password-factory.d.ts +0 -0
  37. package/dist/clean-arch/domain/factories/create-password-factory.js +0 -0
  38. package/dist/clean-arch/domain/factories/random-password-temporary-factory.d.ts +0 -0
  39. package/dist/clean-arch/domain/factories/random-password-temporary-factory.js +0 -0
  40. package/dist/clean-arch/domain/types/optional.d.ts +0 -0
  41. package/dist/clean-arch/domain/types/optional.js +0 -0
  42. package/dist/clean-arch/domain/value-objects/password.d.ts +0 -0
  43. package/dist/clean-arch/domain/value-objects/password.js +0 -0
  44. package/dist/clean-arch/domain/value-objects/pbkdf2-password.d.ts +0 -0
  45. package/dist/clean-arch/domain/value-objects/pbkdf2-password.js +0 -0
  46. package/dist/clean-arch/domain/value-objects/sha1-password.d.ts +0 -0
  47. package/dist/clean-arch/domain/value-objects/sha1-password.js +0 -0
  48. package/dist/clean-arch/infra/adapters/express-adapter.d.ts +0 -0
  49. package/dist/clean-arch/infra/adapters/express-adapter.js +0 -0
  50. package/dist/clean-arch/infra/adapters/fastify-adapter.d.ts +0 -0
  51. package/dist/clean-arch/infra/adapters/fastify-adapter.js +0 -0
  52. package/dist/clean-arch/infra/authorizations/authorization.d.ts +0 -0
  53. package/dist/clean-arch/infra/authorizations/authorization.js +0 -0
  54. package/dist/clean-arch/infra/authorizations/authorizer.d.ts +0 -0
  55. package/dist/clean-arch/infra/authorizations/authorizer.js +0 -0
  56. package/dist/clean-arch/infra/authorizations/authorizer.spec.d.ts +0 -0
  57. package/dist/clean-arch/infra/authorizations/authorizer.spec.js +0 -0
  58. package/dist/clean-arch/infra/authorizations/not-allowed.d.ts +0 -0
  59. package/dist/clean-arch/infra/authorizations/not-allowed.js +0 -0
  60. package/dist/clean-arch/infra/errors/infra-error.d.ts +0 -0
  61. package/dist/clean-arch/infra/errors/infra-error.js +0 -0
  62. package/dist/clean-arch/infra/http/controller.d.ts +0 -0
  63. package/dist/clean-arch/infra/http/controller.js +0 -0
  64. package/dist/clean-arch/infra/http/handle-bool-filter.d.ts +0 -0
  65. package/dist/clean-arch/infra/http/handle-bool-filter.js +0 -0
  66. package/dist/clean-arch/infra/http/handle-is-active-query.d.ts +0 -0
  67. package/dist/clean-arch/infra/http/handle-is-active-query.js +0 -0
  68. package/dist/clean-arch/infra/http/handle-sort-param-query.d.ts +0 -0
  69. package/dist/clean-arch/infra/http/handle-sort-param-query.js +0 -0
  70. package/dist/clean-arch/infra/http/handle-user-headers.d.ts +0 -0
  71. package/dist/clean-arch/infra/http/handle-user-headers.js +0 -0
  72. package/dist/clean-arch/infra/http/health-connections.d.ts +0 -0
  73. package/dist/clean-arch/infra/http/health-connections.js +0 -0
  74. package/dist/clean-arch/infra/http/http.d.ts +0 -0
  75. package/dist/clean-arch/infra/http/http.js +0 -0
  76. package/dist/clean-arch/infra/queue/create-consumers.d.ts +0 -0
  77. package/dist/clean-arch/infra/queue/create-consumers.js +0 -0
  78. package/dist/clean-arch/infra/queue/in-memory/in-memory-queue.d.ts +0 -0
  79. package/dist/clean-arch/infra/queue/in-memory/in-memory-queue.js +0 -0
  80. package/dist/clean-arch/infra/queue/queue-controller.d.ts +0 -0
  81. package/dist/clean-arch/infra/queue/queue-controller.js +0 -0
  82. package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.d.ts +1 -1
  83. package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.js +38 -32
  84. package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.spec.d.ts +0 -0
  85. package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.spec.js +0 -0
  86. package/dist/clean-arch/shared/pagination/dto-response.d.ts +0 -0
  87. package/dist/clean-arch/shared/pagination/dto-response.js +0 -0
  88. package/dist/clean-arch/shared/pagination/get-take-and-skip.d.ts +0 -0
  89. package/dist/clean-arch/shared/pagination/get-take-and-skip.js +0 -0
  90. package/dist/clean-arch/shared/pagination/pagination.d.ts +0 -0
  91. package/dist/clean-arch/shared/pagination/pagination.js +0 -0
  92. package/dist/frameworks/express/api-gateway/mapping-model.d.ts +0 -0
  93. package/dist/frameworks/express/api-gateway/mapping-model.js +0 -0
  94. package/dist/frameworks/express/api-gateway/mapping-model.spec.d.ts +0 -0
  95. package/dist/frameworks/express/api-gateway/mapping-model.spec.js +0 -0
  96. package/dist/frameworks/express/api-gateway/middleware-express.d.ts +0 -0
  97. package/dist/frameworks/express/api-gateway/middleware-express.js +0 -0
  98. package/dist/frameworks/express/authorizations/authorization-express.d.ts +0 -0
  99. package/dist/frameworks/express/authorizations/authorization-express.js +0 -0
  100. package/dist/frameworks/express/authorizations/authorization-express.spec.d.ts +0 -0
  101. package/dist/frameworks/express/authorizations/authorization-express.spec.js +0 -0
  102. package/dist/frameworks/express/authorizations/middleware-express.d.ts +0 -0
  103. package/dist/frameworks/express/authorizations/middleware-express.js +0 -0
  104. package/dist/frameworks/express/types.d.ts +0 -0
  105. package/dist/frameworks/express/types.js +0 -0
  106. package/dist/frameworks/nest/authorizations/authorization-nest.d.ts +0 -0
  107. package/dist/frameworks/nest/authorizations/authorization-nest.js +0 -0
  108. package/dist/frameworks/nest/authorizations/guard-nest.d.ts +0 -0
  109. package/dist/frameworks/nest/authorizations/guard-nest.js +0 -0
  110. package/dist/index.d.ts +0 -0
  111. package/dist/index.js +0 -0
  112. package/dist/infra/authorizations/auth-matcher.d.ts +0 -0
  113. package/dist/infra/authorizations/auth-matcher.js +0 -0
  114. package/dist/infra/authorizations/auth-matcher.spec.d.ts +0 -0
  115. package/dist/infra/authorizations/auth-matcher.spec.js +0 -0
  116. package/dist/infra/authorizations/validator/api/api-validator.d.ts +0 -0
  117. package/dist/infra/authorizations/validator/api/api-validator.js +0 -0
  118. package/dist/infra/authorizations/validator/api/factories/unauthorized-response-factory.d.ts +0 -0
  119. package/dist/infra/authorizations/validator/api/factories/unauthorized-response-factory.js +0 -0
  120. package/dist/infra/authorizations/validator/api/factories/unauthorized-response-factory.spec.d.ts +0 -0
  121. package/dist/infra/authorizations/validator/api/factories/unauthorized-response-factory.spec.js +0 -0
  122. package/dist/infra/authorizations/validator/auth-validator.d.ts +0 -0
  123. package/dist/infra/authorizations/validator/auth-validator.js +0 -0
  124. package/dist/infra/authorizations/validator/auth-validator.spec.d.ts +0 -0
  125. package/dist/infra/authorizations/validator/auth-validator.spec.js +0 -0
  126. package/dist/infra/http/api-gateway/mapping-model.d.ts +0 -0
  127. package/dist/infra/http/api-gateway/mapping-model.js +4 -1
  128. package/dist/infra/http/api-gateway/mapping-model.spec.d.ts +0 -0
  129. package/dist/infra/http/api-gateway/mapping-model.spec.js +0 -0
  130. package/dist/infra/http/errors/api-common-error.d.ts +0 -0
  131. package/dist/infra/http/errors/api-common-error.js +0 -0
  132. package/dist/infra/http/errors/api-error.d.ts +0 -0
  133. package/dist/infra/http/errors/api-error.js +0 -0
  134. package/dist/infra/http/errors/unauthorized-response.d.ts +0 -0
  135. package/dist/infra/http/errors/unauthorized-response.js +0 -0
  136. package/package.json +1 -1
package/README.md CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -23,7 +23,7 @@ export default class AmqpQueue implements QueueConnection {
23
23
  setController(controller?: QueueController): this;
24
24
  static getInstance(vHost: string): Promise<AmqpQueue>;
25
25
  private treatReconnection;
26
- private closeChannels;
26
+ private reconnectionChannels;
27
27
  private publishMessagesOfMemory;
28
28
  }
29
29
  type CreateConsumers = {
@@ -5,7 +5,7 @@ const amqplib_1 = tslib_1.__importDefault(require('amqplib'));
5
5
  class AmqpQueue {
6
6
  constructor() {
7
7
  this.messagesInMemory = [];
8
- this.channels = [];
8
+ this.channels = new Map();
9
9
  this.uri = process.env.BROKER_AMQP;
10
10
  }
11
11
  async connect(vHost) {
@@ -14,6 +14,7 @@ class AmqpQueue {
14
14
  this.vHost = vHost;
15
15
  await this.treatReconnection(vHost);
16
16
  if (process.env.NODE_ENV !== 'test') {
17
+ console.log('\n');
17
18
  console.log(`🐝 Queue connected on vHost: ${this.vHost}`);
18
19
  }
19
20
  return this;
@@ -21,34 +22,31 @@ class AmqpQueue {
21
22
  async close() {
22
23
  await this.connection.close();
23
24
  if (process.env.NODE_ENV !== 'test') {
24
- console.log(`🐝 Queue Closed On vHost ${this.vHost}`);
25
+ console.log(`⛔ Queue closed on vHost ${this.vHost}`);
25
26
  }
26
27
  }
27
28
  async on(queueName, callback) {
28
29
  try {
29
30
  const channel = await this.connection.createChannel();
30
- this.channels.push(channel);
31
+ this.channels.set(queueName, callback);
31
32
  await channel.prefetch(callback.getSimultaneity());
32
- await channel
33
- .consume(queueName, async message => {
34
- try {
35
- await callback.handle(JSON.parse(message?.content.toString()));
36
- channel.ack(message);
37
- } catch (_) {
38
- if (process.env.NODE_ENV === 'test') {
39
- return;
40
- }
41
- this.channels.length !== 0 && channel.reject(message, false);
33
+ await channel.consume(queueName, async message => {
34
+ try {
35
+ await callback.handle(JSON.parse(message?.content.toString()));
36
+ channel.ack(message);
37
+ } catch (_) {
38
+ if (process.env.NODE_ENV === 'test') {
39
+ return;
42
40
  }
43
- })
44
- .catch(_ => {
45
- console.log(`💀 Error on Channel`);
46
- });
41
+ channel.reject(message, false);
42
+ }
43
+ });
47
44
  console.log(`🍯 Consume on queue: [${queueName}] on vHost ${this.vHost}`);
48
45
  } catch (err) {
49
- console.log(
50
- `💀 Error to consume messages: ${err} on vHost ${this.vHost}`,
51
- );
46
+ console.log({
47
+ message: `⛔ Error to consume messages: [${queueName}] on vHost ${this.vHost}`,
48
+ error: err,
49
+ });
52
50
  }
53
51
  }
54
52
  async publish(exchangeName, domainEvent, configs) {
@@ -69,9 +67,10 @@ class AmqpQueue {
69
67
  domainEvent,
70
68
  configs,
71
69
  });
72
- console.log(
73
- `💀 Error to publish messages: ${err} on vHost ${this.vHost}`,
74
- );
70
+ console.log({
71
+ message: `⛔ Error to publish messages to: ${domainEvent.name}. Publish in memory!`,
72
+ error: err,
73
+ });
75
74
  }
76
75
  }
77
76
  async createConsumers(queueName, configs) {
@@ -107,9 +106,10 @@ class AmqpQueue {
107
106
  );
108
107
  await channel.close();
109
108
  } catch (err) {
110
- console.log(
111
- `💀 Error to initialize queues: ${err} on vHost ${this.vHost}`,
112
- );
109
+ console.log({
110
+ message: `⛔ Error to create queue: ${queueName} on vHost ${this.vHost}`,
111
+ error: err,
112
+ });
113
113
  }
114
114
  }
115
115
  setController(controller) {
@@ -129,31 +129,37 @@ class AmqpQueue {
129
129
  async treatReconnection(vHost) {
130
130
  this.connection.removeAllListeners('close');
131
131
  this.connection.on('close', async () => {
132
- await this.closeChannels();
132
+ console.log('\n');
133
+ console.log('⛔ Connection Closed!!');
134
+ console.log(`⟳ Try connection to the vHost: ${vHost}`);
133
135
  const interval = setInterval(async () => {
134
136
  try {
135
137
  AmqpQueue.instance = await this.connect(vHost);
136
138
  this.controller;
139
+ await this.reconnectionChannels();
137
140
  await this.publishMessagesOfMemory();
138
141
  clearInterval(interval);
139
142
  } catch {
140
- console.log(`try connection on vHost: ${vHost}`);
143
+ console.log(`⟳ Trying to connection to the vHost: ${vHost}`);
141
144
  }
142
145
  }, 5000);
143
146
  });
144
147
  }
145
- async closeChannels() {
146
- for (const channel of this.channels) {
147
- await channel.close();
148
+ async reconnectionChannels() {
149
+ for (const [queueName, callback] of this.channels) {
150
+ await this.on(queueName, callback);
148
151
  }
149
- this.channels = [];
150
152
  }
151
153
  async publishMessagesOfMemory() {
152
154
  if (this.messagesInMemory.length > 0) {
153
155
  while (this.messagesInMemory.length > 0) {
154
156
  const data = this.messagesInMemory.shift();
155
157
  await this.publish(data.exchangeName, data.domainEvent, data.configs);
158
+ console.log(
159
+ `✅ Publishing memory message to: [${data.domainEvent.name}]`,
160
+ );
156
161
  }
162
+ console.log('✅ Published memory messages!');
157
163
  }
158
164
  }
159
165
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/index.d.ts CHANGED
File without changes
package/dist/index.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -10,7 +10,10 @@ class MappingModel {
10
10
  const params = body['api-gateway-params'];
11
11
  if (!params) return this.next();
12
12
  for (const key in params.header) {
13
- if (this.getHeaders()[key] === undefined || key === 'accept') {
13
+ if (
14
+ this.getHeaders()[key] === undefined ||
15
+ key.toUpperCase() === 'ACCEPT'
16
+ ) {
14
17
  this.setHeader(key, params.header[key]);
15
18
  }
16
19
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seidor-cloud-produtos/orbit-backend-lib",
3
- "version": "0.0.52",
3
+ "version": "0.0.54",
4
4
  "description": "Internal lib for backend components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",