@rafikidota/cuba-ofertas-scraping 0.1.1 → 0.2.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.
@@ -3,6 +3,11 @@ export * from './delayer/delayer.service';
3
3
  export * from './delayer/use-cases/delayer-logger.service';
4
4
  export * from './delayer/use-cases/delayer-mapper.service';
5
5
  export * from './delayer/use-cases/delayer-sleeper.service';
6
+ export * from './processor/enum/queue.name';
7
+ export * from './processor/enum/queue.token';
8
+ export * from './processor/enum/queue.type';
9
+ export * from './processor/processor.module';
10
+ export * from './processor/processor.service';
6
11
  export * from './rabbitmq/env/rabbitmq.env.config';
7
12
  export * from './rabbitmq/env/rabbitmq.env.validation';
8
13
  export * from './rabbitmq/rabbitmq.module';
@@ -19,6 +19,11 @@ __exportStar(require("./delayer/delayer.service"), exports);
19
19
  __exportStar(require("./delayer/use-cases/delayer-logger.service"), exports);
20
20
  __exportStar(require("./delayer/use-cases/delayer-mapper.service"), exports);
21
21
  __exportStar(require("./delayer/use-cases/delayer-sleeper.service"), exports);
22
+ __exportStar(require("./processor/enum/queue.name"), exports);
23
+ __exportStar(require("./processor/enum/queue.token"), exports);
24
+ __exportStar(require("./processor/enum/queue.type"), exports);
25
+ __exportStar(require("./processor/processor.module"), exports);
26
+ __exportStar(require("./processor/processor.service"), exports);
22
27
  __exportStar(require("./rabbitmq/env/rabbitmq.env.config"), exports);
23
28
  __exportStar(require("./rabbitmq/env/rabbitmq.env.validation"), exports);
24
29
  __exportStar(require("./rabbitmq/rabbitmq.module"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,4DAA0C;AAC1C,6EAA2D;AAC3D,6EAA2D;AAC3D,8EAA4D;AAE5D,qEAAmD;AACnD,yEAAuD;AACvD,6DAA2C;AAC3C,8DAA4C;AAE5C,2DAAyC;AACzC,4DAA0C;AAE1C,qEAAmD;AACnD,yEAAuD;AACvD,6DAA2C;AAC3C,8DAA4C;AAE5C,uEAAqD;AACrD,2EAAyD;AACzD,+DAA6C;AAC7C,gEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,4DAA0C;AAC1C,6EAA2D;AAC3D,6EAA2D;AAC3D,8EAA4D;AAE5D,8DAA4C;AAC5C,+DAA6C;AAC7C,8DAA4C;AAC5C,+DAA6C;AAC7C,gEAA8C;AAE9C,qEAAmD;AACnD,yEAAuD;AACvD,6DAA2C;AAC3C,8DAA4C;AAE5C,2DAAyC;AACzC,4DAA0C;AAE1C,qEAAmD;AACnD,yEAAuD;AACvD,6DAA2C;AAC3C,8DAA4C;AAE5C,uEAAqD;AACrD,2EAAyD;AACzD,+DAA6C;AAC7C,gEAA8C"}
@@ -0,0 +1,5 @@
1
+ export declare enum QueueName {
2
+ DEV = "processor-dev",
3
+ QA = "processor-qa",
4
+ PROD = "processor-prod"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueueName = void 0;
4
+ var QueueName;
5
+ (function (QueueName) {
6
+ QueueName["DEV"] = "processor-dev";
7
+ QueueName["QA"] = "processor-qa";
8
+ QueueName["PROD"] = "processor-prod";
9
+ })(QueueName || (exports.QueueName = QueueName = {}));
10
+ //# sourceMappingURL=queue.name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.name.js","sourceRoot":"","sources":["../../../../src/modules/processor/enum/queue.name.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;AACzB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB"}
@@ -0,0 +1,5 @@
1
+ export declare enum QueueToken {
2
+ DEV = "RABBITMQ_DEV",
3
+ QA = "RABBITMQ_QA",
4
+ PROD = "RABBITMQ_PROD"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueueToken = void 0;
4
+ var QueueToken;
5
+ (function (QueueToken) {
6
+ QueueToken["DEV"] = "RABBITMQ_DEV";
7
+ QueueToken["QA"] = "RABBITMQ_QA";
8
+ QueueToken["PROD"] = "RABBITMQ_PROD";
9
+ })(QueueToken || (exports.QueueToken = QueueToken = {}));
10
+ //# sourceMappingURL=queue.token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.token.js","sourceRoot":"","sources":["../../../../src/modules/processor/enum/queue.token.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,kCAAoB,CAAA;IACpB,gCAAkB,CAAA;IAClB,oCAAsB,CAAA;AACxB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"}
@@ -0,0 +1,5 @@
1
+ export declare enum QueueType {
2
+ DEV = "dev",
3
+ QA = "qa",
4
+ PROD = "prod"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueueType = void 0;
4
+ var QueueType;
5
+ (function (QueueType) {
6
+ QueueType["DEV"] = "dev";
7
+ QueueType["QA"] = "qa";
8
+ QueueType["PROD"] = "prod";
9
+ })(QueueType || (exports.QueueType = QueueType = {}));
10
+ //# sourceMappingURL=queue.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.type.js","sourceRoot":"","sources":["../../../../src/modules/processor/enum/queue.type.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,sBAAS,CAAA;IACT,0BAAa,CAAA;AACf,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB"}
@@ -0,0 +1,2 @@
1
+ export declare class ProcessorModule {
2
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ProcessorModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const rabbitmq_module_1 = require("../rabbitmq/rabbitmq.module");
12
+ const processor_service_1 = require("./processor.service");
13
+ let ProcessorModule = class ProcessorModule {
14
+ };
15
+ exports.ProcessorModule = ProcessorModule;
16
+ exports.ProcessorModule = ProcessorModule = __decorate([
17
+ (0, common_1.Module)({
18
+ imports: [
19
+ rabbitmq_module_1.RabbitMQModule.registerQueue('processor-dev', 'RABBITMQ_DEV'),
20
+ rabbitmq_module_1.RabbitMQModule.registerQueue('processor-qa', 'RABBITMQ_QA'),
21
+ rabbitmq_module_1.RabbitMQModule.registerQueue('processor-prod', 'RABBITMQ_PROD'),
22
+ ],
23
+ providers: [processor_service_1.ProcessorService],
24
+ exports: [processor_service_1.ProcessorService],
25
+ })
26
+ ], ProcessorModule);
27
+ //# sourceMappingURL=processor.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.module.js","sourceRoot":"","sources":["../../../src/modules/processor/processor.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,iEAA6D;AAC7D,2DAAuD;AAWhD,IAAM,eAAe,GAArB,MAAM,eAAe;CAAG,CAAA;AAAlB,0CAAe;0BAAf,eAAe;IAT3B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,gCAAc,CAAC,aAAa,CAAC,eAAe,EAAE,cAAc,CAAC;YAC7D,gCAAc,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC;YAC3D,gCAAc,CAAC,aAAa,CAAC,gBAAgB,EAAE,eAAe,CAAC;SAChE;QACD,SAAS,EAAE,CAAC,oCAAgB,CAAC;QAC7B,OAAO,EAAE,CAAC,oCAAgB,CAAC;KAC5B,CAAC;GACW,eAAe,CAAG"}
@@ -0,0 +1,15 @@
1
+ import { OnModuleInit } from '@nestjs/common';
2
+ import { ClientProxy } from '@nestjs/microservices';
3
+ import { ConfigService } from '@nestjs/config';
4
+ export declare class ProcessorService implements OnModuleInit {
5
+ private readonly config;
6
+ private readonly dev;
7
+ private readonly qa;
8
+ private readonly prod;
9
+ private readonly logger;
10
+ private enabledQueues;
11
+ private clientMap;
12
+ constructor(config: ConfigService, dev: ClientProxy, qa: ClientProxy, prod: ClientProxy);
13
+ onModuleInit(): void;
14
+ send(data: any): Promise<void>;
15
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var ProcessorService_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ProcessorService = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ const microservices_1 = require("@nestjs/microservices");
19
+ const config_1 = require("@nestjs/config");
20
+ const rxjs_1 = require("rxjs");
21
+ const queue_type_1 = require("./enum/queue.type");
22
+ const queue_name_1 = require("./enum/queue.name");
23
+ const queue_token_1 = require("./enum/queue.token");
24
+ let ProcessorService = ProcessorService_1 = class ProcessorService {
25
+ constructor(config, dev, qa, prod) {
26
+ this.config = config;
27
+ this.dev = dev;
28
+ this.qa = qa;
29
+ this.prod = prod;
30
+ this.enabledQueues = new Set();
31
+ this.clientMap = new Map();
32
+ const options = { timestamp: true };
33
+ this.logger = new common_1.Logger(ProcessorService_1.name, options);
34
+ }
35
+ onModuleInit() {
36
+ const queues = this.config.get('RABBITMQ_QUEUES');
37
+ this.clientMap.set(queue_type_1.QueueType.DEV, this.dev);
38
+ this.clientMap.set(queue_type_1.QueueType.QA, this.qa);
39
+ this.clientMap.set(queue_type_1.QueueType.PROD, this.prod);
40
+ queues.forEach((queue) => {
41
+ switch (queue) {
42
+ case queue_name_1.QueueName.DEV:
43
+ this.enabledQueues.add(queue_type_1.QueueType.DEV);
44
+ break;
45
+ case queue_name_1.QueueName.QA:
46
+ this.enabledQueues.add(queue_type_1.QueueType.QA);
47
+ break;
48
+ case queue_name_1.QueueName.PROD:
49
+ this.enabledQueues.add(queue_type_1.QueueType.PROD);
50
+ break;
51
+ default:
52
+ this.logger.warn(`Unknown queue in RABBITMQ_QUEUES: ${queue}`);
53
+ }
54
+ });
55
+ }
56
+ async send(data) {
57
+ const cmd = { cmd: 'scraping.completed' };
58
+ const promises = [];
59
+ this.enabledQueues.forEach((queue) => {
60
+ const client = this.clientMap.get(queue);
61
+ if (client) {
62
+ this.logger.log(`Sending data to ${queue} queue`);
63
+ promises.push(client.send(cmd, data));
64
+ }
65
+ });
66
+ if (promises.length > 0) {
67
+ await Promise.all(promises.map((x) => (0, rxjs_1.firstValueFrom)(x)));
68
+ }
69
+ }
70
+ };
71
+ exports.ProcessorService = ProcessorService;
72
+ exports.ProcessorService = ProcessorService = ProcessorService_1 = __decorate([
73
+ (0, common_1.Injectable)(),
74
+ __param(1, (0, common_1.Inject)(queue_token_1.QueueToken.DEV)),
75
+ __param(2, (0, common_1.Inject)(queue_token_1.QueueToken.QA)),
76
+ __param(3, (0, common_1.Inject)(queue_token_1.QueueToken.PROD)),
77
+ __metadata("design:paramtypes", [config_1.ConfigService,
78
+ microservices_1.ClientProxy,
79
+ microservices_1.ClientProxy,
80
+ microservices_1.ClientProxy])
81
+ ], ProcessorService);
82
+ //# sourceMappingURL=processor.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.service.js","sourceRoot":"","sources":["../../../src/modules/processor/processor.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rafikidota/cuba-ofertas-scraping",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Sometimes, the best way to solve your own problems is to help someone else.",
5
5
  "repository": {
6
6
  "type": "git",