@rafikidota/cuba-ofertas-scraping 0.53.1 → 0.55.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.
- package/dist/common/class/cloudflare-block.d.ts +12 -0
- package/dist/common/class/cloudflare-block.js +16 -0
- package/dist/common/class/cloudflare-block.js.map +1 -0
- package/dist/common/enum/shop-slug.enum.d.ts +4 -1
- package/dist/common/enum/shop-slug.enum.js +3 -0
- package/dist/common/enum/shop-slug.enum.js.map +1 -1
- package/dist/common/interface/cloudflare-block.interface.d.ts +8 -0
- package/dist/common/interface/cloudflare-block.interface.js +3 -0
- package/dist/common/interface/cloudflare-block.interface.js.map +1 -0
- package/dist/modules/cloudflare/cloudflare.module.js +2 -1
- package/dist/modules/cloudflare/cloudflare.module.js.map +1 -1
- package/dist/modules/cloudflare/cloudflare.service.d.ts +2 -2
- package/dist/modules/cloudflare/cloudflare.service.js +6 -6
- package/dist/modules/cloudflare/cloudflare.service.js.map +1 -1
- package/dist/modules/cloudflare/services/cloudflare-repository.service.d.ts +8 -8
- package/dist/modules/cloudflare/services/cloudflare-repository.service.js +46 -26
- package/dist/modules/cloudflare/services/cloudflare-repository.service.js.map +1 -1
- package/dist/modules/repository/config/database.config.d.ts +2 -1
- package/dist/modules/repository/config/database.config.js +2 -0
- package/dist/modules/repository/config/database.config.js.map +1 -1
- package/dist/modules/repository/entities/cloudflare-block.entity.d.ts +8 -0
- package/dist/modules/repository/entities/cloudflare-block.entity.js +44 -0
- package/dist/modules/repository/entities/cloudflare-block.entity.js.map +1 -0
- package/dist/modules/repository/repository.module.js +3 -0
- package/dist/modules/repository/repository.module.js.map +1 -1
- package/dist/modules/repository/services/cloudflare-block.repository.service.d.ts +16 -0
- package/dist/modules/repository/services/cloudflare-block.repository.service.js +52 -0
- package/dist/modules/repository/services/cloudflare-block.repository.service.js.map +1 -0
- package/dist/modules/storage/storage.service.js +2 -2
- package/dist/modules/storage/storage.service.js.map +1 -1
- package/package.json +8 -8
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ICloudflareBlock } from '../interface/cloudflare-block.interface';
|
|
2
|
+
export declare class CloudflareBlock implements ICloudflareBlock {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly url: string;
|
|
5
|
+
readonly method: string;
|
|
6
|
+
readonly body?: string;
|
|
7
|
+
readonly count: number;
|
|
8
|
+
readonly timestamp: Date;
|
|
9
|
+
constructor(data: Partial<ICloudflareBlock>);
|
|
10
|
+
update(data: Partial<ICloudflareBlock>): void;
|
|
11
|
+
getData(): ICloudflareBlock;
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CloudflareBlock = void 0;
|
|
4
|
+
class CloudflareBlock {
|
|
5
|
+
constructor(data) {
|
|
6
|
+
Object.assign(this, data);
|
|
7
|
+
}
|
|
8
|
+
update(data) {
|
|
9
|
+
Object.assign(this, data);
|
|
10
|
+
}
|
|
11
|
+
getData() {
|
|
12
|
+
return this;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.CloudflareBlock = CloudflareBlock;
|
|
16
|
+
//# sourceMappingURL=cloudflare-block.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare-block.js","sourceRoot":"","sources":["../../../src/common/class/cloudflare-block.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAQ1B,YAAY,IAA+B;QACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,IAA+B;QAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnBD,0CAmBC"}
|
|
@@ -12,5 +12,8 @@ var ShopSlugEnum;
|
|
|
12
12
|
ShopSlugEnum["LAJABALINA"] = "jabalina";
|
|
13
13
|
ShopSlugEnum["MIHOGAR53"] = "mh53";
|
|
14
14
|
ShopSlugEnum["MALLHABANA"] = "mallhabana";
|
|
15
|
+
ShopSlugEnum["NERCADO"] = "nercado";
|
|
16
|
+
ShopSlugEnum["CUBAMAX"] = "cubamax";
|
|
17
|
+
ShopSlugEnum["MERCAVANA"] = "mercavana";
|
|
15
18
|
})(ShopSlugEnum || (exports.ShopSlugEnum = ShopSlugEnum = {}));
|
|
16
19
|
//# sourceMappingURL=shop-slug.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shop-slug.enum.js","sourceRoot":"","sources":["../../../src/common/enum/shop-slug.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"shop-slug.enum.js","sourceRoot":"","sources":["../../../src/common/enum/shop-slug.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAaX;AAbD,WAAY,YAAY;IACtB,sCAAsB,CAAA;IACtB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,kCAAkB,CAAA;IAClB,yCAAyB,CAAA;IACzB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;AACzB,CAAC,EAbW,YAAY,4BAAZ,YAAY,QAavB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare-block.interface.js","sourceRoot":"","sources":["../../../src/common/interface/cloudflare-block.interface.ts"],"names":[],"mappings":""}
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.CloudflareModule = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const delayer_module_1 = require("../delayer/delayer.module");
|
|
12
|
+
const repository_module_1 = require("../repository/repository.module");
|
|
12
13
|
const cloudflare_service_1 = require("./cloudflare.service");
|
|
13
14
|
const check_cloudflare_block_use_case_1 = require("./use-cases/check-cloudflare-block.use-case");
|
|
14
15
|
const normalize_cloudflare_response_use_case_1 = require("./use-cases/normalize-cloudflare-response.use-case");
|
|
@@ -19,7 +20,7 @@ let CloudflareModule = class CloudflareModule {
|
|
|
19
20
|
exports.CloudflareModule = CloudflareModule;
|
|
20
21
|
exports.CloudflareModule = CloudflareModule = __decorate([
|
|
21
22
|
(0, common_1.Module)({
|
|
22
|
-
imports: [delayer_module_1.DelayerModule],
|
|
23
|
+
imports: [delayer_module_1.DelayerModule, repository_module_1.RepositoryModule],
|
|
23
24
|
providers: [
|
|
24
25
|
cloudflare_service_1.CloudflareService,
|
|
25
26
|
normalize_cloudflare_response_use_case_1.NormalizeCloudflareResponseUseCase,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare.module.js","sourceRoot":"","sources":["../../../src/modules/cloudflare/cloudflare.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,8DAA0D;AAC1D,6DAAyD;AACzD,iGAA0F;AAC1F,+GAAwG;AACxG,uFAAiF;AACjF,4FAAuF;AAahF,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAX5B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,8BAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cloudflare.module.js","sourceRoot":"","sources":["../../../src/modules/cloudflare/cloudflare.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,8DAA0D;AAC1D,uEAAmE;AACnE,6DAAyD;AACzD,iGAA0F;AAC1F,+GAAwG;AACxG,uFAAiF;AACjF,4FAAuF;AAahF,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAX5B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,8BAAa,EAAE,oCAAgB,CAAC;QAC1C,SAAS,EAAE;YACT,sCAAiB;YACjB,2EAAkC;YAClC,6DAA2B;YAC3B,oDAAuB;YACvB,2DAA2B;SAC5B;QACD,OAAO,EAAE,CAAC,sCAAiB,CAAC;KAC7B,CAAC;GACW,gBAAgB,CAAG"}
|
|
@@ -15,12 +15,12 @@ export declare class CloudflareService {
|
|
|
15
15
|
private logger;
|
|
16
16
|
constructor(delayer: DelayerService, checker: CheckCloudflareBlockUseCase, reporter: ReportCloudflareUseCase, repository: CloudflareRepositoryService, normalizer: NormalizeCloudflareResponseUseCase);
|
|
17
17
|
check(response: CrawleeResponse): boolean;
|
|
18
|
-
|
|
18
|
+
getBlocks(): Promise<import("./types/block-info").BlockInfo[]>;
|
|
19
19
|
handle(response: CrawleeResponse, blockOptions?: IHandleBlockOption): Promise<void>;
|
|
20
20
|
report(stats: FinalStatistics): {
|
|
21
21
|
blocks: number;
|
|
22
22
|
total: number;
|
|
23
23
|
percent: number;
|
|
24
24
|
};
|
|
25
|
-
reset(): void
|
|
25
|
+
reset(): Promise<void>;
|
|
26
26
|
}
|
|
@@ -33,23 +33,23 @@ let CloudflareService = CloudflareService_1 = class CloudflareService {
|
|
|
33
33
|
check(response) {
|
|
34
34
|
return this.checker.execute(response);
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
return this.repository.
|
|
36
|
+
async getBlocks() {
|
|
37
|
+
return this.repository.getBlocks();
|
|
38
38
|
}
|
|
39
39
|
async handle(response, blockOptions) {
|
|
40
40
|
const normalized = this.normalizer.execute(response);
|
|
41
41
|
const { options } = new handle_request_types_1.HandleBlockOption(blockOptions);
|
|
42
42
|
const { url } = normalized;
|
|
43
43
|
const { method, body, delay } = options;
|
|
44
|
-
this.repository.add({ url, method, body });
|
|
44
|
+
await this.repository.add({ url, method, body });
|
|
45
45
|
this.logger.log(`🚧 ${url}`);
|
|
46
46
|
return await this.delayer.wait(url, delay?.min, delay?.max);
|
|
47
47
|
}
|
|
48
48
|
report(stats) {
|
|
49
49
|
return this.reporter.execute(stats);
|
|
50
50
|
}
|
|
51
|
-
reset() {
|
|
52
|
-
this.repository.reset();
|
|
51
|
+
async reset() {
|
|
52
|
+
await this.repository.reset();
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
55
|
exports.CloudflareService = CloudflareService;
|
|
@@ -57,7 +57,7 @@ __decorate([
|
|
|
57
57
|
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.RESET),
|
|
58
58
|
__metadata("design:type", Function),
|
|
59
59
|
__metadata("design:paramtypes", []),
|
|
60
|
-
__metadata("design:returntype",
|
|
60
|
+
__metadata("design:returntype", Promise)
|
|
61
61
|
], CloudflareService.prototype, "reset", null);
|
|
62
62
|
exports.CloudflareService = CloudflareService = CloudflareService_1 = __decorate([
|
|
63
63
|
(0, common_1.Injectable)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare.service.js","sourceRoot":"","sources":["../../../src/modules/cloudflare/cloudflare.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAgD;AAGhD,gEAA4D;AAC5D,uDAAoD;AACpD,iGAA0F;AAC1F,uFAAiF;AACjF,4FAAuF;AACvF,+GAAwG;AAKxG,uEAAiE;AACjE,6DAA6D;AAGtD,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAG5B,YACmB,OAAuB,EACvB,OAAoC,EACpC,QAAiC,EACjC,UAAuC,EACvC,UAA8C;QAJ9C,YAAO,GAAP,OAAO,CAAgB;QACvB,YAAO,GAAP,OAAO,CAA6B;QACpC,aAAQ,GAAR,QAAQ,CAAyB;QACjC,eAAU,GAAV,UAAU,CAA6B;QACvC,eAAU,GAAV,UAAU,CAAoC;QAPzD,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAQjD,CAAC;IAEJ,KAAK,CAAC,QAAyB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"cloudflare.service.js","sourceRoot":"","sources":["../../../src/modules/cloudflare/cloudflare.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAgD;AAGhD,gEAA4D;AAC5D,uDAAoD;AACpD,iGAA0F;AAC1F,uFAAiF;AACjF,4FAAuF;AACvF,+GAAwG;AAKxG,uEAAiE;AACjE,6DAA6D;AAGtD,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAG5B,YACmB,OAAuB,EACvB,OAAoC,EACpC,QAAiC,EACjC,UAAuC,EACvC,UAA8C;QAJ9C,YAAO,GAAP,OAAO,CAAgB;QACvB,YAAO,GAAP,OAAO,CAA6B;QACpC,aAAQ,GAAR,QAAQ,CAAyB;QACjC,eAAU,GAAV,UAAU,CAA6B;QACvC,eAAU,GAAV,UAAU,CAAoC;QAPzD,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAQjD,CAAC;IAEJ,KAAK,CAAC,QAAyB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAyB,EAAE,YAAiC;QACvE,MAAM,UAAU,GAAuB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,wCAAiB,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;QAC3B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAE7B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,KAAsB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF,CAAA;AAtCY,8CAAiB;AAmCtB;IADL,IAAA,uBAAO,EAAC,0BAAa,CAAC,KAAK,CAAC;;;;8CAG5B;4BArCU,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAKiB,gCAAc;QACd,6DAA2B;QAC1B,oDAAuB;QACrB,2DAA2B;QAC3B,2EAAkC;GARtD,iBAAiB,CAsC7B"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { BlockInfo } from '../types/block-info';
|
|
2
|
+
import { CloudflareBlockRepositoryService } from '../../repository/services/cloudflare-block.repository.service';
|
|
2
3
|
export declare class CloudflareRepositoryService {
|
|
3
|
-
private
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
get blocks(): BlockInfo[];
|
|
4
|
+
private readonly repo;
|
|
5
|
+
constructor(repo: CloudflareBlockRepositoryService);
|
|
6
|
+
getSize(): Promise<number>;
|
|
7
|
+
getBlocks(): Promise<BlockInfo[]>;
|
|
8
8
|
private hash;
|
|
9
|
-
add(block: BlockInfo): void
|
|
10
|
-
exists(block: BlockInfo): boolean
|
|
11
|
-
reset(): void
|
|
9
|
+
add(block: BlockInfo): Promise<void>;
|
|
10
|
+
exists(block: BlockInfo): Promise<boolean>;
|
|
11
|
+
reset(): Promise<void>;
|
|
12
12
|
}
|
|
@@ -8,48 +8,68 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var CloudflareRepositoryService_1;
|
|
12
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
12
|
exports.CloudflareRepositoryService = void 0;
|
|
14
13
|
const common_1 = require("@nestjs/common");
|
|
15
14
|
const crypto_1 = require("crypto");
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
this.
|
|
15
|
+
const cloudflare_block_1 = require("../../../common/class/cloudflare-block");
|
|
16
|
+
const cloudflare_block_repository_service_1 = require("../../repository/services/cloudflare-block.repository.service");
|
|
17
|
+
let CloudflareRepositoryService = class CloudflareRepositoryService {
|
|
18
|
+
constructor(repo) {
|
|
19
|
+
this.repo = repo;
|
|
21
20
|
}
|
|
22
|
-
|
|
23
|
-
return this.
|
|
21
|
+
async getSize() {
|
|
22
|
+
return this.repo.count();
|
|
24
23
|
}
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
async getBlocks() {
|
|
25
|
+
const blocks = await this.repo.find();
|
|
26
|
+
return blocks.map((block) => {
|
|
27
|
+
const { url, method, body, count, timestamp } = block;
|
|
28
|
+
return { url, method, body, count, timestamp };
|
|
29
|
+
});
|
|
27
30
|
}
|
|
28
31
|
hash(block) {
|
|
29
|
-
const data = JSON.stringify(
|
|
32
|
+
const data = JSON.stringify({
|
|
33
|
+
url: block.url,
|
|
34
|
+
method: block.method,
|
|
35
|
+
body: block.body,
|
|
36
|
+
});
|
|
30
37
|
return (0, crypto_1.createHash)('sha256').update(data).digest('hex');
|
|
31
38
|
}
|
|
32
|
-
add(block) {
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
this.map.set(key, {
|
|
37
|
-
...block,
|
|
38
|
-
count: previous + 1,
|
|
39
|
-
timestamp: new Date(),
|
|
39
|
+
async add(block) {
|
|
40
|
+
const id = this.hash(block);
|
|
41
|
+
const [existing] = await this.repo.find({
|
|
42
|
+
where: { id },
|
|
40
43
|
});
|
|
44
|
+
if (existing) {
|
|
45
|
+
const { count = 1 } = existing;
|
|
46
|
+
const updated = new cloudflare_block_1.CloudflareBlock({
|
|
47
|
+
...existing.getData(),
|
|
48
|
+
count: count + 1,
|
|
49
|
+
timestamp: new Date(),
|
|
50
|
+
});
|
|
51
|
+
return await this.repo.update([updated]);
|
|
52
|
+
}
|
|
53
|
+
const { url, method, body, count = 1 } = block;
|
|
54
|
+
const timestamp = new Date();
|
|
55
|
+
const props = { id, url, method, body, count, timestamp };
|
|
56
|
+
const newBlock = new cloudflare_block_1.CloudflareBlock(props);
|
|
57
|
+
return await this.repo.save([newBlock]);
|
|
41
58
|
}
|
|
42
|
-
exists(block) {
|
|
43
|
-
const
|
|
44
|
-
|
|
59
|
+
async exists(block) {
|
|
60
|
+
const id = this.hash(block);
|
|
61
|
+
const count = await this.repo.count({
|
|
62
|
+
where: { id },
|
|
63
|
+
});
|
|
64
|
+
return count > 0;
|
|
45
65
|
}
|
|
46
|
-
reset() {
|
|
47
|
-
this.
|
|
66
|
+
async reset() {
|
|
67
|
+
await this.repo.reset();
|
|
48
68
|
}
|
|
49
69
|
};
|
|
50
70
|
exports.CloudflareRepositoryService = CloudflareRepositoryService;
|
|
51
|
-
exports.CloudflareRepositoryService = CloudflareRepositoryService =
|
|
71
|
+
exports.CloudflareRepositoryService = CloudflareRepositoryService = __decorate([
|
|
52
72
|
(0, common_1.Injectable)(),
|
|
53
|
-
__metadata("design:paramtypes", [])
|
|
73
|
+
__metadata("design:paramtypes", [cloudflare_block_repository_service_1.CloudflareBlockRepositoryService])
|
|
54
74
|
], CloudflareRepositoryService);
|
|
55
75
|
//# sourceMappingURL=cloudflare-repository.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-repository.service.js","sourceRoot":"","sources":["../../../../src/modules/cloudflare/services/cloudflare-repository.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cloudflare-repository.service.js","sourceRoot":"","sources":["../../../../src/modules/cloudflare/services/cloudflare-repository.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
|
|
2
2
|
import { ImageEntity } from '../entities/image.entity';
|
|
3
3
|
import { ProvinceEntity } from '../entities/province.entity';
|
|
4
|
-
|
|
4
|
+
import { CloudflareBlockEntity } from '../entities/cloudflare-block.entity';
|
|
5
|
+
export declare const ENTITIES: (typeof ProvinceEntity | typeof ImageEntity | typeof CloudflareBlockEntity)[];
|
|
5
6
|
export declare const DATABASE_PATH = "./output/scraping.db";
|
|
6
7
|
export declare const DefaultDatabaseConfig: TypeOrmModuleOptions;
|
|
@@ -6,12 +6,14 @@ const category_entity_1 = require("../entities/category.entity");
|
|
|
6
6
|
const image_entity_1 = require("../entities/image.entity");
|
|
7
7
|
const provider_entity_1 = require("../entities/provider.entity");
|
|
8
8
|
const province_entity_1 = require("../entities/province.entity");
|
|
9
|
+
const cloudflare_block_entity_1 = require("../entities/cloudflare-block.entity");
|
|
9
10
|
exports.ENTITIES = [
|
|
10
11
|
product_entity_1.ProductEntity,
|
|
11
12
|
category_entity_1.CategoryEntity,
|
|
12
13
|
image_entity_1.ImageEntity,
|
|
13
14
|
provider_entity_1.ProviderEntity,
|
|
14
15
|
province_entity_1.ProvinceEntity,
|
|
16
|
+
cloudflare_block_entity_1.CloudflareBlockEntity,
|
|
15
17
|
];
|
|
16
18
|
exports.DATABASE_PATH = './output/scraping.db';
|
|
17
19
|
exports.DefaultDatabaseConfig = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.config.js","sourceRoot":"","sources":["../../../../src/modules/repository/config/database.config.ts"],"names":[],"mappings":";;;AAEA,+DAA2D;AAC3D,iEAA6D;AAC7D,2DAAuD;AACvD,iEAA6D;AAC7D,iEAA6D;
|
|
1
|
+
{"version":3,"file":"database.config.js","sourceRoot":"","sources":["../../../../src/modules/repository/config/database.config.ts"],"names":[],"mappings":";;;AAEA,+DAA2D;AAC3D,iEAA6D;AAC7D,2DAAuD;AACvD,iEAA6D;AAC7D,iEAA6D;AAC7D,iFAA4E;AAE/D,QAAA,QAAQ,GAAG;IACtB,8BAAa;IACb,gCAAc;IACd,0BAAW;IACX,gCAAc;IACd,gCAAc;IACd,+CAAqB;CACtB,CAAC;AAEW,QAAA,aAAa,GAAG,sBAAsB,CAAC;AAEvC,QAAA,qBAAqB,GAAyB;IACzD,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,qBAAa;IACvB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,gBAAQ;CACnB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CloudflareBlockEntity = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
let CloudflareBlockEntity = class CloudflareBlockEntity {
|
|
15
|
+
};
|
|
16
|
+
exports.CloudflareBlockEntity = CloudflareBlockEntity;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, typeorm_1.PrimaryColumn)(),
|
|
19
|
+
__metadata("design:type", String)
|
|
20
|
+
], CloudflareBlockEntity.prototype, "id", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, typeorm_1.Column)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], CloudflareBlockEntity.prototype, "url", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, typeorm_1.Column)(),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], CloudflareBlockEntity.prototype, "method", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], CloudflareBlockEntity.prototype, "body", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, typeorm_1.Column)({ default: 1 }),
|
|
35
|
+
__metadata("design:type", Number)
|
|
36
|
+
], CloudflareBlockEntity.prototype, "count", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, typeorm_1.Column)({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }),
|
|
39
|
+
__metadata("design:type", Date)
|
|
40
|
+
], CloudflareBlockEntity.prototype, "timestamp", void 0);
|
|
41
|
+
exports.CloudflareBlockEntity = CloudflareBlockEntity = __decorate([
|
|
42
|
+
(0, typeorm_1.Entity)('cloudflare_blocks')
|
|
43
|
+
], CloudflareBlockEntity);
|
|
44
|
+
//# sourceMappingURL=cloudflare-block.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare-block.entity.js","sourceRoot":"","sources":["../../../../src/modules/repository/entities/cloudflare-block.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAwD;AAGjD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAkBjC,CAAA;AAlBY,sDAAqB;AAEhC;IADC,IAAA,uBAAa,GAAE;;iDACL;AAGX;IADC,IAAA,gBAAM,GAAE;;kDACG;AAGZ;IADC,IAAA,gBAAM,GAAE;;qDACM;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACb;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oDACT;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BACtD,IAAI;wDAAC;gCAjBL,qBAAqB;IADjC,IAAA,gBAAM,EAAC,mBAAmB,CAAC;GACf,qBAAqB,CAkBjC"}
|
|
@@ -16,6 +16,7 @@ const product_repository_service_1 = require("./services/product.repository.serv
|
|
|
16
16
|
const provider_repository_service_1 = require("./services/provider.repository.service");
|
|
17
17
|
const province_repository_service_1 = require("./services/province.repository.service");
|
|
18
18
|
const image_repository_service_1 = require("./services/image.repository.service");
|
|
19
|
+
const cloudflare_block_repository_service_1 = require("./services/cloudflare-block.repository.service");
|
|
19
20
|
const database_config_1 = require("./config/database.config");
|
|
20
21
|
let RepositoryModule = RepositoryModule_1 = class RepositoryModule {
|
|
21
22
|
static forRoot(config) {
|
|
@@ -34,6 +35,7 @@ let RepositoryModule = RepositoryModule_1 = class RepositoryModule {
|
|
|
34
35
|
product_repository_service_1.ProductRepositoryService,
|
|
35
36
|
provider_repository_service_1.ProviderRepositoryService,
|
|
36
37
|
province_repository_service_1.ProvinceRepositoryService,
|
|
38
|
+
cloudflare_block_repository_service_1.CloudflareBlockRepositoryService,
|
|
37
39
|
],
|
|
38
40
|
exports: [
|
|
39
41
|
typeorm_1.TypeOrmModule,
|
|
@@ -43,6 +45,7 @@ let RepositoryModule = RepositoryModule_1 = class RepositoryModule {
|
|
|
43
45
|
product_repository_service_1.ProductRepositoryService,
|
|
44
46
|
provider_repository_service_1.ProviderRepositoryService,
|
|
45
47
|
province_repository_service_1.ProvinceRepositoryService,
|
|
48
|
+
cloudflare_block_repository_service_1.CloudflareBlockRepositoryService,
|
|
46
49
|
],
|
|
47
50
|
};
|
|
48
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.module.js","sourceRoot":"","sources":["../../../src/modules/repository/repository.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,6CAAsE;AAEtE,6DAAyD;AACzD,wFAAmF;AACnF,sFAAiF;AACjF,wFAAmF;AACnF,wFAAmF;AACnF,kFAA6E;AAC7E,8DAA2E;AAGpE,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAC3B,MAAM,CAAC,OAAO,CAAC,MAAsC;QACnD,MAAM,EAAE,GAAG,EAAE,GAAG,uCAAqB,EAAE,GAAG,MAAM,EAA0B,CAAC;QAE3E,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,kBAAgB;YACxB,OAAO,EAAE;gBACP,uBAAa,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;gBAChC,uBAAa,CAAC,UAAU,CAAC,0BAAQ,CAAC;aACnC;YACD,SAAS,EAAE;gBACT,sCAAiB;gBACjB,uDAAyB;gBACzB,iDAAsB;gBACtB,qDAAwB;gBACxB,uDAAyB;gBACzB,uDAAyB;
|
|
1
|
+
{"version":3,"file":"repository.module.js","sourceRoot":"","sources":["../../../src/modules/repository/repository.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,6CAAsE;AAEtE,6DAAyD;AACzD,wFAAmF;AACnF,sFAAiF;AACjF,wFAAmF;AACnF,wFAAmF;AACnF,kFAA6E;AAC7E,wGAAkG;AAClG,8DAA2E;AAGpE,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAC3B,MAAM,CAAC,OAAO,CAAC,MAAsC;QACnD,MAAM,EAAE,GAAG,EAAE,GAAG,uCAAqB,EAAE,GAAG,MAAM,EAA0B,CAAC;QAE3E,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,kBAAgB;YACxB,OAAO,EAAE;gBACP,uBAAa,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;gBAChC,uBAAa,CAAC,UAAU,CAAC,0BAAQ,CAAC;aACnC;YACD,SAAS,EAAE;gBACT,sCAAiB;gBACjB,uDAAyB;gBACzB,iDAAsB;gBACtB,qDAAwB;gBACxB,uDAAyB;gBACzB,uDAAyB;gBACzB,sEAAgC;aACjC;YACD,OAAO,EAAE;gBACP,uBAAa;gBACb,sCAAiB;gBACjB,uDAAyB;gBACzB,iDAAsB;gBACtB,qDAAwB;gBACxB,uDAAyB;gBACzB,uDAAyB;gBACzB,sEAAgC;aACjC;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAhCY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,gBAAgB,CAgC5B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ConfigService } from '@nestjs/config';
|
|
2
|
+
import { Repository } from 'typeorm';
|
|
3
|
+
import { CloudflareBlock } from '../../../common/class/cloudflare-block';
|
|
4
|
+
import { CloudflareBlockEntity } from '../entities/cloudflare-block.entity';
|
|
5
|
+
import { EntityRepository } from '../entity.repository.service';
|
|
6
|
+
declare const Repo: abstract new (repository: Repository<CloudflareBlockEntity>, config: ConfigService, key: string, label: string) => EntityRepository<CloudflareBlockEntity, CloudflareBlock>;
|
|
7
|
+
export declare class CloudflareBlockRepositoryService extends Repo {
|
|
8
|
+
protected readonly repository: Repository<CloudflareBlockEntity>;
|
|
9
|
+
protected readonly config: ConfigService;
|
|
10
|
+
constructor(repository: Repository<CloudflareBlockEntity>, config: ConfigService);
|
|
11
|
+
map(entity: CloudflareBlockEntity): CloudflareBlock;
|
|
12
|
+
notify(entity: CloudflareBlockEntity): string;
|
|
13
|
+
save(blocks: CloudflareBlock[]): Promise<void>;
|
|
14
|
+
update(blocks: CloudflareBlock[]): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.CloudflareBlockRepositoryService = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const config_1 = require("@nestjs/config");
|
|
18
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
|
+
const typeorm_2 = require("typeorm");
|
|
20
|
+
const cloudflare_block_1 = require("../../../common/class/cloudflare-block");
|
|
21
|
+
const cloudflare_block_entity_1 = require("../entities/cloudflare-block.entity");
|
|
22
|
+
const entity_repository_service_1 = require("../entity.repository.service");
|
|
23
|
+
const Repo = (entity_repository_service_1.EntityRepository);
|
|
24
|
+
const key = 'REPOSITORY_SAVE_CLOUDFLARE_BLOCK_LOG';
|
|
25
|
+
const label = 'cloudflare blocks';
|
|
26
|
+
let CloudflareBlockRepositoryService = class CloudflareBlockRepositoryService extends Repo {
|
|
27
|
+
constructor(repository, config) {
|
|
28
|
+
super(repository, config, key, label);
|
|
29
|
+
this.repository = repository;
|
|
30
|
+
this.config = config;
|
|
31
|
+
}
|
|
32
|
+
map(entity) {
|
|
33
|
+
return new cloudflare_block_1.CloudflareBlock(entity);
|
|
34
|
+
}
|
|
35
|
+
notify(entity) {
|
|
36
|
+
return `${entity.method} ${entity.url}`;
|
|
37
|
+
}
|
|
38
|
+
async save(blocks) {
|
|
39
|
+
await this._save(blocks);
|
|
40
|
+
}
|
|
41
|
+
async update(blocks) {
|
|
42
|
+
await this._update(blocks);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
exports.CloudflareBlockRepositoryService = CloudflareBlockRepositoryService;
|
|
46
|
+
exports.CloudflareBlockRepositoryService = CloudflareBlockRepositoryService = __decorate([
|
|
47
|
+
(0, common_1.Injectable)(),
|
|
48
|
+
__param(0, (0, typeorm_1.InjectRepository)(cloudflare_block_entity_1.CloudflareBlockEntity)),
|
|
49
|
+
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
50
|
+
config_1.ConfigService])
|
|
51
|
+
], CloudflareBlockRepositoryService);
|
|
52
|
+
//# sourceMappingURL=cloudflare-block.repository.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare-block.repository.service.js","sourceRoot":"","sources":["../../../../src/modules/repository/services/cloudflare-block.repository.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;AAC/C,6CAAmD;AACnD,qCAAqC;AAErC,6EAAyE;AACzE,iFAA4E;AAC5E,4EAAgE;AAEhE,MAAM,IAAI,GAAG,CAAA,4CAAwD,CAAA,CAAC;AACtE,MAAM,GAAG,GAAG,sCAAsC,CAAC;AACnD,MAAM,KAAK,GAAG,mBAAmB,CAAC;AAG3B,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,IAAI;IACxD,YAEqB,UAA6C,EAC7C,MAAqB;QAExC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAHnB,eAAU,GAAV,UAAU,CAAmC;QAC7C,WAAM,GAAN,MAAM,CAAe;IAG1C,CAAC;IAED,GAAG,CAAC,MAA6B;QAC/B,OAAO,IAAI,kCAAe,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,MAA6B;QAClC,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAyB;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAyB;QACpC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF,CAAA;AAxBY,4EAAgC;2CAAhC,gCAAgC;IAD5C,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,+CAAqB,CAAC,CAAA;qCACT,oBAAU;QACd,sBAAa;GAJ/B,gCAAgC,CAwB5C"}
|
|
@@ -15,10 +15,10 @@ const common_1 = require("@nestjs/common");
|
|
|
15
15
|
const fs_1 = require("fs");
|
|
16
16
|
const path_1 = require("path");
|
|
17
17
|
const output_1 = require("../../common/constant/output");
|
|
18
|
+
const logger_1 = require("../../common/logger/logger");
|
|
18
19
|
let StorageService = StorageService_1 = class StorageService {
|
|
19
20
|
constructor() {
|
|
20
|
-
|
|
21
|
-
this.logger = new common_1.Logger(StorageService_1.name, options);
|
|
21
|
+
this.logger = new logger_1.Logger(StorageService_1.name);
|
|
22
22
|
}
|
|
23
23
|
async check() {
|
|
24
24
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.service.js","sourceRoot":"","sources":["../../../src/modules/storage/storage.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"storage.service.js","sourceRoot":"","sources":["../../../src/modules/storage/storage.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2BAAoC;AACpC,+BAA4B;AAG5B,yDAA2D;AAE3D,uDAAoD;AAG7C,IAAM,cAAc,sBAApB,MAAM,cAAc;IAGzB;QAFiB,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IAE3C,CAAC;IAER,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC;YACH,MAAM,aAAE,CAAC,MAAM,CAAC,oBAAW,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,aAAE,CAAC,KAAK,CAAC,oBAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAW,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,MAAM,QAAQ,GAAG,GAAG,IAAI,OAAO,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,oBAAW,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAsB;QAC/B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,aAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;YACnD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,OAAO,EAAE,GAAG,KAAc,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AA9CY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;;GACA,cAAc,CA8C1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rafikidota/cuba-ofertas-scraping",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.55.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",
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"module": "./dist/index.js",
|
|
16
16
|
"types": "./dist/index.d.ts",
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@aws-sdk/client-s3": "3.
|
|
19
|
-
"@aws-sdk/s3-request-presigner": "3.
|
|
18
|
+
"@aws-sdk/client-s3": "3.1039.0",
|
|
19
|
+
"@aws-sdk/s3-request-presigner": "3.1039.0",
|
|
20
20
|
"@crawlee/cheerio": "3.16.0",
|
|
21
21
|
"@crawlee/playwright": "3.16.0",
|
|
22
22
|
"@eslint/eslintrc": "3.3.5",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@nestjs/common": "11.1.19",
|
|
26
26
|
"@nestjs/config": "4.0.4",
|
|
27
27
|
"@nestjs/core": "11.1.19",
|
|
28
|
-
"@nestjs/event-emitter": "3.0
|
|
28
|
+
"@nestjs/event-emitter": "3.1.0",
|
|
29
29
|
"@nestjs/microservices": "11.1.19",
|
|
30
30
|
"@nestjs/schedule": "6.1.3",
|
|
31
31
|
"@nestjs/terminus": "11.1.1",
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"@types/archiver": "7.0.0",
|
|
34
34
|
"@types/better-sqlite3": "7.6.13",
|
|
35
35
|
"@types/node": "25.6.0",
|
|
36
|
-
"@typescript-eslint/eslint-plugin": "8.59.
|
|
37
|
-
"@typescript-eslint/parser": "8.59.
|
|
36
|
+
"@typescript-eslint/eslint-plugin": "8.59.1",
|
|
37
|
+
"@typescript-eslint/parser": "8.59.1",
|
|
38
38
|
"archiver": "7.0.1",
|
|
39
|
-
"axios": "1.15.
|
|
39
|
+
"axios": "1.15.2",
|
|
40
40
|
"better-sqlite3": "12.9.0",
|
|
41
41
|
"cheerio": "1.2.0",
|
|
42
42
|
"class-transformer": "0.5.1",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"telegraf": "4.16.3",
|
|
60
60
|
"typeorm": "0.3.28",
|
|
61
61
|
"typescript": "5.9.3",
|
|
62
|
-
"typescript-eslint": "8.59.
|
|
62
|
+
"typescript-eslint": "8.59.1"
|
|
63
63
|
},
|
|
64
64
|
"scripts": {
|
|
65
65
|
"prebuild": "rimraf -rf dist",
|