mirror of
https://github.com/Mueller-Patrick/Betterzon.git
synced 2024-12-23 12:15:11 +00:00
BETTERZON-107: Refactoring code with Proxy as design pattern
This commit is contained in:
parent
061d1a46e0
commit
9415b46e95
|
@ -4,7 +4,24 @@ export interface Price {
|
||||||
vendor_id: number;
|
vendor_id: number;
|
||||||
price_in_cents: number;
|
price_in_cents: number;
|
||||||
timestamp: Date;
|
timestamp: Date;
|
||||||
// Only for deals
|
}
|
||||||
amazonDifference?: number;
|
|
||||||
amazonDifferencePercent?: number;
|
export class Deal implements Price {
|
||||||
|
price_id: number;
|
||||||
|
product_id: number;
|
||||||
|
vendor_id: number;
|
||||||
|
price_in_cents: number;
|
||||||
|
timestamp: Date;
|
||||||
|
amazonDifference: number;
|
||||||
|
amazonDifferencePercent: number;
|
||||||
|
|
||||||
|
constructor(price_id: number, product_id: number, vendor_id: number, price_in_cents: number, timestamp: Date, amazonDifference: number, amazonDifferencePercent: number) {
|
||||||
|
this.price_id = price_id;
|
||||||
|
this.product_id = product_id;
|
||||||
|
this.vendor_id = vendor_id;
|
||||||
|
this.price_in_cents = price_in_cents;
|
||||||
|
this.timestamp = timestamp;
|
||||||
|
this.amazonDifference = amazonDifference;
|
||||||
|
this.amazonDifferencePercent = amazonDifferencePercent;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ const pool = mariadb.createPool({
|
||||||
* Data Model Interfaces
|
* Data Model Interfaces
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {Price} from './price.interface';
|
import {Deal, Price} from './price.interface';
|
||||||
import {Prices} from './prices.interface';
|
import {Prices} from './prices.interface';
|
||||||
|
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@ export const getBestDeals = async (amount: number): Promise<Prices> => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Iterate over all prices to find the products with the biggest difference between amazon and other vendor
|
// Iterate over all prices to find the products with the biggest difference between amazon and other vendor
|
||||||
let deals: Price[] = [];
|
let deals: Deal[] = [];
|
||||||
|
|
||||||
Object.keys(allPrices).forEach(productId => {
|
Object.keys(allPrices).forEach(productId => {
|
||||||
if (allPrices[parseInt(productId)]) {
|
if (allPrices[parseInt(productId)]) {
|
||||||
|
@ -286,7 +286,7 @@ export const getBestDeals = async (amount: number): Promise<Prices> => {
|
||||||
|
|
||||||
// Push only deals were the amazon price is actually higher
|
// Push only deals were the amazon price is actually higher
|
||||||
if (deal.amazonDifferencePercent > 0) {
|
if (deal.amazonDifferencePercent > 0) {
|
||||||
deals.push(deal as Price);
|
deals.push(deal as Deal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue
Block a user