@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.
- package/README.md +0 -0
- package/dist/clean-arch/application/queue/handler.d.ts +0 -0
- package/dist/clean-arch/application/queue/handler.js +0 -0
- package/dist/clean-arch/application/queue/messages-in-memory.d.ts +0 -0
- package/dist/clean-arch/application/queue/messages-in-memory.js +0 -0
- package/dist/clean-arch/application/queue/queue-connection.d.ts +0 -0
- package/dist/clean-arch/application/queue/queue-connection.js +0 -0
- package/dist/clean-arch/application/queue/queue.d.ts +0 -0
- package/dist/clean-arch/application/queue/queue.js +0 -0
- package/dist/clean-arch/domain/entities/aggregate-root.d.ts +0 -0
- package/dist/clean-arch/domain/entities/aggregate-root.js +0 -0
- package/dist/clean-arch/domain/entities/common-dto.d.ts +0 -0
- package/dist/clean-arch/domain/entities/common-dto.js +0 -0
- package/dist/clean-arch/domain/entities/entity.d.ts +0 -0
- package/dist/clean-arch/domain/entities/entity.js +0 -0
- package/dist/clean-arch/domain/entities/unique-entity-id.d.ts +0 -0
- package/dist/clean-arch/domain/entities/unique-entity-id.js +0 -0
- package/dist/clean-arch/domain/entities/value-object.d.ts +0 -0
- package/dist/clean-arch/domain/entities/value-object.js +0 -0
- package/dist/clean-arch/domain/entities/watched-list.d.ts +0 -0
- package/dist/clean-arch/domain/entities/watched-list.js +0 -0
- package/dist/clean-arch/domain/entities/watched-list.spec.d.ts +0 -0
- package/dist/clean-arch/domain/entities/watched-list.spec.js +0 -0
- package/dist/clean-arch/domain/errors/application-error.d.ts +0 -0
- package/dist/clean-arch/domain/errors/application-error.js +0 -0
- package/dist/clean-arch/domain/errors/domain-error.d.ts +0 -0
- package/dist/clean-arch/domain/errors/domain-error.js +0 -0
- package/dist/clean-arch/domain/errors/invalid-password-algorithm-error.d.ts +0 -0
- package/dist/clean-arch/domain/errors/invalid-password-algorithm-error.js +0 -0
- package/dist/clean-arch/domain/errors/invalid-password-length-error.d.ts +0 -0
- package/dist/clean-arch/domain/errors/invalid-password-length-error.js +0 -0
- package/dist/clean-arch/domain/errors/validation-error.d.ts +0 -0
- package/dist/clean-arch/domain/errors/validation-error.js +0 -0
- package/dist/clean-arch/domain/events/domain-event.d.ts +0 -0
- package/dist/clean-arch/domain/events/domain-event.js +0 -0
- package/dist/clean-arch/domain/factories/create-password-factory.d.ts +0 -0
- package/dist/clean-arch/domain/factories/create-password-factory.js +0 -0
- package/dist/clean-arch/domain/factories/random-password-temporary-factory.d.ts +0 -0
- package/dist/clean-arch/domain/factories/random-password-temporary-factory.js +0 -0
- package/dist/clean-arch/domain/types/optional.d.ts +0 -0
- package/dist/clean-arch/domain/types/optional.js +0 -0
- package/dist/clean-arch/domain/value-objects/password.d.ts +0 -0
- package/dist/clean-arch/domain/value-objects/password.js +0 -0
- package/dist/clean-arch/domain/value-objects/pbkdf2-password.d.ts +0 -0
- package/dist/clean-arch/domain/value-objects/pbkdf2-password.js +0 -0
- package/dist/clean-arch/domain/value-objects/sha1-password.d.ts +0 -0
- package/dist/clean-arch/domain/value-objects/sha1-password.js +0 -0
- package/dist/clean-arch/infra/adapters/express-adapter.d.ts +0 -0
- package/dist/clean-arch/infra/adapters/express-adapter.js +0 -0
- package/dist/clean-arch/infra/adapters/fastify-adapter.d.ts +0 -0
- package/dist/clean-arch/infra/adapters/fastify-adapter.js +0 -0
- package/dist/clean-arch/infra/authorizations/authorization.d.ts +0 -0
- package/dist/clean-arch/infra/authorizations/authorization.js +0 -0
- package/dist/clean-arch/infra/authorizations/authorizer.d.ts +0 -0
- package/dist/clean-arch/infra/authorizations/authorizer.js +0 -0
- package/dist/clean-arch/infra/authorizations/authorizer.spec.d.ts +0 -0
- package/dist/clean-arch/infra/authorizations/authorizer.spec.js +0 -0
- package/dist/clean-arch/infra/authorizations/not-allowed.d.ts +0 -0
- package/dist/clean-arch/infra/authorizations/not-allowed.js +0 -0
- package/dist/clean-arch/infra/errors/infra-error.d.ts +0 -0
- package/dist/clean-arch/infra/errors/infra-error.js +0 -0
- package/dist/clean-arch/infra/http/controller.d.ts +0 -0
- package/dist/clean-arch/infra/http/controller.js +0 -0
- package/dist/clean-arch/infra/http/handle-bool-filter.d.ts +0 -0
- package/dist/clean-arch/infra/http/handle-bool-filter.js +0 -0
- package/dist/clean-arch/infra/http/handle-is-active-query.d.ts +0 -0
- package/dist/clean-arch/infra/http/handle-is-active-query.js +0 -0
- package/dist/clean-arch/infra/http/handle-sort-param-query.d.ts +0 -0
- package/dist/clean-arch/infra/http/handle-sort-param-query.js +0 -0
- package/dist/clean-arch/infra/http/handle-user-headers.d.ts +0 -0
- package/dist/clean-arch/infra/http/handle-user-headers.js +0 -0
- package/dist/clean-arch/infra/http/health-connections.d.ts +0 -0
- package/dist/clean-arch/infra/http/health-connections.js +0 -0
- package/dist/clean-arch/infra/http/http.d.ts +0 -0
- package/dist/clean-arch/infra/http/http.js +0 -0
- package/dist/clean-arch/infra/queue/create-consumers.d.ts +0 -0
- package/dist/clean-arch/infra/queue/create-consumers.js +0 -0
- package/dist/clean-arch/infra/queue/in-memory/in-memory-queue.d.ts +0 -0
- package/dist/clean-arch/infra/queue/in-memory/in-memory-queue.js +0 -0
- package/dist/clean-arch/infra/queue/queue-controller.d.ts +0 -0
- package/dist/clean-arch/infra/queue/queue-controller.js +0 -0
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.d.ts +4 -2
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.js +29 -14
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.spec.d.ts +0 -0
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.spec.js +0 -0
- package/dist/clean-arch/shared/pagination/dto-response.d.ts +0 -0
- package/dist/clean-arch/shared/pagination/dto-response.js +0 -0
- package/dist/clean-arch/shared/pagination/get-take-and-skip.d.ts +0 -0
- package/dist/clean-arch/shared/pagination/get-take-and-skip.js +0 -0
- package/dist/clean-arch/shared/pagination/pagination.d.ts +0 -0
- package/dist/clean-arch/shared/pagination/pagination.js +0 -0
- package/dist/frameworks/express/api-gateway/mapping-model.d.ts +0 -0
- package/dist/frameworks/express/api-gateway/mapping-model.js +0 -0
- package/dist/frameworks/express/api-gateway/mapping-model.spec.d.ts +0 -0
- package/dist/frameworks/express/api-gateway/mapping-model.spec.js +0 -0
- package/dist/frameworks/express/api-gateway/middleware-express.d.ts +0 -0
- package/dist/frameworks/express/api-gateway/middleware-express.js +0 -0
- package/dist/frameworks/express/authorizations/authorization-express.d.ts +0 -0
- package/dist/frameworks/express/authorizations/authorization-express.js +0 -0
- package/dist/frameworks/express/authorizations/authorization-express.spec.d.ts +0 -0
- package/dist/frameworks/express/authorizations/authorization-express.spec.js +0 -0
- package/dist/frameworks/express/authorizations/middleware-express.d.ts +0 -0
- package/dist/frameworks/express/authorizations/middleware-express.js +0 -0
- package/dist/frameworks/express/types.d.ts +0 -0
- package/dist/frameworks/express/types.js +0 -0
- package/dist/frameworks/nest/authorizations/authorization-nest.d.ts +0 -0
- package/dist/frameworks/nest/authorizations/authorization-nest.js +0 -0
- package/dist/frameworks/nest/authorizations/guard-nest.d.ts +0 -0
- package/dist/frameworks/nest/authorizations/guard-nest.js +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +0 -0
- package/dist/infra/authorizations/auth-matcher.d.ts +0 -0
- package/dist/infra/authorizations/auth-matcher.js +0 -0
- package/dist/infra/authorizations/auth-matcher.spec.d.ts +0 -0
- package/dist/infra/authorizations/auth-matcher.spec.js +0 -0
- package/dist/infra/authorizations/validator/api/api-validator.d.ts +0 -0
- package/dist/infra/authorizations/validator/api/api-validator.js +0 -0
- package/dist/infra/authorizations/validator/api/factories/unauthorized-response-factory.d.ts +0 -0
- package/dist/infra/authorizations/validator/api/factories/unauthorized-response-factory.js +0 -0
- package/dist/infra/authorizations/validator/api/factories/unauthorized-response-factory.spec.d.ts +0 -0
- package/dist/infra/authorizations/validator/api/factories/unauthorized-response-factory.spec.js +0 -0
- package/dist/infra/authorizations/validator/auth-validator.d.ts +0 -0
- package/dist/infra/authorizations/validator/auth-validator.js +0 -0
- package/dist/infra/authorizations/validator/auth-validator.spec.d.ts +0 -0
- package/dist/infra/authorizations/validator/auth-validator.spec.js +0 -0
- package/dist/infra/http/api-gateway/mapping-model.d.ts +0 -0
- package/dist/infra/http/api-gateway/mapping-model.js +0 -0
- package/dist/infra/http/api-gateway/mapping-model.spec.d.ts +0 -0
- package/dist/infra/http/api-gateway/mapping-model.spec.js +0 -0
- package/dist/infra/http/errors/api-common-error.d.ts +0 -0
- package/dist/infra/http/errors/api-common-error.js +0 -0
- package/dist/infra/http/errors/api-error.d.ts +0 -0
- package/dist/infra/http/errors/api-error.js +0 -0
- package/dist/infra/http/errors/unauthorized-response.d.ts +0 -0
- package/dist/infra/http/errors/unauthorized-response.js +0 -0
- 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
|
|
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
|
|
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<
|
|
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
|
|
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.
|
|
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
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
122
|
-
this.connection.
|
|
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
|
-
|
|
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
|
|
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
|
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
|
package/dist/infra/authorizations/validator/api/factories/unauthorized-response-factory.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/infra/authorizations/validator/api/factories/unauthorized-response-factory.spec.d.ts
CHANGED
|
File without changes
|
package/dist/infra/authorizations/validator/api/factories/unauthorized-response-factory.spec.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
|
|
File without changes
|