store-scrapper-js-common 1.0.113 → 1.0.116
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/product.d.ts +10 -1
- package/dist/entities/product.js +10 -0
- package/dist/entities/product.js.map +1 -1
- package/dist/entities/user.d.ts +1 -0
- package/dist/entities/user.js +1 -0
- package/dist/entities/user.js.map +1 -1
- package/package.json +1 -1
- package/src/entities/product.ts +9 -0
- package/src/entities/user.ts +1 -0
|
@@ -26,6 +26,7 @@ export declare enum UpdateReasonEnum {
|
|
|
26
26
|
MISSING_DATA = "missing_data",
|
|
27
27
|
FIX_DATA = "fix_data",
|
|
28
28
|
RE_LISTING = "re_listing",
|
|
29
|
+
OUT_OF_STOCK = "out_of_stock",
|
|
29
30
|
CHILDREN_NEW_PRICE = "children_new_price",
|
|
30
31
|
CHILDREN_NEW_CONDITIONAL_PRICE = "children_conditional_new_price",
|
|
31
32
|
CHILDREN_NEW_NAME = "children_new_name",
|
|
@@ -33,7 +34,8 @@ export declare enum UpdateReasonEnum {
|
|
|
33
34
|
CHILDREN_NEW_STOCK = "children_new_stock",
|
|
34
35
|
CHILDREN_MISSING_DATA = "children_missing_data",
|
|
35
36
|
CHILDREN_FIX_DATA = "children_fix_data",
|
|
36
|
-
CHILDREN_RE_LISTING = "children_re_listing"
|
|
37
|
+
CHILDREN_RE_LISTING = "children_re_listing",
|
|
38
|
+
CHILDREN_OUT_OF_STOCK = "children_out_of_stock"
|
|
37
39
|
}
|
|
38
40
|
export interface ProductAttributes {
|
|
39
41
|
stock?: number;
|
|
@@ -46,6 +48,7 @@ export interface ConditionalPrice {
|
|
|
46
48
|
price?: number;
|
|
47
49
|
cardRequired?: boolean;
|
|
48
50
|
createdAt?: Date;
|
|
51
|
+
updatedAt?: Date;
|
|
49
52
|
}
|
|
50
53
|
export declare class Product extends AbstractBase {
|
|
51
54
|
name: string;
|
|
@@ -63,6 +66,7 @@ export declare class Product extends AbstractBase {
|
|
|
63
66
|
normalizedSellerName?: string;
|
|
64
67
|
price?: Price;
|
|
65
68
|
conditionalPrice?: ConditionalPrice;
|
|
69
|
+
conditionalPriceHistory?: ConditionalPrice[];
|
|
66
70
|
previousPrice?: Price;
|
|
67
71
|
bestPrice?: Price;
|
|
68
72
|
priceStats?: PricesStats;
|
|
@@ -86,6 +90,11 @@ export declare class Product extends AbstractBase {
|
|
|
86
90
|
pickUpFromStoreShipping?: boolean;
|
|
87
91
|
fastDelivery?: boolean;
|
|
88
92
|
enabled?: boolean;
|
|
93
|
+
enabledHistory?: {
|
|
94
|
+
enabled: boolean;
|
|
95
|
+
updatedAt?: Date;
|
|
96
|
+
createdAt?: Date;
|
|
97
|
+
};
|
|
89
98
|
sourceUrl?: string;
|
|
90
99
|
request?: HttpRequest;
|
|
91
100
|
updatedAt?: Date;
|
package/dist/entities/product.js
CHANGED
|
@@ -40,6 +40,7 @@ var UpdateReasonEnum;
|
|
|
40
40
|
UpdateReasonEnum["MISSING_DATA"] = "missing_data";
|
|
41
41
|
UpdateReasonEnum["FIX_DATA"] = "fix_data";
|
|
42
42
|
UpdateReasonEnum["RE_LISTING"] = "re_listing";
|
|
43
|
+
UpdateReasonEnum["OUT_OF_STOCK"] = "out_of_stock";
|
|
43
44
|
UpdateReasonEnum["CHILDREN_NEW_PRICE"] = "children_new_price";
|
|
44
45
|
UpdateReasonEnum["CHILDREN_NEW_CONDITIONAL_PRICE"] = "children_conditional_new_price";
|
|
45
46
|
UpdateReasonEnum["CHILDREN_NEW_NAME"] = "children_new_name";
|
|
@@ -48,6 +49,7 @@ var UpdateReasonEnum;
|
|
|
48
49
|
UpdateReasonEnum["CHILDREN_MISSING_DATA"] = "children_missing_data";
|
|
49
50
|
UpdateReasonEnum["CHILDREN_FIX_DATA"] = "children_fix_data";
|
|
50
51
|
UpdateReasonEnum["CHILDREN_RE_LISTING"] = "children_re_listing";
|
|
52
|
+
UpdateReasonEnum["CHILDREN_OUT_OF_STOCK"] = "children_out_of_stock";
|
|
51
53
|
})(UpdateReasonEnum = exports.UpdateReasonEnum || (exports.UpdateReasonEnum = {}));
|
|
52
54
|
let Product = class Product extends abstract_base_1.AbstractBase {
|
|
53
55
|
};
|
|
@@ -117,6 +119,10 @@ __decorate([
|
|
|
117
119
|
typeorm_1.Column(),
|
|
118
120
|
__metadata("design:type", Object)
|
|
119
121
|
], Product.prototype, "conditionalPrice", void 0);
|
|
122
|
+
__decorate([
|
|
123
|
+
typeorm_1.Column(),
|
|
124
|
+
__metadata("design:type", Array)
|
|
125
|
+
], Product.prototype, "conditionalPriceHistory", void 0);
|
|
120
126
|
__decorate([
|
|
121
127
|
typeorm_1.Column(),
|
|
122
128
|
__metadata("design:type", price_1.Price)
|
|
@@ -185,6 +191,10 @@ __decorate([
|
|
|
185
191
|
typeorm_1.Column(),
|
|
186
192
|
__metadata("design:type", Boolean)
|
|
187
193
|
], Product.prototype, "enabled", void 0);
|
|
194
|
+
__decorate([
|
|
195
|
+
typeorm_1.Column(),
|
|
196
|
+
__metadata("design:type", Object)
|
|
197
|
+
], Product.prototype, "enabledHistory", void 0);
|
|
188
198
|
__decorate([
|
|
189
199
|
typeorm_1.Column(),
|
|
190
200
|
__metadata("design:type", String)
|
|
@@ -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;AAGtD,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';\nimport { ImageTypeEnum } from '../enums/image-type.enum';\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 OUT_OF_STOCK = 'out_of_stock',\n\n CHILDREN_NEW_PRICE = 'children_new_price',\n CHILDREN_NEW_CONDITIONAL_PRICE = 'children_conditional_new_price',\n CHILDREN_NEW_NAME = 'children_new_name',\n CHILDREN_NEW_LISTING = 'children_new_listing',\n CHILDREN_NEW_STOCK = 'children_new_stock',\n CHILDREN_MISSING_DATA = 'children_missing_data',\n CHILDREN_FIX_DATA = 'children_fix_data',\n CHILDREN_RE_LISTING = 'children_re_listing',\n CHILDREN_OUT_OF_STOCK = 'children_out_of_stock'\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 updatedAt?: 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 conditionalPriceHistory?: 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 images?: { type: ImageTypeEnum, url: string }[]\n\n @Column()\n category?: string;\n\n @Column()\n categoryPath?: string;\n\n @Column()\n page?: number;\n\n @Column()\n userRank?: number;\n\n @Column()\n attributes?: ProductAttributes;\n\n @Column()\n stockHistory?: {\n stock: number,\n updatedAt: string,\n }[];\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 enabledHistory?: {enabled: boolean, updatedAt?:Date, createdAt?: Date};\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 @Column()\n children?: Product[]\n}\n"]}
|
package/dist/entities/user.d.ts
CHANGED
package/dist/entities/user.js
CHANGED
|
@@ -17,6 +17,7 @@ var USER_ROLES;
|
|
|
17
17
|
(function (USER_ROLES) {
|
|
18
18
|
USER_ROLES["ADMIN"] = "admin";
|
|
19
19
|
USER_ROLES["VIP"] = "vip";
|
|
20
|
+
USER_ROLES["RESELLER_GROUP"] = "reseller_group";
|
|
20
21
|
USER_ROLES["NORMAL"] = "normal";
|
|
21
22
|
})(USER_ROLES = exports.USER_ROLES || (exports.USER_ROLES = {}));
|
|
22
23
|
let User = class User extends abstract_base_1.AbstractBase {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"/","sources":["entities/user.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAEiB;AACjB,qDAA6C;AAC7C,mDAA+C;AAI/C,IAAY,
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"/","sources":["entities/user.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAEiB;AACjB,qDAA6C;AAC7C,mDAA+C;AAI/C,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,yBAAW,CAAA;IACX,+CAAiC,CAAA;IACjC,+BAAiB,CAAA;AACrB,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB;AAID,IAAa,IAAI,GAAjB,MAAa,IAAK,SAAQ,4BAAY;IAAtC;;QA0BI,YAAO,GAAG,IAAI,CAAC;IAOnB,CAAC;CAAA,CAAA;AA/BG;IADC,gBAAM,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;;mCACrB;AAIpB;IAFC,gBAAM,EAAE;IACR,4BAAU,EAAE;;sCACI;AAIjB;IAFC,gBAAM,EAAE;IACR,4BAAU,EAAE;;mCACC;AAGd;IADC,gBAAM,EAAE;;mCACM;AAGf;IADC,gBAAM,EAAE;;mCACM;AAIf;IAFC,gBAAM,EAAE;IACR,eAAK,EAAE;;4CACgB;AAGxB;IADC,gBAAM,EAAE;;sCACS;AAGlB;IADC,gBAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;qCACX;AAGf;IADC,gBAAM,EAAE;;0CACwB;AAGjC;IADC,gBAAM,EAAE;;8CACoB;AAhCpB,IAAI;IAFhB,gBAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACzB,gBAAM,CAAC,CAAC,UAAU,CAAC,CAAC;GACR,IAAI,CAiChB;AAjCY,oBAAI","sourcesContent":["import {\n Column, Entity, Index, Unique,\n} from 'typeorm';\nimport { IsNotEmpty } from 'class-validator';\nimport { AbstractBase } from './abstract-base';\nimport { Product } from './product';\nimport { AlertConditions } from './alert-conditions';\n\nexport enum USER_ROLES {\n ADMIN = 'admin',\n VIP = 'vip',\n RESELLER_GROUP = 'reseller_group',\n NORMAL = 'normal'\n}\n\n@Entity({ name: 'users' })\n@Unique(['username'])\nexport class User extends AbstractBase {\n @Column({ default: [USER_ROLES.NORMAL] })\n roles: USER_ROLES[];\n\n @Column()\n @IsNotEmpty()\n username: string;\n\n @Column()\n @IsNotEmpty()\n email: string;\n\n @Column()\n phone?: number;\n\n @Column()\n alias?: string;\n\n @Column()\n @Index()\n telegramChatId?: number;\n\n @Column()\n cloudRef?: string;\n\n @Column({ default: true })\n enabled = true;\n\n @Column()\n productAlert?: AlertConditions[];\n\n @Column()\n productWatchList?: Product[];\n}\n"]}
|
package/package.json
CHANGED
package/src/entities/product.ts
CHANGED
|
@@ -33,6 +33,7 @@ export enum UpdateReasonEnum {
|
|
|
33
33
|
MISSING_DATA = 'missing_data',
|
|
34
34
|
FIX_DATA = 'fix_data',
|
|
35
35
|
RE_LISTING = 're_listing',
|
|
36
|
+
OUT_OF_STOCK = 'out_of_stock',
|
|
36
37
|
|
|
37
38
|
CHILDREN_NEW_PRICE = 'children_new_price',
|
|
38
39
|
CHILDREN_NEW_CONDITIONAL_PRICE = 'children_conditional_new_price',
|
|
@@ -42,6 +43,7 @@ export enum UpdateReasonEnum {
|
|
|
42
43
|
CHILDREN_MISSING_DATA = 'children_missing_data',
|
|
43
44
|
CHILDREN_FIX_DATA = 'children_fix_data',
|
|
44
45
|
CHILDREN_RE_LISTING = 'children_re_listing',
|
|
46
|
+
CHILDREN_OUT_OF_STOCK = 'children_out_of_stock'
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
export interface ProductAttributes {
|
|
@@ -61,6 +63,7 @@ export interface ConditionalPrice {
|
|
|
61
63
|
price?:number;
|
|
62
64
|
cardRequired?: boolean;
|
|
63
65
|
createdAt?: Date;
|
|
66
|
+
updatedAt?: Date;
|
|
64
67
|
}
|
|
65
68
|
|
|
66
69
|
@Entity({ name: 'products' })
|
|
@@ -117,6 +120,9 @@ export class Product extends AbstractBase {
|
|
|
117
120
|
@Column()
|
|
118
121
|
conditionalPrice?: ConditionalPrice;
|
|
119
122
|
|
|
123
|
+
@Column()
|
|
124
|
+
conditionalPriceHistory?: ConditionalPrice[];
|
|
125
|
+
|
|
120
126
|
@Column()
|
|
121
127
|
previousPrice?: Price;
|
|
122
128
|
|
|
@@ -171,6 +177,9 @@ export class Product extends AbstractBase {
|
|
|
171
177
|
@Column()
|
|
172
178
|
enabled?: boolean;
|
|
173
179
|
|
|
180
|
+
@Column()
|
|
181
|
+
enabledHistory?: {enabled: boolean, updatedAt?:Date, createdAt?: Date};
|
|
182
|
+
|
|
174
183
|
@Column()
|
|
175
184
|
sourceUrl?: string;
|
|
176
185
|
|