@rafikidota/cuba-ofertas-scraping 0.35.0 → 0.37.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/modules/repository/config/database.config.d.ts +3 -2
- package/dist/modules/repository/config/database.config.js +11 -1
- package/dist/modules/repository/config/database.config.js.map +1 -1
- package/dist/modules/repository/entities/category.entity.d.ts +6 -0
- package/dist/modules/repository/entities/category.entity.js +36 -0
- package/dist/modules/repository/entities/category.entity.js.map +1 -0
- package/dist/modules/repository/entities/image.entity.d.ts +5 -0
- package/dist/modules/repository/entities/image.entity.js +32 -0
- package/dist/modules/repository/entities/image.entity.js.map +1 -0
- package/dist/modules/repository/entities/product.entity.js +3 -3
- package/dist/modules/repository/entities/product.entity.js.map +1 -1
- package/dist/modules/repository/entities/provider.entity.d.ts +5 -0
- package/dist/modules/repository/entities/provider.entity.js +32 -0
- package/dist/modules/repository/entities/provider.entity.js.map +1 -0
- package/dist/modules/repository/entities/province.entity.d.ts +6 -0
- package/dist/modules/repository/entities/province.entity.js +36 -0
- package/dist/modules/repository/entities/province.entity.js.map +1 -0
- package/dist/modules/repository/repository.service.d.ts +9 -16
- package/dist/modules/repository/repository.service.js +22 -58
- package/dist/modules/repository/repository.service.js.map +1 -1
- package/dist/modules/repository/services/category.repository.service.d.ts +7 -5
- package/dist/modules/repository/services/category.repository.service.js +39 -16
- package/dist/modules/repository/services/category.repository.service.js.map +1 -1
- package/dist/modules/repository/services/image.repository.service.d.ts +7 -5
- package/dist/modules/repository/services/image.repository.service.js +39 -16
- package/dist/modules/repository/services/image.repository.service.js.map +1 -1
- package/dist/modules/repository/services/product.repository.service.js +9 -1
- package/dist/modules/repository/services/product.repository.service.js.map +1 -1
- package/dist/modules/repository/services/provider.repository.service.d.ts +7 -5
- package/dist/modules/repository/services/provider.repository.service.js +39 -16
- package/dist/modules/repository/services/provider.repository.service.js.map +1 -1
- package/dist/modules/repository/services/province.repository.service.d.ts +7 -5
- package/dist/modules/repository/services/province.repository.service.js +39 -16
- package/dist/modules/repository/services/province.repository.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { ImageEntity } from '../entities/image.entity';
|
|
3
|
+
import { ProvinceEntity } from '../entities/province.entity';
|
|
4
|
+
export declare const ENTITIES: (typeof ProvinceEntity | typeof ImageEntity)[];
|
|
4
5
|
export declare const DefaultDatabaseConfig: TypeOrmModuleOptions;
|
|
@@ -2,7 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DefaultDatabaseConfig = exports.ENTITIES = void 0;
|
|
4
4
|
const product_entity_1 = require("../entities/product.entity");
|
|
5
|
-
|
|
5
|
+
const category_entity_1 = require("../entities/category.entity");
|
|
6
|
+
const image_entity_1 = require("../entities/image.entity");
|
|
7
|
+
const provider_entity_1 = require("../entities/provider.entity");
|
|
8
|
+
const province_entity_1 = require("../entities/province.entity");
|
|
9
|
+
exports.ENTITIES = [
|
|
10
|
+
product_entity_1.ProductEntity,
|
|
11
|
+
category_entity_1.CategoryEntity,
|
|
12
|
+
image_entity_1.ImageEntity,
|
|
13
|
+
provider_entity_1.ProviderEntity,
|
|
14
|
+
province_entity_1.ProvinceEntity,
|
|
15
|
+
];
|
|
6
16
|
exports.DefaultDatabaseConfig = {
|
|
7
17
|
type: 'better-sqlite3',
|
|
8
18
|
database: './data/scraping.db',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.config.js","sourceRoot":"","sources":["../../../../src/modules/repository/config/database.config.ts"],"names":[],"mappings":";;;
|
|
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;AAEhD,QAAA,QAAQ,GAAG;IACtB,8BAAa;IACb,gCAAc;IACd,0BAAW;IACX,gCAAc;IACd,gCAAc;CACf,CAAC;AAEW,QAAA,qBAAqB,GAAyB;IACzD,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,oBAAoB;IAC9B,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,gBAAQ;CACnB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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.CategoryEntity = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
let CategoryEntity = class CategoryEntity {
|
|
15
|
+
};
|
|
16
|
+
exports.CategoryEntity = CategoryEntity;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, typeorm_1.PrimaryColumn)(),
|
|
19
|
+
__metadata("design:type", String)
|
|
20
|
+
], CategoryEntity.prototype, "id", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, typeorm_1.Column)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], CategoryEntity.prototype, "name", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, typeorm_1.Column)(),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], CategoryEntity.prototype, "url", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], CategoryEntity.prototype, "parentId", void 0);
|
|
33
|
+
exports.CategoryEntity = CategoryEntity = __decorate([
|
|
34
|
+
(0, typeorm_1.Entity)('categories')
|
|
35
|
+
], CategoryEntity);
|
|
36
|
+
//# sourceMappingURL=category.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"category.entity.js","sourceRoot":"","sources":["../../../../src/modules/repository/entities/category.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAwD;AAGjD,IAAM,cAAc,GAApB,MAAM,cAAc;CAY1B,CAAA;AAZY,wCAAc;AAEzB;IADC,IAAA,uBAAa,GAAE;;0CACL;AAGX;IADC,IAAA,gBAAM,GAAE;;4CACI;AAGb;IADC,IAAA,gBAAM,GAAE;;2CACG;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACT;yBAXP,cAAc;IAD1B,IAAA,gBAAM,EAAC,YAAY,CAAC;GACR,cAAc,CAY1B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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.ImageEntity = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
let ImageEntity = class ImageEntity {
|
|
15
|
+
};
|
|
16
|
+
exports.ImageEntity = ImageEntity;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, typeorm_1.PrimaryColumn)(),
|
|
19
|
+
__metadata("design:type", String)
|
|
20
|
+
], ImageEntity.prototype, "id", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, typeorm_1.Column)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], ImageEntity.prototype, "name", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, typeorm_1.Column)(),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], ImageEntity.prototype, "url", void 0);
|
|
29
|
+
exports.ImageEntity = ImageEntity = __decorate([
|
|
30
|
+
(0, typeorm_1.Entity)('images')
|
|
31
|
+
], ImageEntity);
|
|
32
|
+
//# sourceMappingURL=image.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.entity.js","sourceRoot":"","sources":["../../../../src/modules/repository/entities/image.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAwD;AAGjD,IAAM,WAAW,GAAjB,MAAM,WAAW;CASvB,CAAA;AATY,kCAAW;AAEtB;IADC,IAAA,uBAAa,GAAE;;uCACL;AAGX;IADC,IAAA,gBAAM,GAAE;;yCACI;AAGb;IADC,IAAA,gBAAM,GAAE;;wCACG;sBARD,WAAW;IADvB,IAAA,gBAAM,EAAC,QAAQ,CAAC;GACJ,WAAW,CASvB"}
|
|
@@ -43,7 +43,7 @@ __decorate([
|
|
|
43
43
|
__metadata("design:type", String)
|
|
44
44
|
], ProductEntity.prototype, "currency", void 0);
|
|
45
45
|
__decorate([
|
|
46
|
-
(0, typeorm_1.Column)({ type: '
|
|
46
|
+
(0, typeorm_1.Column)({ type: 'simple-json', nullable: true }),
|
|
47
47
|
__metadata("design:type", Array)
|
|
48
48
|
], ProductEntity.prototype, "categories", void 0);
|
|
49
49
|
__decorate([
|
|
@@ -55,7 +55,7 @@ __decorate([
|
|
|
55
55
|
__metadata("design:type", String)
|
|
56
56
|
], ProductEntity.prototype, "image", void 0);
|
|
57
57
|
__decorate([
|
|
58
|
-
(0, typeorm_1.Column)({ type: '
|
|
58
|
+
(0, typeorm_1.Column)({ type: 'simple-json', nullable: true }),
|
|
59
59
|
__metadata("design:type", Array)
|
|
60
60
|
], ProductEntity.prototype, "extraImages", void 0);
|
|
61
61
|
__decorate([
|
|
@@ -67,7 +67,7 @@ __decorate([
|
|
|
67
67
|
__metadata("design:type", String)
|
|
68
68
|
], ProductEntity.prototype, "provider", void 0);
|
|
69
69
|
__decorate([
|
|
70
|
-
(0, typeorm_1.Column)({ type: '
|
|
70
|
+
(0, typeorm_1.Column)({ type: 'simple-json', nullable: true }),
|
|
71
71
|
__metadata("design:type", Array)
|
|
72
72
|
], ProductEntity.prototype, "provinces", void 0);
|
|
73
73
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.entity.js","sourceRoot":"","sources":["../../../../src/modules/repository/entities/product.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAwD;AAGjD,IAAM,aAAa,GAAnB,MAAM,aAAa;CA2EzB,CAAA;AA3EY,sCAAa;AAExB;IADC,IAAA,uBAAa,GAAE;;yCACL;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACd;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACf;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACrB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACrB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;+CACrC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;+CAC1B;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"product.entity.js","sourceRoot":"","sources":["../../../../src/modules/repository/entities/product.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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.ProviderEntity = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
let ProviderEntity = class ProviderEntity {
|
|
15
|
+
};
|
|
16
|
+
exports.ProviderEntity = ProviderEntity;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, typeorm_1.PrimaryColumn)(),
|
|
19
|
+
__metadata("design:type", String)
|
|
20
|
+
], ProviderEntity.prototype, "id", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, typeorm_1.Column)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], ProviderEntity.prototype, "name", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, typeorm_1.Column)(),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], ProviderEntity.prototype, "url", void 0);
|
|
29
|
+
exports.ProviderEntity = ProviderEntity = __decorate([
|
|
30
|
+
(0, typeorm_1.Entity)('providers')
|
|
31
|
+
], ProviderEntity);
|
|
32
|
+
//# sourceMappingURL=provider.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.entity.js","sourceRoot":"","sources":["../../../../src/modules/repository/entities/provider.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAwD;AAGjD,IAAM,cAAc,GAApB,MAAM,cAAc;CAS1B,CAAA;AATY,wCAAc;AAEzB;IADC,IAAA,uBAAa,GAAE;;0CACL;AAGX;IADC,IAAA,gBAAM,GAAE;;4CACI;AAGb;IADC,IAAA,gBAAM,GAAE;;2CACG;yBARD,cAAc;IAD1B,IAAA,gBAAM,EAAC,WAAW,CAAC;GACP,cAAc,CAS1B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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.ProvinceEntity = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
let ProvinceEntity = class ProvinceEntity {
|
|
15
|
+
};
|
|
16
|
+
exports.ProvinceEntity = ProvinceEntity;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, typeorm_1.PrimaryColumn)(),
|
|
19
|
+
__metadata("design:type", String)
|
|
20
|
+
], ProvinceEntity.prototype, "id", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, typeorm_1.Column)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], ProvinceEntity.prototype, "name", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, typeorm_1.Column)({ type: 'simple-json', nullable: true }),
|
|
27
|
+
__metadata("design:type", Array)
|
|
28
|
+
], ProvinceEntity.prototype, "municipalities", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, typeorm_1.Column)({ type: 'boolean', nullable: true, default: false }),
|
|
31
|
+
__metadata("design:type", Boolean)
|
|
32
|
+
], ProvinceEntity.prototype, "hasProducts", void 0);
|
|
33
|
+
exports.ProvinceEntity = ProvinceEntity = __decorate([
|
|
34
|
+
(0, typeorm_1.Entity)('provinces')
|
|
35
|
+
], ProvinceEntity);
|
|
36
|
+
//# sourceMappingURL=province.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"province.entity.js","sourceRoot":"","sources":["../../../../src/modules/repository/entities/province.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAwD;AAGjD,IAAM,cAAc,GAApB,MAAM,cAAc;CAY1B,CAAA;AAZY,wCAAc;AAEzB;IADC,IAAA,uBAAa,GAAE;;0CACL;AAGX;IADC,IAAA,gBAAM,GAAE;;4CACI;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACzB;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;mDACtC;yBAXX,cAAc;IAD1B,IAAA,gBAAM,EAAC,WAAW,CAAC;GACP,cAAc,CAY1B"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
+
import { OnModuleInit, OnApplicationShutdown } from '@nestjs/common';
|
|
1
2
|
import { ProvinceRepositoryService } from './services/province.repository.service';
|
|
2
3
|
import { CategoryRepositoryService } from './services/category.repository.service';
|
|
3
4
|
import { ImageRepositoryService } from './services/image.repository.service';
|
|
4
5
|
import { ProviderRepositoryService } from './services/provider.repository.service';
|
|
5
6
|
import { ProductRepositoryService } from './services/product.repository.service';
|
|
6
|
-
|
|
7
|
-
import { Category } from '../../common/class/category';
|
|
8
|
-
import { Image } from '../../common/class/image';
|
|
9
|
-
import { Provider } from '../../common/class/provider';
|
|
10
|
-
import { Product } from '../../common/class/product';
|
|
11
|
-
export declare class RepositoryService {
|
|
7
|
+
export declare class RepositoryService implements OnModuleInit, OnApplicationShutdown {
|
|
12
8
|
private readonly _province;
|
|
13
9
|
private readonly _image;
|
|
14
10
|
private readonly _category;
|
|
@@ -16,15 +12,12 @@ export declare class RepositoryService {
|
|
|
16
12
|
private readonly _product;
|
|
17
13
|
private logger;
|
|
18
14
|
constructor(_province: ProvinceRepositoryService, _image: ImageRepositoryService, _category: CategoryRepositoryService, _provider: ProviderRepositoryService, _product: ProductRepositoryService);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
saveProducts(products: Product[]): Promise<void>;
|
|
27
|
-
saveProviders(providers: Provider[]): void;
|
|
28
|
-
saveProvinces(provinces: Province[]): void;
|
|
15
|
+
onModuleInit(): Promise<void>;
|
|
16
|
+
onApplicationShutdown(): Promise<void>;
|
|
17
|
+
getCategories(): Promise<import("../..").Category[]>;
|
|
18
|
+
getImages(): Promise<import("../..").Image[]>;
|
|
19
|
+
getProducts(): Promise<import("../..").Product[]>;
|
|
20
|
+
getProviders(): Promise<import("../..").Provider[]>;
|
|
21
|
+
getProvinces(): Promise<import("../..").Province[]>;
|
|
29
22
|
reset(): Promise<void>;
|
|
30
23
|
}
|
|
@@ -29,76 +29,40 @@ let RepositoryService = RepositoryService_1 = class RepositoryService {
|
|
|
29
29
|
this._product = _product;
|
|
30
30
|
this.logger = new logger_1.Logger(RepositoryService_1.name);
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
async onModuleInit() {
|
|
33
|
+
await this.reset();
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
async onApplicationShutdown() {
|
|
36
|
+
await this.reset();
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
return this.
|
|
40
|
-
}
|
|
41
|
-
get providers() {
|
|
42
|
-
return this._provider.providers;
|
|
43
|
-
}
|
|
44
|
-
get provinces() {
|
|
45
|
-
return this._province.provinces;
|
|
46
|
-
}
|
|
47
|
-
saveCategories(categories) {
|
|
48
|
-
this._category.save(categories);
|
|
38
|
+
async getCategories() {
|
|
39
|
+
return this._category.find();
|
|
49
40
|
}
|
|
50
|
-
|
|
51
|
-
this._image.
|
|
41
|
+
async getImages() {
|
|
42
|
+
return this._image.find();
|
|
52
43
|
}
|
|
53
|
-
async
|
|
54
|
-
|
|
44
|
+
async getProducts() {
|
|
45
|
+
return this._product.find();
|
|
55
46
|
}
|
|
56
|
-
|
|
57
|
-
this._provider.
|
|
47
|
+
async getProviders() {
|
|
48
|
+
return this._provider.find();
|
|
58
49
|
}
|
|
59
|
-
|
|
60
|
-
this._province.
|
|
50
|
+
async getProvinces() {
|
|
51
|
+
return this._province.find();
|
|
61
52
|
}
|
|
62
53
|
async reset() {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
54
|
+
const repositories = [
|
|
55
|
+
this._province,
|
|
56
|
+
this._category,
|
|
57
|
+
this._image,
|
|
58
|
+
this._provider,
|
|
59
|
+
this._product,
|
|
60
|
+
];
|
|
61
|
+
await Promise.all(repositories.map((repo) => repo.reset()));
|
|
68
62
|
this.logger.log('✅ Repository reset successfully');
|
|
69
63
|
}
|
|
70
64
|
};
|
|
71
65
|
exports.RepositoryService = RepositoryService;
|
|
72
|
-
__decorate([
|
|
73
|
-
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.SAVE_CATEGORIES),
|
|
74
|
-
__metadata("design:type", Function),
|
|
75
|
-
__metadata("design:paramtypes", [Array]),
|
|
76
|
-
__metadata("design:returntype", void 0)
|
|
77
|
-
], RepositoryService.prototype, "saveCategories", null);
|
|
78
|
-
__decorate([
|
|
79
|
-
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.SAVE_IMAGES),
|
|
80
|
-
__metadata("design:type", Function),
|
|
81
|
-
__metadata("design:paramtypes", [Array]),
|
|
82
|
-
__metadata("design:returntype", void 0)
|
|
83
|
-
], RepositoryService.prototype, "saveImages", null);
|
|
84
|
-
__decorate([
|
|
85
|
-
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.SAVE_PRODUCTS),
|
|
86
|
-
__metadata("design:type", Function),
|
|
87
|
-
__metadata("design:paramtypes", [Array]),
|
|
88
|
-
__metadata("design:returntype", Promise)
|
|
89
|
-
], RepositoryService.prototype, "saveProducts", null);
|
|
90
|
-
__decorate([
|
|
91
|
-
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.SAVE_PROVIDERS),
|
|
92
|
-
__metadata("design:type", Function),
|
|
93
|
-
__metadata("design:paramtypes", [Array]),
|
|
94
|
-
__metadata("design:returntype", void 0)
|
|
95
|
-
], RepositoryService.prototype, "saveProviders", null);
|
|
96
|
-
__decorate([
|
|
97
|
-
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.SAVE_PROVINCES),
|
|
98
|
-
__metadata("design:type", Function),
|
|
99
|
-
__metadata("design:paramtypes", [Array]),
|
|
100
|
-
__metadata("design:returntype", void 0)
|
|
101
|
-
], RepositoryService.prototype, "saveProvinces", null);
|
|
102
66
|
__decorate([
|
|
103
67
|
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.RESET),
|
|
104
68
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.service.js","sourceRoot":"","sources":["../../../src/modules/repository/repository.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;
|
|
1
|
+
{"version":3,"file":"repository.service.js","sourceRoot":"","sources":["../../../src/modules/repository/repository.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,yDAAgD;AAEhD,wFAAmF;AACnF,wFAAmF;AACnF,kFAA6E;AAC7E,wFAAmF;AACnF,sFAAiF;AAEjF,uDAAoD;AACpD,6DAA6D;AAGtD,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAG5B,YACmB,SAAoC,EACpC,MAA8B,EAC9B,SAAoC,EACpC,SAAoC,EACpC,QAAkC;QAJlC,cAAS,GAAT,SAAS,CAA2B;QACpC,WAAM,GAAN,MAAM,CAAwB;QAC9B,cAAS,GAAT,SAAS,CAA2B;QACpC,cAAS,GAAT,SAAS,CAA2B;QACpC,aAAQ,GAAR,QAAQ,CAA0B;QAP7C,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAQjD,CAAC;IAEJ,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK;QACT,MAAM,YAAY,GAAG;YACnB,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,QAAQ;SACd,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AAnDY,8CAAiB;AAwCtB;IADL,IAAA,uBAAO,EAAC,0BAAa,CAAC,KAAK,CAAC;;;;8CAW5B;4BAlDU,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAKmB,uDAAyB;QAC5B,iDAAsB;QACnB,uDAAyB;QACzB,uDAAyB;QAC1B,qDAAwB;GAR1C,iBAAiB,CAmD7B"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
1
2
|
import { Category } from '../../../common/class/category';
|
|
3
|
+
import { CategoryEntity } from '../entities/category.entity';
|
|
2
4
|
export declare class CategoryRepositoryService {
|
|
5
|
+
private readonly repository;
|
|
3
6
|
private logger;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
reset(): void;
|
|
7
|
+
constructor(repository: Repository<CategoryEntity>);
|
|
8
|
+
find(): Promise<Category[]>;
|
|
9
|
+
save(categories: Category[]): Promise<void>;
|
|
10
|
+
reset(): Promise<void>;
|
|
9
11
|
}
|
|
@@ -8,38 +8,61 @@ 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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.CategoryRepositoryService = void 0;
|
|
13
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
18
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
|
+
const typeorm_2 = require("typeorm");
|
|
14
20
|
const repository_service_1 = require("../repository.service");
|
|
15
21
|
const logger_1 = require("../../../common/logger/logger");
|
|
22
|
+
const category_1 = require("../../../common/class/category");
|
|
23
|
+
const category_entity_1 = require("../entities/category.entity");
|
|
24
|
+
const event_enum_1 = require("../../../common/enum/event.enum");
|
|
16
25
|
let CategoryRepositoryService = class CategoryRepositoryService {
|
|
17
|
-
constructor() {
|
|
26
|
+
constructor(repository) {
|
|
27
|
+
this.repository = repository;
|
|
18
28
|
this.logger = new logger_1.Logger(repository_service_1.RepositoryService.name);
|
|
19
|
-
this._categories = new Map();
|
|
20
29
|
}
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
return
|
|
30
|
+
async find() {
|
|
31
|
+
const entities = await this.repository.find();
|
|
32
|
+
return entities.map((entity) => new category_1.Category(entity));
|
|
24
33
|
}
|
|
25
|
-
save(categories) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
async save(categories) {
|
|
35
|
+
const entities = [];
|
|
36
|
+
for (const category of categories) {
|
|
37
|
+
const data = category.getData();
|
|
38
|
+
const { id, name } = data;
|
|
39
|
+
const exists = await this.repository.existsBy({ id });
|
|
40
|
+
if (!exists) {
|
|
41
|
+
const entity = this.repository.create(data);
|
|
42
|
+
entities.push(entity);
|
|
30
43
|
this.logger.debug(name);
|
|
31
44
|
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
45
|
+
}
|
|
46
|
+
if (entities.length > 0) {
|
|
47
|
+
await this.repository.save(entities);
|
|
48
|
+
}
|
|
49
|
+
const count = await this.repository.count();
|
|
50
|
+
this.logger.verbose(`✅ ${count} Categories saved successfully`);
|
|
35
51
|
}
|
|
36
|
-
reset() {
|
|
37
|
-
this.
|
|
52
|
+
async reset() {
|
|
53
|
+
await this.repository.clear();
|
|
38
54
|
}
|
|
39
55
|
};
|
|
40
56
|
exports.CategoryRepositoryService = CategoryRepositoryService;
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.SAVE_CATEGORIES),
|
|
59
|
+
__metadata("design:type", Function),
|
|
60
|
+
__metadata("design:paramtypes", [Array]),
|
|
61
|
+
__metadata("design:returntype", Promise)
|
|
62
|
+
], CategoryRepositoryService.prototype, "save", null);
|
|
41
63
|
exports.CategoryRepositoryService = CategoryRepositoryService = __decorate([
|
|
42
64
|
(0, common_1.Injectable)(),
|
|
43
|
-
|
|
65
|
+
__param(0, (0, typeorm_1.InjectRepository)(category_entity_1.CategoryEntity)),
|
|
66
|
+
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
44
67
|
], CategoryRepositoryService);
|
|
45
68
|
//# sourceMappingURL=category.repository.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"category.repository.service.js","sourceRoot":"","sources":["../../../../src/modules/repository/services/category.repository.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"category.repository.service.js","sourceRoot":"","sources":["../../../../src/modules/repository/services/category.repository.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAgD;AAChD,6CAAmD;AACnD,qCAAqC;AAErC,8DAA0D;AAC1D,0DAAuD;AACvD,6DAA0D;AAC1D,iEAA6D;AAC7D,gEAAgE;AAGzD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAGpC,YAEE,UAAuD;QAAtC,eAAU,GAAV,UAAU,CAA4B;QAJjD,WAAM,GAAG,IAAI,eAAM,CAAC,sCAAiB,CAAC,IAAI,CAAC,CAAC;IAKjD,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAC,UAAsB;QAC/B,MAAM,QAAQ,GAAqB,EAAE,CAAC;QAEtC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,gCAAgC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF,CAAA;AAxCY,8DAAyB;AAc9B;IADL,IAAA,uBAAO,EAAC,0BAAa,CAAC,eAAe,CAAC;;;;qDAsBtC;oCAnCU,yBAAyB;IADrC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,0BAAgB,EAAC,gCAAc,CAAC,CAAA;qCACJ,oBAAU;GAL9B,yBAAyB,CAwCrC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
1
2
|
import { Image } from '../../../common/class/image';
|
|
3
|
+
import { ImageEntity } from '../entities/image.entity';
|
|
2
4
|
export declare class ImageRepositoryService {
|
|
5
|
+
private readonly repository;
|
|
3
6
|
private logger;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
reset(): void;
|
|
7
|
+
constructor(repository: Repository<ImageEntity>);
|
|
8
|
+
find(): Promise<Image[]>;
|
|
9
|
+
save(images: Image[]): Promise<void>;
|
|
10
|
+
reset(): Promise<void>;
|
|
9
11
|
}
|
|
@@ -8,38 +8,61 @@ 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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.ImageRepositoryService = void 0;
|
|
13
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
18
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
|
+
const typeorm_2 = require("typeorm");
|
|
14
20
|
const repository_service_1 = require("../repository.service");
|
|
15
21
|
const logger_1 = require("../../../common/logger/logger");
|
|
22
|
+
const image_1 = require("../../../common/class/image");
|
|
23
|
+
const image_entity_1 = require("../entities/image.entity");
|
|
24
|
+
const event_enum_1 = require("../../../common/enum/event.enum");
|
|
16
25
|
let ImageRepositoryService = class ImageRepositoryService {
|
|
17
|
-
constructor() {
|
|
26
|
+
constructor(repository) {
|
|
27
|
+
this.repository = repository;
|
|
18
28
|
this.logger = new logger_1.Logger(repository_service_1.RepositoryService.name);
|
|
19
|
-
this._images = new Map();
|
|
20
29
|
}
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
return
|
|
30
|
+
async find() {
|
|
31
|
+
const entities = await this.repository.find();
|
|
32
|
+
return entities.map((entity) => new image_1.Image(entity));
|
|
24
33
|
}
|
|
25
|
-
save(images) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
async save(images) {
|
|
35
|
+
const entities = [];
|
|
36
|
+
for (const image of images) {
|
|
37
|
+
const data = image.getData();
|
|
38
|
+
const { id, name } = data;
|
|
39
|
+
const exists = await this.repository.existsBy({ id });
|
|
40
|
+
if (!exists) {
|
|
41
|
+
const entity = this.repository.create(data);
|
|
42
|
+
entities.push(entity);
|
|
30
43
|
this.logger.debug(name);
|
|
31
44
|
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
45
|
+
}
|
|
46
|
+
if (entities.length > 0) {
|
|
47
|
+
await this.repository.save(entities);
|
|
48
|
+
}
|
|
49
|
+
const count = await this.repository.count();
|
|
50
|
+
this.logger.verbose(`✅ ${count} Images saved successfully`);
|
|
35
51
|
}
|
|
36
|
-
reset() {
|
|
37
|
-
this.
|
|
52
|
+
async reset() {
|
|
53
|
+
await this.repository.clear();
|
|
38
54
|
}
|
|
39
55
|
};
|
|
40
56
|
exports.ImageRepositoryService = ImageRepositoryService;
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.SAVE_IMAGES),
|
|
59
|
+
__metadata("design:type", Function),
|
|
60
|
+
__metadata("design:paramtypes", [Array]),
|
|
61
|
+
__metadata("design:returntype", Promise)
|
|
62
|
+
], ImageRepositoryService.prototype, "save", null);
|
|
41
63
|
exports.ImageRepositoryService = ImageRepositoryService = __decorate([
|
|
42
64
|
(0, common_1.Injectable)(),
|
|
43
|
-
|
|
65
|
+
__param(0, (0, typeorm_1.InjectRepository)(image_entity_1.ImageEntity)),
|
|
66
|
+
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
44
67
|
], ImageRepositoryService);
|
|
45
68
|
//# sourceMappingURL=image.repository.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.repository.service.js","sourceRoot":"","sources":["../../../../src/modules/repository/services/image.repository.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"image.repository.service.js","sourceRoot":"","sources":["../../../../src/modules/repository/services/image.repository.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAgD;AAChD,6CAAmD;AACnD,qCAAqC;AAErC,8DAA0D;AAC1D,0DAAuD;AACvD,uDAAoD;AACpD,2DAAuD;AACvD,gEAAgE;AAGzD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAGjC,YAEE,UAAoD;QAAnC,eAAU,GAAV,UAAU,CAAyB;QAJ9C,WAAM,GAAG,IAAI,eAAM,CAAC,sCAAiB,CAAC,IAAI,CAAC,CAAC;IAKjD,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,aAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAC,MAAe;QACxB,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,4BAA4B,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF,CAAA;AAxCY,wDAAsB;AAc3B;IADL,IAAA,uBAAO,EAAC,0BAAa,CAAC,WAAW,CAAC;;;;kDAsBlC;iCAnCU,sBAAsB;IADlC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,0BAAgB,EAAC,0BAAW,CAAC,CAAA;qCACD,oBAAU;GAL9B,sBAAsB,CAwClC"}
|
|
@@ -14,12 +14,14 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.ProductRepositoryService = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
17
18
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
18
19
|
const typeorm_2 = require("typeorm");
|
|
19
20
|
const repository_service_1 = require("../repository.service");
|
|
20
21
|
const logger_1 = require("../../../common/logger/logger");
|
|
21
22
|
const product_1 = require("../../../common/class/product");
|
|
22
23
|
const product_entity_1 = require("../entities/product.entity");
|
|
24
|
+
const event_enum_1 = require("../../../common/enum/event.enum");
|
|
23
25
|
let ProductRepositoryService = class ProductRepositoryService {
|
|
24
26
|
constructor(repository) {
|
|
25
27
|
this.repository = repository;
|
|
@@ -61,10 +63,16 @@ let ProductRepositoryService = class ProductRepositoryService {
|
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
async reset() {
|
|
64
|
-
await this.repository.
|
|
66
|
+
await this.repository.clear();
|
|
65
67
|
}
|
|
66
68
|
};
|
|
67
69
|
exports.ProductRepositoryService = ProductRepositoryService;
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.SAVE_PRODUCTS),
|
|
72
|
+
__metadata("design:type", Function),
|
|
73
|
+
__metadata("design:paramtypes", [Array]),
|
|
74
|
+
__metadata("design:returntype", Promise)
|
|
75
|
+
], ProductRepositoryService.prototype, "save", null);
|
|
68
76
|
exports.ProductRepositoryService = ProductRepositoryService = __decorate([
|
|
69
77
|
(0, common_1.Injectable)(),
|
|
70
78
|
__param(0, (0, typeorm_1.InjectRepository)(product_entity_1.ProductEntity)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.repository.service.js","sourceRoot":"","sources":["../../../../src/modules/repository/services/product.repository.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AAErC,8DAA0D;AAC1D,0DAAuD;AACvD,2DAAwD;AACxD,+DAA2D;
|
|
1
|
+
{"version":3,"file":"product.repository.service.js","sourceRoot":"","sources":["../../../../src/modules/repository/services/product.repository.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
1
2
|
import { Provider } from '../../../common/class/provider';
|
|
3
|
+
import { ProviderEntity } from '../entities/provider.entity';
|
|
2
4
|
export declare class ProviderRepositoryService {
|
|
5
|
+
private readonly repository;
|
|
3
6
|
private logger;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
reset(): void;
|
|
7
|
+
constructor(repository: Repository<ProviderEntity>);
|
|
8
|
+
find(): Promise<Provider[]>;
|
|
9
|
+
save(providers: Provider[]): Promise<void>;
|
|
10
|
+
reset(): Promise<void>;
|
|
9
11
|
}
|
|
@@ -8,38 +8,61 @@ 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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.ProviderRepositoryService = void 0;
|
|
13
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
18
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
|
+
const typeorm_2 = require("typeorm");
|
|
14
20
|
const repository_service_1 = require("../repository.service");
|
|
15
21
|
const logger_1 = require("../../../common/logger/logger");
|
|
22
|
+
const provider_1 = require("../../../common/class/provider");
|
|
23
|
+
const provider_entity_1 = require("../entities/provider.entity");
|
|
24
|
+
const event_enum_1 = require("../../../common/enum/event.enum");
|
|
16
25
|
let ProviderRepositoryService = class ProviderRepositoryService {
|
|
17
|
-
constructor() {
|
|
26
|
+
constructor(repository) {
|
|
27
|
+
this.repository = repository;
|
|
18
28
|
this.logger = new logger_1.Logger(repository_service_1.RepositoryService.name);
|
|
19
|
-
this._providers = new Map();
|
|
20
29
|
}
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
return
|
|
30
|
+
async find() {
|
|
31
|
+
const entities = await this.repository.find();
|
|
32
|
+
return entities.map((entity) => new provider_1.Provider(entity));
|
|
24
33
|
}
|
|
25
|
-
save(providers) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
async save(providers) {
|
|
35
|
+
const entities = [];
|
|
36
|
+
for (const provider of providers) {
|
|
37
|
+
const data = provider.getData();
|
|
38
|
+
const { id, name } = data;
|
|
39
|
+
const exists = await this.repository.existsBy({ id });
|
|
40
|
+
if (!exists) {
|
|
41
|
+
const entity = this.repository.create(data);
|
|
42
|
+
entities.push(entity);
|
|
30
43
|
this.logger.debug(name);
|
|
31
44
|
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
45
|
+
}
|
|
46
|
+
if (entities.length > 0) {
|
|
47
|
+
await this.repository.save(entities);
|
|
48
|
+
}
|
|
49
|
+
const count = await this.repository.count();
|
|
50
|
+
this.logger.verbose(`✅ ${count} Providers saved successfully`);
|
|
35
51
|
}
|
|
36
|
-
reset() {
|
|
37
|
-
this.
|
|
52
|
+
async reset() {
|
|
53
|
+
await this.repository.clear();
|
|
38
54
|
}
|
|
39
55
|
};
|
|
40
56
|
exports.ProviderRepositoryService = ProviderRepositoryService;
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.SAVE_PROVIDERS),
|
|
59
|
+
__metadata("design:type", Function),
|
|
60
|
+
__metadata("design:paramtypes", [Array]),
|
|
61
|
+
__metadata("design:returntype", Promise)
|
|
62
|
+
], ProviderRepositoryService.prototype, "save", null);
|
|
41
63
|
exports.ProviderRepositoryService = ProviderRepositoryService = __decorate([
|
|
42
64
|
(0, common_1.Injectable)(),
|
|
43
|
-
|
|
65
|
+
__param(0, (0, typeorm_1.InjectRepository)(provider_entity_1.ProviderEntity)),
|
|
66
|
+
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
44
67
|
], ProviderRepositoryService);
|
|
45
68
|
//# sourceMappingURL=provider.repository.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.repository.service.js","sourceRoot":"","sources":["../../../../src/modules/repository/services/provider.repository.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provider.repository.service.js","sourceRoot":"","sources":["../../../../src/modules/repository/services/provider.repository.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAgD;AAChD,6CAAmD;AACnD,qCAAqC;AAErC,8DAA0D;AAC1D,0DAAuD;AACvD,6DAA0D;AAC1D,iEAA6D;AAC7D,gEAAgE;AAGzD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAGpC,YAEE,UAAuD;QAAtC,eAAU,GAAV,UAAU,CAA4B;QAJjD,WAAM,GAAG,IAAI,eAAM,CAAC,sCAAiB,CAAC,IAAI,CAAC,CAAC;IAKjD,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAC,SAAqB;QAC9B,MAAM,QAAQ,GAAqB,EAAE,CAAC;QAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,+BAA+B,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF,CAAA;AAxCY,8DAAyB;AAc9B;IADL,IAAA,uBAAO,EAAC,0BAAa,CAAC,cAAc,CAAC;;;;qDAsBrC;oCAnCU,yBAAyB;IADrC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,0BAAgB,EAAC,gCAAc,CAAC,CAAA;qCACJ,oBAAU;GAL9B,yBAAyB,CAwCrC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
1
2
|
import { Province } from '../../../common/class/province';
|
|
3
|
+
import { ProvinceEntity } from '../entities/province.entity';
|
|
2
4
|
export declare class ProvinceRepositoryService {
|
|
5
|
+
private readonly repository;
|
|
3
6
|
private logger;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
reset(): void;
|
|
7
|
+
constructor(repository: Repository<ProvinceEntity>);
|
|
8
|
+
find(): Promise<Province[]>;
|
|
9
|
+
save(provinces: Province[]): Promise<void>;
|
|
10
|
+
reset(): Promise<void>;
|
|
9
11
|
}
|
|
@@ -8,38 +8,61 @@ 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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.ProvinceRepositoryService = void 0;
|
|
13
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
18
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
|
+
const typeorm_2 = require("typeorm");
|
|
14
20
|
const logger_1 = require("../../../common/logger/logger");
|
|
15
21
|
const repository_service_1 = require("./../repository.service");
|
|
22
|
+
const province_1 = require("../../../common/class/province");
|
|
23
|
+
const province_entity_1 = require("../entities/province.entity");
|
|
24
|
+
const event_enum_1 = require("../../../common/enum/event.enum");
|
|
16
25
|
let ProvinceRepositoryService = class ProvinceRepositoryService {
|
|
17
|
-
constructor() {
|
|
26
|
+
constructor(repository) {
|
|
27
|
+
this.repository = repository;
|
|
18
28
|
this.logger = new logger_1.Logger(repository_service_1.RepositoryService.name);
|
|
19
|
-
this._provinces = new Map();
|
|
20
29
|
}
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
return
|
|
30
|
+
async find() {
|
|
31
|
+
const entities = await this.repository.find();
|
|
32
|
+
return entities.map((entity) => new province_1.Province(entity));
|
|
24
33
|
}
|
|
25
|
-
save(provinces) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
async save(provinces) {
|
|
35
|
+
const entities = [];
|
|
36
|
+
for (const province of provinces) {
|
|
37
|
+
const data = province.getData();
|
|
38
|
+
const { id, name } = data;
|
|
39
|
+
const exists = await this.repository.existsBy({ id });
|
|
40
|
+
if (!exists) {
|
|
41
|
+
const entity = this.repository.create(data);
|
|
42
|
+
entities.push(entity);
|
|
30
43
|
this.logger.debug(name);
|
|
31
44
|
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
45
|
+
}
|
|
46
|
+
if (entities.length > 0) {
|
|
47
|
+
await this.repository.save(entities);
|
|
48
|
+
}
|
|
49
|
+
const count = await this.repository.count();
|
|
50
|
+
this.logger.verbose(`✅ ${count} Provinces saved successfully`);
|
|
35
51
|
}
|
|
36
|
-
reset() {
|
|
37
|
-
this.
|
|
52
|
+
async reset() {
|
|
53
|
+
await this.repository.clear();
|
|
38
54
|
}
|
|
39
55
|
};
|
|
40
56
|
exports.ProvinceRepositoryService = ProvinceRepositoryService;
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, event_emitter_1.OnEvent)(event_enum_1.ScrapingEvent.SAVE_PROVINCES),
|
|
59
|
+
__metadata("design:type", Function),
|
|
60
|
+
__metadata("design:paramtypes", [Array]),
|
|
61
|
+
__metadata("design:returntype", Promise)
|
|
62
|
+
], ProvinceRepositoryService.prototype, "save", null);
|
|
41
63
|
exports.ProvinceRepositoryService = ProvinceRepositoryService = __decorate([
|
|
42
64
|
(0, common_1.Injectable)(),
|
|
43
|
-
|
|
65
|
+
__param(0, (0, typeorm_1.InjectRepository)(province_entity_1.ProvinceEntity)),
|
|
66
|
+
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
44
67
|
], ProvinceRepositoryService);
|
|
45
68
|
//# sourceMappingURL=province.repository.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"province.repository.service.js","sourceRoot":"","sources":["../../../../src/modules/repository/services/province.repository.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"province.repository.service.js","sourceRoot":"","sources":["../../../../src/modules/repository/services/province.repository.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAgD;AAChD,6CAAmD;AACnD,qCAAqC;AAErC,0DAAuD;AACvD,gEAA4D;AAC5D,6DAA0D;AAC1D,iEAA6D;AAC7D,gEAAgE;AAGzD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAGpC,YAEE,UAAuD;QAAtC,eAAU,GAAV,UAAU,CAA4B;QAJjD,WAAM,GAAG,IAAI,eAAM,CAAC,sCAAiB,CAAC,IAAI,CAAC,CAAC;IAKjD,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAC,SAAqB;QAC9B,MAAM,QAAQ,GAAqB,EAAE,CAAC;QAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,+BAA+B,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF,CAAA;AAxCY,8DAAyB;AAc9B;IADL,IAAA,uBAAO,EAAC,0BAAa,CAAC,cAAc,CAAC;;;;qDAsBrC;oCAnCU,yBAAyB;IADrC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,0BAAgB,EAAC,gCAAc,CAAC,CAAA;qCACJ,oBAAU;GAL9B,yBAAyB,CAwCrC"}
|