store-scrapper-js-common 1.0.84 → 1.0.88
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/entities/price.d.ts +2 -0
- package/dist/entities/price.js +8 -0
- package/dist/entities/price.js.map +1 -1
- package/dist/entities/product.d.ts +8 -2
- package/dist/entities/product.js +19 -1
- package/dist/entities/product.js.map +1 -1
- package/package.json +1 -1
- package/src/entities/price.ts +6 -0
- package/src/entities/product.ts +15 -1
package/dist/entities/price.d.ts
CHANGED
package/dist/entities/price.js
CHANGED
|
@@ -62,6 +62,14 @@ __decorate([
|
|
|
62
62
|
class_validator_1.IsOptional(),
|
|
63
63
|
__metadata("design:type", String)
|
|
64
64
|
], Price.prototype, "measurementUnit", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
typeorm_1.Column(),
|
|
67
|
+
__metadata("design:type", Date)
|
|
68
|
+
], Price.prototype, "validFrom", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
typeorm_1.Column(),
|
|
71
|
+
__metadata("design:type", Date)
|
|
72
|
+
], Price.prototype, "validTo", void 0);
|
|
65
73
|
__decorate([
|
|
66
74
|
typeorm_1.CreateDateColumn(),
|
|
67
75
|
typeorm_1.Index(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price.js","sourceRoot":"/","sources":["entities/price.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAEiB;AACjB,qDAAmE;AACnE,mDAA+C;AAE/C,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC3B,gCAAS,CAAA;IACT,8BAAO,CAAA;IACP,8BAAO,CAAA;IACP,gCAAS,CAAA;IACT,oCAAa,CAAA;AACjB,CAAC,EANW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAM9B;AAGD,IAAa,KAAK,GAAlB,MAAa,KAAM,SAAQ,4BAAY;
|
|
1
|
+
{"version":3,"file":"price.js","sourceRoot":"/","sources":["entities/price.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAEiB;AACjB,qDAAmE;AACnE,mDAA+C;AAE/C,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC3B,gCAAS,CAAA;IACT,8BAAO,CAAA;IACP,8BAAO,CAAA;IACP,gCAAS,CAAA;IACT,oCAAa,CAAA;AACjB,CAAC,EANW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAM9B;AAGD,IAAa,KAAK,GAAlB,MAAa,KAAM,SAAQ,4BAAY;CA0CtC,CAAA;AAtCG;IAHC,gBAAM,EAAE;IACR,4BAAU,EAAE;IACZ,eAAK,EAAE;;yCACW;AAKnB;IAHC,gBAAM,EAAE;IACR,0BAAQ,EAAE;IACV,4BAAU,EAAE;;0CACQ;AAKrB;IAHC,gBAAM,EAAE;IACR,0BAAQ,EAAE;IACV,4BAAU,EAAE;;yCACO;AAKpB;IAHC,gBAAM,EAAE;IACR,0BAAQ,EAAE;IACV,4BAAU,EAAE;;wCACM;AAInB;IAFC,gBAAM,EAAE;IACR,4BAAU,EAAE;;wCACM;AAInB;IAFC,gBAAM,EAAE;IACR,4BAAU,EAAE;;6CACW;AAIxB;IAFC,gBAAM,EAAE;IACR,4BAAU,EAAE;;8CACyB;AAGtC;IADC,gBAAM,EAAE;8BACG,IAAI;wCAAC;AAGjB;IADC,gBAAM,EAAE;8BACC,IAAI;sCAAC;AAIf;IAFC,0BAAgB,EAAE;IAClB,eAAK,EAAE;8BACI,IAAI;wCAAC;AAzCR,KAAK;IADjB,gBAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;GACd,KAAK,CA0CjB;AA1CY,sBAAK","sourcesContent":["import {\n Column, CreateDateColumn, Entity, Index,\n} from 'typeorm';\nimport { IsNotEmpty, IsNumber, IsOptional } from 'class-validator';\nimport { AbstractBase } from './abstract-base';\n\nexport enum MeasurementUnitEnum {\n KG = 'kg',\n G = 'g',\n L = 'l',\n ML = 'ml',\n UNIT = 'unit'\n}\n\n@Entity({ name: 'prices' })\nexport class Price extends AbstractBase {\n @Column()\n @IsNotEmpty()\n @Index()\n productRef: string;\n\n @Column()\n @IsNumber()\n @IsOptional()\n normalPrice?: number;\n\n @Column()\n @IsNumber()\n @IsOptional()\n offerPrice?: number;\n\n @Column()\n @IsNumber()\n @IsOptional()\n cardPrice?: number;\n\n @Column()\n @IsOptional()\n sourceUrl?: string;\n\n @Column()\n @IsOptional()\n unitMultiplier?: number;\n\n @Column()\n @IsOptional()\n measurementUnit?: MeasurementUnitEnum;\n\n @Column()\n validFrom?: Date;\n\n @Column()\n validTo?: Date;\n\n @CreateDateColumn()\n @Index()\n createdAt?: Date;\n}\n"]}
|
|
@@ -21,8 +21,10 @@ export declare enum UpdateReasonEnum {
|
|
|
21
21
|
NEW_CONDITIONAL_PRICE = "new_conditional_price",
|
|
22
22
|
NEW_NAME = "new_name",
|
|
23
23
|
NEW_LISTING = "new_listing",
|
|
24
|
+
NEW_STOCK = "new_stock",
|
|
24
25
|
MISSING_DATA = "missing_data",
|
|
25
|
-
FIX_DATA = "fix_data"
|
|
26
|
+
FIX_DATA = "fix_data",
|
|
27
|
+
RE_LISTING = "re_listing"
|
|
26
28
|
}
|
|
27
29
|
export interface ProductAttributes {
|
|
28
30
|
stock?: number;
|
|
@@ -39,14 +41,17 @@ export interface ConditionalPrice {
|
|
|
39
41
|
export declare class Product extends AbstractBase {
|
|
40
42
|
name: string;
|
|
41
43
|
brandName?: string;
|
|
44
|
+
normalizedBrandName?: string;
|
|
42
45
|
modelName?: string;
|
|
43
46
|
sku: string;
|
|
44
47
|
internalId?: string;
|
|
48
|
+
ean?: string;
|
|
45
49
|
url: string;
|
|
46
50
|
storeRef: string;
|
|
47
51
|
storeName?: string;
|
|
48
52
|
branchStoreName?: string;
|
|
49
53
|
sellerName?: string;
|
|
54
|
+
normalizedSellerName?: string;
|
|
50
55
|
price?: Price;
|
|
51
56
|
conditionalPrice?: ConditionalPrice;
|
|
52
57
|
previousPrice?: Price;
|
|
@@ -69,8 +74,9 @@ export declare class Product extends AbstractBase {
|
|
|
69
74
|
categoryKeywords?: Keyword[];
|
|
70
75
|
processedPricesAt?: Date;
|
|
71
76
|
isMarketplace?: boolean;
|
|
77
|
+
addToCartLink?: string;
|
|
72
78
|
currency?: CurrencyEnum;
|
|
73
|
-
updateReason?: UpdateReasonEnum;
|
|
79
|
+
updateReason?: UpdateReasonEnum[];
|
|
74
80
|
nameHistory?: {
|
|
75
81
|
name: string;
|
|
76
82
|
updatedAt: string;
|
package/dist/entities/product.js
CHANGED
|
@@ -36,8 +36,10 @@ var UpdateReasonEnum;
|
|
|
36
36
|
UpdateReasonEnum["NEW_CONDITIONAL_PRICE"] = "new_conditional_price";
|
|
37
37
|
UpdateReasonEnum["NEW_NAME"] = "new_name";
|
|
38
38
|
UpdateReasonEnum["NEW_LISTING"] = "new_listing";
|
|
39
|
+
UpdateReasonEnum["NEW_STOCK"] = "new_stock";
|
|
39
40
|
UpdateReasonEnum["MISSING_DATA"] = "missing_data";
|
|
40
41
|
UpdateReasonEnum["FIX_DATA"] = "fix_data";
|
|
42
|
+
UpdateReasonEnum["RE_LISTING"] = "re_listing";
|
|
41
43
|
})(UpdateReasonEnum = exports.UpdateReasonEnum || (exports.UpdateReasonEnum = {}));
|
|
42
44
|
let Product = class Product extends abstract_base_1.AbstractBase {
|
|
43
45
|
};
|
|
@@ -49,6 +51,10 @@ __decorate([
|
|
|
49
51
|
typeorm_1.Column(),
|
|
50
52
|
__metadata("design:type", String)
|
|
51
53
|
], Product.prototype, "brandName", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
typeorm_1.Column(),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], Product.prototype, "normalizedBrandName", void 0);
|
|
52
58
|
__decorate([
|
|
53
59
|
typeorm_1.Column(),
|
|
54
60
|
__metadata("design:type", String)
|
|
@@ -63,6 +69,10 @@ __decorate([
|
|
|
63
69
|
typeorm_1.Column(),
|
|
64
70
|
__metadata("design:type", String)
|
|
65
71
|
], Product.prototype, "internalId", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
typeorm_1.Column(),
|
|
74
|
+
__metadata("design:type", String)
|
|
75
|
+
], Product.prototype, "ean", void 0);
|
|
66
76
|
__decorate([
|
|
67
77
|
typeorm_1.Column(),
|
|
68
78
|
class_validator_1.IsNotEmpty(),
|
|
@@ -86,6 +96,10 @@ __decorate([
|
|
|
86
96
|
typeorm_1.Column(),
|
|
87
97
|
__metadata("design:type", String)
|
|
88
98
|
], Product.prototype, "sellerName", void 0);
|
|
99
|
+
__decorate([
|
|
100
|
+
typeorm_1.Column(),
|
|
101
|
+
__metadata("design:type", String)
|
|
102
|
+
], Product.prototype, "normalizedSellerName", void 0);
|
|
89
103
|
__decorate([
|
|
90
104
|
typeorm_1.Column(),
|
|
91
105
|
class_validator_1.IsNotEmpty(),
|
|
@@ -181,10 +195,14 @@ __decorate([
|
|
|
181
195
|
__decorate([
|
|
182
196
|
typeorm_1.Column(),
|
|
183
197
|
__metadata("design:type", String)
|
|
184
|
-
], Product.prototype, "
|
|
198
|
+
], Product.prototype, "addToCartLink", void 0);
|
|
185
199
|
__decorate([
|
|
186
200
|
typeorm_1.Column(),
|
|
187
201
|
__metadata("design:type", String)
|
|
202
|
+
], Product.prototype, "currency", void 0);
|
|
203
|
+
__decorate([
|
|
204
|
+
typeorm_1.Column(),
|
|
205
|
+
__metadata("design:type", Array)
|
|
188
206
|
], Product.prototype, "updateReason", void 0);
|
|
189
207
|
__decorate([
|
|
190
208
|
typeorm_1.Column(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.js","sourceRoot":"/","sources":["entities/product.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAGiB;AACjB,qDAA6C;AAC7C,mDAA+C;AAC/C,mCAAgC;AAChC,iDAA6C;AAE7C,0DAAsD;AAEtD,IAAY,YAWX;AAXD,WAAY,YAAY;IACpB,2BAAW,CAAA;IACX,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,yCAAyB,CAAA;IACzB,8CAA8B,CAAA;IAC9B,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,2BAAW,CAAA;AACf,CAAC,EAXW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAWvB;AAED,IAAY,
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"/","sources":["entities/product.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Column,\n Entity, Index, Unique,\n} from 'typeorm';\nimport { IsNotEmpty } from 'class-validator';\nimport { AbstractBase } from './abstract-base';\nimport { Price } from './price';\nimport { PricesStats } from './prices-stats';\nimport { Keyword } from './keyword';\nimport { HttpRequest } from '../classes/http-request';\n\nexport enum CurrencyEnum {\n CLP = 'clp',\n CMR_PTS = 'cmr_pts',\n PARIS_PTS = 'paris_pts',\n RIPLEY_PTS = 'ripley_pts',\n GENERAL_POINTS = 'general_pts',\n BRL = 'brl',\n PEN = 'PEN',\n ARS = 'ars',\n EUR = 'eur',\n USD = 'usd',\n}\n\nexport enum UpdateReasonEnum {\n TIME = 'time',\n NEW_PRICE = 'new_price',\n NEW_CONDITIONAL_PRICE = 'new_conditional_price',\n NEW_NAME = 'new_name',\n NEW_LISTING = 'new_listing',\n NEW_STOCK = 'new_stock',\n MISSING_DATA = 'missing_data',\n FIX_DATA = 'fix_data',\n RE_LISTING = 're_listing',\n}\n\nexport interface ProductAttributes {\n stock?: number;\n\n // TODO: Add enum\n color?: string;\n\n // TODO: Add enum\n size?: string;\n\n [key: string]: any;\n}\n\nexport interface ConditionalPrice {\n minAmount?: number;\n price?:number;\n cardRequired?: boolean;\n createdAt?: Date;\n}\n\n@Entity({ name: 'products' })\n@Unique('store_ref_sku', ['storeRef', 'sku'])\nexport class Product extends AbstractBase {\n @Column()\n name: string;\n\n @Column()\n brandName?: string;\n\n @Column()\n normalizedBrandName?: string;\n\n @Column()\n modelName?: string;\n\n @Column()\n @IsNotEmpty()\n @Index()\n sku: string;\n\n @Column()\n internalId?: string;\n\n @Column()\n ean?: string;\n\n @Column()\n @IsNotEmpty()\n url: string;\n\n @Column()\n @IsNotEmpty()\n @Index()\n storeRef: string;\n\n @Column()\n storeName?: string;\n\n @Column()\n branchStoreName?: string;\n\n @Column()\n sellerName?: string;\n\n @Column()\n normalizedSellerName?: string;\n\n @Column()\n @IsNotEmpty()\n price?: Price;\n\n @Column()\n conditionalPrice?: ConditionalPrice;\n\n @Column()\n previousPrice?: Price;\n\n @Column()\n bestPrice?: Price;\n\n @Column()\n priceStats?: PricesStats;\n\n @Column()\n priceHistory?: Price[];\n\n @Column()\n rank?: number;\n\n @Column()\n image?: string;\n\n @Column()\n category?: string;\n\n @Column()\n categoryPath?: string;\n\n @Column()\n attributes?: ProductAttributes;\n\n @Column()\n homeDeliveryShipping?: boolean;\n\n @Column()\n pickUpFromStoreShipping?: boolean;\n\n @Column()\n fastDelivery?: boolean;\n\n @Column()\n enabled?: boolean;\n\n @Column()\n sourceUrl?: string;\n\n @Column()\n request? : HttpRequest;\n\n @Column()\n @Index()\n updatedAt?: Date;\n\n @Column()\n @Index()\n categoryKeywordNames?: string[];\n\n @Column()\n categoryKeywords?: Keyword[];\n\n @Column()\n @Index()\n processedPricesAt?: Date;\n\n @Column()\n isMarketplace?: boolean;\n\n @Column()\n addToCartLink?: string;\n\n @Column()\n currency?: CurrencyEnum;\n\n @Column()\n updateReason?: UpdateReasonEnum[];\n\n @Column()\n nameHistory?: {\n name: string,\n updatedAt: string,\n }[];\n\n @Column()\n parentProductIdRef?: string;\n\n @Column()\n parentProductSkuRef?: string;\n}\n"]}
|
package/package.json
CHANGED
package/src/entities/price.ts
CHANGED
package/src/entities/product.ts
CHANGED
|
@@ -28,8 +28,10 @@ export enum UpdateReasonEnum {
|
|
|
28
28
|
NEW_CONDITIONAL_PRICE = 'new_conditional_price',
|
|
29
29
|
NEW_NAME = 'new_name',
|
|
30
30
|
NEW_LISTING = 'new_listing',
|
|
31
|
+
NEW_STOCK = 'new_stock',
|
|
31
32
|
MISSING_DATA = 'missing_data',
|
|
32
33
|
FIX_DATA = 'fix_data',
|
|
34
|
+
RE_LISTING = 're_listing',
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
export interface ProductAttributes {
|
|
@@ -60,6 +62,9 @@ export class Product extends AbstractBase {
|
|
|
60
62
|
@Column()
|
|
61
63
|
brandName?: string;
|
|
62
64
|
|
|
65
|
+
@Column()
|
|
66
|
+
normalizedBrandName?: string;
|
|
67
|
+
|
|
63
68
|
@Column()
|
|
64
69
|
modelName?: string;
|
|
65
70
|
|
|
@@ -71,6 +76,9 @@ export class Product extends AbstractBase {
|
|
|
71
76
|
@Column()
|
|
72
77
|
internalId?: string;
|
|
73
78
|
|
|
79
|
+
@Column()
|
|
80
|
+
ean?: string;
|
|
81
|
+
|
|
74
82
|
@Column()
|
|
75
83
|
@IsNotEmpty()
|
|
76
84
|
url: string;
|
|
@@ -89,6 +97,9 @@ export class Product extends AbstractBase {
|
|
|
89
97
|
@Column()
|
|
90
98
|
sellerName?: string;
|
|
91
99
|
|
|
100
|
+
@Column()
|
|
101
|
+
normalizedSellerName?: string;
|
|
102
|
+
|
|
92
103
|
@Column()
|
|
93
104
|
@IsNotEmpty()
|
|
94
105
|
price?: Price;
|
|
@@ -159,11 +170,14 @@ export class Product extends AbstractBase {
|
|
|
159
170
|
@Column()
|
|
160
171
|
isMarketplace?: boolean;
|
|
161
172
|
|
|
173
|
+
@Column()
|
|
174
|
+
addToCartLink?: string;
|
|
175
|
+
|
|
162
176
|
@Column()
|
|
163
177
|
currency?: CurrencyEnum;
|
|
164
178
|
|
|
165
179
|
@Column()
|
|
166
|
-
updateReason?: UpdateReasonEnum;
|
|
180
|
+
updateReason?: UpdateReasonEnum[];
|
|
167
181
|
|
|
168
182
|
@Column()
|
|
169
183
|
nameHistory?: {
|