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

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 +4 -2
  83. package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.js +29 -14
  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 +0 -0
  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
@@ -9,8 +9,9 @@ export default class AmqpQueue implements QueueConnection {
9
9
  private connection;
10
10
  private messagesInMemory;
11
11
  private controller;
12
+ private channels;
12
13
  constructor();
13
- connect(vHost: string): Promise<any>;
14
+ connect(vHost: string): Promise<AmqpQueue>;
14
15
  close(): Promise<void>;
15
16
  on(queueName: string, callback: Handler): Promise<void>;
16
17
  publish(
@@ -21,7 +22,8 @@ export default class AmqpQueue implements QueueConnection {
21
22
  createConsumers(queueName: string, configs: CreateConsumers): Promise<void>;
22
23
  setController(controller?: QueueController): this;
23
24
  static getInstance(vHost: string): Promise<AmqpQueue>;
24
- private registerEvents;
25
+ private treatReconnection;
26
+ private closeChannels;
25
27
  private publishMessagesOfMemory;
26
28
  }
27
29
  type CreateConsumers = {
@@ -5,13 +5,14 @@ const amqplib_1 = tslib_1.__importDefault(require('amqplib'));
5
5
  class AmqpQueue {
6
6
  constructor() {
7
7
  this.messagesInMemory = [];
8
+ this.channels = [];
8
9
  this.uri = process.env.BROKER_AMQP;
9
10
  }
10
11
  async connect(vHost) {
11
12
  const urlConnection = `${this.uri}/${vHost}`;
12
13
  this.connection = await amqplib_1.default.connect(urlConnection);
13
14
  this.vHost = vHost;
14
- this.registerEvents(vHost);
15
+ await this.treatReconnection(vHost);
15
16
  if (process.env.NODE_ENV !== 'test') {
16
17
  console.log(`🐝 Queue connected on vHost: ${this.vHost}`);
17
18
  }
@@ -26,16 +27,23 @@ class AmqpQueue {
26
27
  async on(queueName, callback) {
27
28
  try {
28
29
  const channel = await this.connection.createChannel();
30
+ this.channels.push(channel);
29
31
  await channel.prefetch(callback.getSimultaneity());
30
- await channel.consume(queueName, async message => {
31
- try {
32
- await callback.handle(JSON.parse(message?.content.toString()));
33
- channel.ack(message);
34
- } catch (_) {
35
- if (process.env.NODE_ENV === 'test') return;
36
- channel.reject(message, false);
37
- }
38
- });
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);
42
+ }
43
+ })
44
+ .catch(_ => {
45
+ console.log(`💀 Error on Channel`);
46
+ });
39
47
  console.log(`🍯 Consume on queue: [${queueName}] on vHost ${this.vHost}`);
40
48
  } catch (err) {
41
49
  console.log(
@@ -118,20 +126,27 @@ class AmqpQueue {
118
126
  AmqpQueue.instance = await queue.connect(vHost);
119
127
  return AmqpQueue.instance;
120
128
  }
121
- registerEvents(vHost) {
122
- this.connection.on('close', () => {
129
+ async treatReconnection(vHost) {
130
+ this.connection.removeAllListeners('close');
131
+ this.connection.on('close', async () => {
132
+ await this.closeChannels();
123
133
  const interval = setInterval(async () => {
124
134
  try {
125
135
  AmqpQueue.instance = await this.connect(vHost);
126
136
  this.controller;
127
- this.publishMessagesOfMemory();
137
+ await this.publishMessagesOfMemory();
128
138
  clearInterval(interval);
129
139
  } catch {
130
140
  console.log(`try connection on vHost: ${vHost}`);
131
141
  }
132
142
  }, 5000);
133
143
  });
134
- this.connection.removeListener('close', this.registerEvents);
144
+ }
145
+ async closeChannels() {
146
+ for (const channel of this.channels) {
147
+ await channel.close();
148
+ }
149
+ this.channels = [];
135
150
  }
136
151
  async publishMessagesOfMemory() {
137
152
  if (this.messagesInMemory.length > 0) {
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
File without changes
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.50",
3
+ "version": "0.0.52",
4
4
  "description": "Internal lib for backend components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",