mirror of
https://github.com/Mueller-Patrick/Betterzon.git
synced 2024-12-22 19:55:12 +00:00
Merge branch 'develop' into BETTERZON-78
This commit is contained in:
commit
058230e9a9
|
@ -23,6 +23,9 @@ import {Categories} from './categories.interface';
|
|||
* Service Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fetches and returns all known categories
|
||||
*/
|
||||
export const findAll = async (): Promise<Categories> => {
|
||||
let conn;
|
||||
let categRows = [];
|
||||
|
@ -54,6 +57,10 @@ export const findAll = async (): Promise<Categories> => {
|
|||
return categRows;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns the category with the specified id
|
||||
* @param id The id of the category to fetch
|
||||
*/
|
||||
export const find = async (id: number): Promise<Category> => {
|
||||
let conn;
|
||||
let categ: any;
|
||||
|
@ -77,6 +84,10 @@ export const find = async (id: number): Promise<Category> => {
|
|||
return categ;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns all categories that match the search term
|
||||
* @param term the term to match
|
||||
*/
|
||||
export const findBySearchTerm = async (term: string): Promise<Categories> => {
|
||||
let conn;
|
||||
let categRows = [];
|
||||
|
@ -100,36 +111,3 @@ export const findBySearchTerm = async (term: string): Promise<Categories> => {
|
|||
|
||||
return categRows;
|
||||
};
|
||||
|
||||
// export const create = async (newItem: Product): Promise<void> => {
|
||||
// let conn;
|
||||
// try {
|
||||
// conn = await pool.getConnection();
|
||||
// await conn.query("");
|
||||
//
|
||||
// } catch (err) {
|
||||
// throw err;
|
||||
// } finally {
|
||||
// if (conn) conn.end();
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// export const update = async (updatedItem: Product): Promise<void> => {
|
||||
// if (models.products[updatedItem.product_id]) {
|
||||
// models.products[updatedItem.product_id] = updatedItem;
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// throw new Error("No record found to update");
|
||||
// };
|
||||
//
|
||||
// export const remove = async (id: number): Promise<void> => {
|
||||
// const record: Product = models.products[id];
|
||||
//
|
||||
// if (record) {
|
||||
// delete models.products[id];
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// throw new Error("No record found to delete");
|
||||
// };
|
||||
|
|
|
@ -50,7 +50,7 @@ manufacturersRouter.get('/:id', async (req: Request, res: Response) => {
|
|||
}
|
||||
});
|
||||
|
||||
// GET items/:name
|
||||
// GET items/:term
|
||||
manufacturersRouter.get('/search/:term', async (req: Request, res: Response) => {
|
||||
const term: string = req.params.term;
|
||||
|
||||
|
|
|
@ -23,6 +23,9 @@ import {Manufacturers} from './manufacturers.interface';
|
|||
* Service Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fetches and returns all known manufacturers
|
||||
*/
|
||||
export const findAll = async (): Promise<Manufacturers> => {
|
||||
let conn;
|
||||
let manRows = [];
|
||||
|
@ -54,6 +57,10 @@ export const findAll = async (): Promise<Manufacturers> => {
|
|||
return manRows;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns the manufacturer with the specified id
|
||||
* @param id The id of the manufacturer to fetch
|
||||
*/
|
||||
export const find = async (id: number): Promise<Manufacturer> => {
|
||||
let conn;
|
||||
let man: any;
|
||||
|
@ -77,6 +84,10 @@ export const find = async (id: number): Promise<Manufacturer> => {
|
|||
return man;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns all manufacturers that match the search term
|
||||
* @param term the term to match
|
||||
*/
|
||||
export const findBySearchTerm = async (term: string): Promise<Manufacturers> => {
|
||||
let conn;
|
||||
let manRows = [];
|
||||
|
@ -100,36 +111,3 @@ export const findBySearchTerm = async (term: string): Promise<Manufacturers> =>
|
|||
|
||||
return manRows;
|
||||
};
|
||||
|
||||
// export const create = async (newItem: Product): Promise<void> => {
|
||||
// let conn;
|
||||
// try {
|
||||
// conn = await pool.getConnection();
|
||||
// await conn.query("");
|
||||
//
|
||||
// } catch (err) {
|
||||
// throw err;
|
||||
// } finally {
|
||||
// if (conn) conn.end();
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// export const update = async (updatedItem: Product): Promise<void> => {
|
||||
// if (models.products[updatedItem.product_id]) {
|
||||
// models.products[updatedItem.product_id] = updatedItem;
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// throw new Error("No record found to update");
|
||||
// };
|
||||
//
|
||||
// export const remove = async (id: number): Promise<void> => {
|
||||
// const record: Product = models.products[id];
|
||||
//
|
||||
// if (record) {
|
||||
// delete models.products[id];
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// throw new Error("No record found to delete");
|
||||
// };
|
||||
|
|
|
@ -23,6 +23,9 @@ import {Prices} from './prices.interface';
|
|||
* Service Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fetches and returns all known prices
|
||||
*/
|
||||
export const findAll = async (): Promise<Prices> => {
|
||||
let conn;
|
||||
let priceRows = [];
|
||||
|
@ -60,6 +63,10 @@ export const findAll = async (): Promise<Prices> => {
|
|||
return priceRows;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns the price with the specified id
|
||||
* @param id The id of the price to fetch
|
||||
*/
|
||||
export const find = async (id: number): Promise<Price> => {
|
||||
let conn;
|
||||
let price: any;
|
||||
|
@ -83,6 +90,10 @@ export const find = async (id: number): Promise<Price> => {
|
|||
return price;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns all prices that belong to the specified product
|
||||
* @param product the product to fetch the prices for
|
||||
*/
|
||||
export const findByProduct = async (product: number): Promise<Prices> => {
|
||||
let conn;
|
||||
let priceRows = [];
|
||||
|
@ -106,6 +117,14 @@ export const findByProduct = async (product: number): Promise<Prices> => {
|
|||
return priceRows;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns prices that belong to the specified product.
|
||||
* If type is newest, only the newest prices for each vendor will be returned.
|
||||
* If type is lowest, the lowest daily price for the product is returned.
|
||||
* Otherwise, all prices for this product are returned.
|
||||
* @param product The product to fetch the prices for
|
||||
* @param type The type of prices, e.g. newest / lowest
|
||||
*/
|
||||
export const findByType = async (product: string, type: string): Promise<Prices> => {
|
||||
let conn;
|
||||
let priceRows = [];
|
||||
|
@ -152,6 +171,15 @@ export const findByType = async (product: string, type: string): Promise<Prices>
|
|||
return priceRows;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns prices that belong to the specified product and vendor.
|
||||
* If type is newest, only the newest known price for the product at the vendor is returned.
|
||||
* If type is lowest, only the lowest ever known price for the product at the vendor is returned.
|
||||
* Otherwise, all prices for this product are returned.
|
||||
* @param product The product to fetch the prices for
|
||||
* @param vendor The vendor to fetch the prices for
|
||||
* @param type The type of prices, e.g. newest / lowest
|
||||
*/
|
||||
export const findByVendor = async (product: string, vendor: string, type: string): Promise<Prices> => {
|
||||
let conn;
|
||||
let priceRows = [];
|
||||
|
@ -186,6 +214,11 @@ export const findByVendor = async (product: string, vendor: string, type: string
|
|||
return priceRows;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns the best current deals, i.e. the non-amazon prices that have the biggest difference to amazon prices.
|
||||
* Only the latest known prices for every vendor are taken into consideration so we only get up-to-date-deals.
|
||||
* @param amount The amount of deals to return
|
||||
*/
|
||||
export const getBestDeals = async (amount: number): Promise<Prices> => {
|
||||
let conn;
|
||||
let priceRows = [];
|
||||
|
@ -282,7 +315,7 @@ export const getBestDeals = async (amount: number): Promise<Prices> => {
|
|||
};
|
||||
|
||||
/**
|
||||
* Get the lowest, latest, non-amazon price for each given product
|
||||
* Fetches and returns the lowest, latest, non-amazon price for each given product
|
||||
* @param ids the ids of the products
|
||||
*/
|
||||
export const findListByProducts = async (productIds: [number]): Promise<Prices> => {
|
||||
|
@ -344,36 +377,3 @@ export const findListByProducts = async (productIds: [number]): Promise<Prices>
|
|||
|
||||
return priceRows;
|
||||
};
|
||||
|
||||
// export const create = async (newItem: Product): Promise<void> => {
|
||||
// let conn;
|
||||
// try {
|
||||
// conn = await pool.getConnection();
|
||||
// await conn.query("");
|
||||
//
|
||||
// } catch (err) {
|
||||
// throw err;
|
||||
// } finally {
|
||||
// if (conn) conn.end();
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// export const update = async (updatedItem: Product): Promise<void> => {
|
||||
// if (models.products[updatedItem.product_id]) {
|
||||
// models.products[updatedItem.product_id] = updatedItem;
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// throw new Error("No record found to update");
|
||||
// };
|
||||
//
|
||||
// export const remove = async (id: number): Promise<void> => {
|
||||
// const record: Product = models.products[id];
|
||||
//
|
||||
// if (record) {
|
||||
// delete models.products[id];
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// throw new Error("No record found to delete");
|
||||
// };
|
||||
|
|
|
@ -23,6 +23,9 @@ import {Products} from './products.interface';
|
|||
* Service Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fetches and returns all known products
|
||||
*/
|
||||
export const findAll = async (): Promise<Products> => {
|
||||
let conn;
|
||||
let prodRows = [];
|
||||
|
@ -74,6 +77,10 @@ export const findAll = async (): Promise<Products> => {
|
|||
return prodRows;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns the product with the specified id
|
||||
* @param id The id of the product to fetch
|
||||
*/
|
||||
export const find = async (id: number): Promise<Product> => {
|
||||
let conn;
|
||||
let prod: any;
|
||||
|
@ -97,6 +104,10 @@ export const find = async (id: number): Promise<Product> => {
|
|||
return prod;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns all products that match the search term
|
||||
* @param term the term to match
|
||||
*/
|
||||
export const findBySearchTerm = async (term: string): Promise<Products> => {
|
||||
let conn;
|
||||
let prodRows = [];
|
||||
|
@ -122,6 +133,10 @@ export const findBySearchTerm = async (term: string): Promise<Products> => {
|
|||
return prodRows;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns the product details for the given list of product ids
|
||||
* @param ids The list of product ids to fetch the details for
|
||||
*/
|
||||
export const findList = async (ids: [number]): Promise<Products> => {
|
||||
let conn;
|
||||
let prodRows = [];
|
||||
|
@ -144,36 +159,3 @@ export const findList = async (ids: [number]): Promise<Products> => {
|
|||
|
||||
return prodRows;
|
||||
};
|
||||
|
||||
// export const create = async (newItem: Product): Promise<void> => {
|
||||
// let conn;
|
||||
// try {
|
||||
// conn = await pool.getConnection();
|
||||
// await conn.query("");
|
||||
//
|
||||
// } catch (err) {
|
||||
// throw err;
|
||||
// } finally {
|
||||
// if (conn) conn.end();
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// export const update = async (updatedItem: Product): Promise<void> => {
|
||||
// if (models.products[updatedItem.product_id]) {
|
||||
// models.products[updatedItem.product_id] = updatedItem;
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// throw new Error("No record found to update");
|
||||
// };
|
||||
//
|
||||
// export const remove = async (id: number): Promise<void> => {
|
||||
// const record: Product = models.products[id];
|
||||
//
|
||||
// if (record) {
|
||||
// delete models.products[id];
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// throw new Error("No record found to delete");
|
||||
// };
|
||||
|
|
44
Backend/src/models/vendors/vendors.service.ts
vendored
44
Backend/src/models/vendors/vendors.service.ts
vendored
|
@ -23,6 +23,9 @@ import {Vendors} from './vendors.interface';
|
|||
* Service Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fetches and returns all known vendors
|
||||
*/
|
||||
export const findAll = async (): Promise<Vendors> => {
|
||||
let conn;
|
||||
let vendorRows = [];
|
||||
|
@ -66,6 +69,10 @@ export const findAll = async (): Promise<Vendors> => {
|
|||
return vendorRows;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns the vendor with the specified id
|
||||
* @param id The id of the vendor to fetch
|
||||
*/
|
||||
export const find = async (id: number): Promise<Vendor> => {
|
||||
let conn;
|
||||
let vendor: any;
|
||||
|
@ -89,6 +96,10 @@ export const find = async (id: number): Promise<Vendor> => {
|
|||
return vendor;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetches and returns all vendors that match the search term
|
||||
* @param term the term to match
|
||||
*/
|
||||
export const findBySearchTerm = async (term: string): Promise<Vendors> => {
|
||||
let conn;
|
||||
let vendorRows = [];
|
||||
|
@ -112,36 +123,3 @@ export const findBySearchTerm = async (term: string): Promise<Vendors> => {
|
|||
|
||||
return vendorRows;
|
||||
};
|
||||
|
||||
// export const create = async (newItem: Product): Promise<void> => {
|
||||
// let conn;
|
||||
// try {
|
||||
// conn = await pool.getConnection();
|
||||
// await conn.query("");
|
||||
//
|
||||
// } catch (err) {
|
||||
// throw err;
|
||||
// } finally {
|
||||
// if (conn) conn.end();
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// export const update = async (updatedItem: Product): Promise<void> => {
|
||||
// if (models.products[updatedItem.product_id]) {
|
||||
// models.products[updatedItem.product_id] = updatedItem;
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// throw new Error("No record found to update");
|
||||
// };
|
||||
//
|
||||
// export const remove = async (id: number): Promise<void> => {
|
||||
// const record: Product = models.products[id];
|
||||
//
|
||||
// if (record) {
|
||||
// delete models.products[id];
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// throw new Error("No record found to delete");
|
||||
// };
|
||||
|
|
Loading…
Reference in New Issue
Block a user