mirror of
https://github.com/Mueller-Patrick/Betterzon.git
synced 2024-12-23 12:15:11 +00:00
Compare commits
No commits in common. "1a65783690c425af88282e56d85e03727da19993" and "f28dae3272d2ec1cd7fb7a2764a97b6484e64344" have entirely different histories.
1a65783690
...
f28dae3272
6
Backend/src/models/vendors/vendors.router.ts
vendored
6
Backend/src/models/vendors/vendors.router.ts
vendored
|
@ -86,7 +86,7 @@ vendorsRouter.get('/search/:term', async (req: Request, res: Response) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// PUT vendors/manage/deactivatelisting
|
// PUT /manage/deactivatelisting
|
||||||
vendorsRouter.put('/manage/deactivatelisting', async (req: Request, res: Response) => {
|
vendorsRouter.put('/manage/deactivatelisting', async (req: Request, res: Response) => {
|
||||||
try {
|
try {
|
||||||
// Authenticate user
|
// Authenticate user
|
||||||
|
@ -110,7 +110,7 @@ vendorsRouter.put('/manage/deactivatelisting', async (req: Request, res: Respons
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// PUT vendors/manage/shop/deactivate/:id
|
// PUT /manage/shop/deactivate/:id
|
||||||
vendorsRouter.put('/manage/shop/deactivate/:id', async (req: Request, res: Response) => {
|
vendorsRouter.put('/manage/shop/deactivate/:id', async (req: Request, res: Response) => {
|
||||||
try {
|
try {
|
||||||
// Authenticate user
|
// Authenticate user
|
||||||
|
@ -133,7 +133,7 @@ vendorsRouter.put('/manage/shop/deactivate/:id', async (req: Request, res: Respo
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// PUT vendors/manage/shop/activate/:id
|
// PUT /manage/shop/activate/:id
|
||||||
vendorsRouter.put('/manage/shop/activate/:id', async (req: Request, res: Response) => {
|
vendorsRouter.put('/manage/shop/activate/:id', async (req: Request, res: Response) => {
|
||||||
try {
|
try {
|
||||||
// Authenticate user
|
// Authenticate user
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
export interface FavoriteShop {
|
|
||||||
favorite_id: number;
|
|
||||||
vendor_id: number;
|
|
||||||
user_id: number;
|
|
||||||
}
|
|
|
@ -6,7 +6,6 @@ import {Price} from '../models/price';
|
||||||
import {Observable, of} from 'rxjs';
|
import {Observable, of} from 'rxjs';
|
||||||
import {Vendor} from '../models/vendor';
|
import {Vendor} from '../models/vendor';
|
||||||
import {PriceAlarm} from '../models/pricealarm';
|
import {PriceAlarm} from '../models/pricealarm';
|
||||||
import {FavoriteShop} from '../models/favoriteshop';
|
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
|
@ -32,7 +31,7 @@ export class ApiService {
|
||||||
* @param id The id of the product to get
|
* @param id The id of the product to get
|
||||||
* @return Observable<Product> An observable containing a single product
|
* @return Observable<Product> An observable containing a single product
|
||||||
*/
|
*/
|
||||||
getProduct(id: number): Observable<Product> {
|
getProduct(id): Observable<Product> {
|
||||||
try {
|
try {
|
||||||
return this.http.get<Product>((this.apiUrl + '/products/' + id));
|
return this.http.get<Product>((this.apiUrl + '/products/' + id));
|
||||||
} catch (exception) {
|
} catch (exception) {
|
||||||
|
@ -46,7 +45,7 @@ export class ApiService {
|
||||||
* @param query The search term to match
|
* @param query The search term to match
|
||||||
* @return Observable<Product[]> An observable list of products
|
* @return Observable<Product[]> An observable list of products
|
||||||
*/
|
*/
|
||||||
getProductsByQuery(query: string): Observable<Product[]> {
|
getProductsByQuery(query): Observable<Product[]> {
|
||||||
try {
|
try {
|
||||||
return this.http.get<Product[]>((this.apiUrl + '/products/search/' + query));
|
return this.http.get<Product[]>((this.apiUrl + '/products/search/' + query));
|
||||||
} catch (exception) {
|
} catch (exception) {
|
||||||
|
@ -91,10 +90,10 @@ export class ApiService {
|
||||||
* @param productId The product id of the product to fetch the prices for
|
* @param productId The product id of the product to fetch the prices for
|
||||||
* @return Observable<Price[]> An observable list of prices
|
* @return Observable<Price[]> An observable list of prices
|
||||||
*/
|
*/
|
||||||
getLowestPrices(productId: number): Observable<Price[]> {
|
getLowestPrices(productId): Observable<Price[]> {
|
||||||
try {
|
try {
|
||||||
let params = new HttpParams();
|
let params = new HttpParams();
|
||||||
params = params.append('product', productId.toString());
|
params = params.append('product', productId);
|
||||||
params = params.append('type', 'lowest');
|
params = params.append('type', 'lowest');
|
||||||
return this.http.get<Price[]>((this.apiUrl + '/prices'), {params});
|
return this.http.get<Price[]>((this.apiUrl + '/prices'), {params});
|
||||||
} catch (exception) {
|
} catch (exception) {
|
||||||
|
@ -107,10 +106,10 @@ export class ApiService {
|
||||||
* @param productId The product id of the product to get the price for
|
* @param productId The product id of the product to get the price for
|
||||||
* @return Observable<Price> An observable containing a single price
|
* @return Observable<Price> An observable containing a single price
|
||||||
*/
|
*/
|
||||||
getAmazonPrice(productId: number): Observable<Price> {
|
getAmazonPrice(productId): Observable<Price> {
|
||||||
try {
|
try {
|
||||||
let params = new HttpParams();
|
let params = new HttpParams();
|
||||||
params = params.append('product', productId.toString());
|
params = params.append('product', productId);
|
||||||
params = params.append('vendor', '1');
|
params = params.append('vendor', '1');
|
||||||
params = params.append('type', 'newest');
|
params = params.append('type', 'newest');
|
||||||
return this.http.get<Price>((this.apiUrl + '/prices'), {params});
|
return this.http.get<Price>((this.apiUrl + '/prices'), {params});
|
||||||
|
@ -124,10 +123,10 @@ export class ApiService {
|
||||||
* @param productId The product id of the product to fetch the prices for
|
* @param productId The product id of the product to fetch the prices for
|
||||||
* @return Observable<Price[]> An observable list of prices
|
* @return Observable<Price[]> An observable list of prices
|
||||||
*/
|
*/
|
||||||
getCurrentPricePerVendor(productId: number): Observable<Price[]> {
|
getCurrentPricePerVendor(productId): Observable<Price[]> {
|
||||||
try {
|
try {
|
||||||
let params = new HttpParams();
|
let params = new HttpParams();
|
||||||
params = params.append('product', productId.toString());
|
params = params.append('product', productId);
|
||||||
params = params.append('type', 'newest');
|
params = params.append('type', 'newest');
|
||||||
return this.http.get<Price[]>((this.apiUrl + '/prices'), {params});
|
return this.http.get<Price[]>((this.apiUrl + '/prices'), {params});
|
||||||
} catch (exception) {
|
} catch (exception) {
|
||||||
|
@ -155,87 +154,6 @@ export class ApiService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets a list of all managed vendors
|
|
||||||
* @return Observable<Vendor[]> An observable list of vendors
|
|
||||||
*/
|
|
||||||
getManagedVendors(): Observable<Vendor[]> {
|
|
||||||
try {
|
|
||||||
return this.http.get<Vendor[]>((this.apiUrl + '/vendors/managed'));
|
|
||||||
} catch (exception) {
|
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the specific vendor info by vendor id
|
|
||||||
* @param id The id of the vendor to get information for
|
|
||||||
* @return Observable<Vendor> An observable containing a single vendor
|
|
||||||
*/
|
|
||||||
getVendorById(id: number): Observable<Vendor> {
|
|
||||||
try {
|
|
||||||
return this.http.get<Vendor>((this.apiUrl + '/vendors/' + id));
|
|
||||||
} catch (exception) {
|
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets a list of vendors that match the given search term
|
|
||||||
* @param query The search term to match
|
|
||||||
* @return Observable<Product[]> An observable list of vendors
|
|
||||||
*/
|
|
||||||
getVendorsByQuery(query: string): Observable<Vendor[]> {
|
|
||||||
try {
|
|
||||||
return this.http.get<Vendor[]>((this.apiUrl + '/vendors/search/' + query));
|
|
||||||
} catch (exception) {
|
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deactivates the specified product listing for the specified vendor
|
|
||||||
* @param vendorId The vendor id of the vendor to deactivate the product for
|
|
||||||
* @param productId The product id of the product to deactivate
|
|
||||||
* @return Observable<any> The observable response of the api
|
|
||||||
*/
|
|
||||||
deactivateSingleVendorListing(vendorId: number, productId: number): Observable<any> {
|
|
||||||
try {
|
|
||||||
return this.http.put((this.apiUrl + '/vendors/manage/deactivatelisting'), JSON.stringify({
|
|
||||||
vendor_id: vendorId,
|
|
||||||
product_id: productId
|
|
||||||
}));
|
|
||||||
} catch (exception) {
|
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deactivates the specified vendor completely
|
|
||||||
* @param vendorId The vendor id of the vendor to deactivate
|
|
||||||
* @return Observable<any> The observable response of the api
|
|
||||||
*/
|
|
||||||
deactivateVendor(vendorId: number): Observable<any> {
|
|
||||||
try {
|
|
||||||
return this.http.put((this.apiUrl + '/vendors/manage/shop/deactivate/' + vendorId), JSON.stringify({}));
|
|
||||||
} catch (exception) {
|
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Activates the specified vendor completely
|
|
||||||
* @param vendorId The vendor id of the vendor to activate
|
|
||||||
* @return Observable<any> The observable response of the api
|
|
||||||
*/
|
|
||||||
activateVendor(vendorId: number): Observable<any> {
|
|
||||||
try {
|
|
||||||
return this.http.put((this.apiUrl + '/vendors/manage/shop/activate/' + vendorId), JSON.stringify({}));
|
|
||||||
} catch (exception) {
|
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* ____ _ ___ __
|
/* ____ _ ___ __
|
||||||
/ __ \_____(_)_______ / | / /___ __________ ___ _____
|
/ __ \_____(_)_______ / | / /___ __________ ___ _____
|
||||||
|
@ -289,96 +207,4 @@ export class ApiService {
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* __ __
|
|
||||||
/ / / /_______ __________
|
|
||||||
/ / / / ___/ _ \/ ___/ ___/
|
|
||||||
/ /_/ (__ ) __/ / (__ )
|
|
||||||
\____/____/\___/_/ /____/
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Registers a new user with the API
|
|
||||||
* @param username The username for the new user
|
|
||||||
* @param password The password for the new user
|
|
||||||
* @param email The email address for the new user
|
|
||||||
* @return Observable<any> The observable response of the api
|
|
||||||
*/
|
|
||||||
registerUser(username: string, password: string, email: string): Observable<any> {
|
|
||||||
try {
|
|
||||||
return this.http.post((this.apiUrl + '/users/register'), JSON.stringify({
|
|
||||||
username,
|
|
||||||
password,
|
|
||||||
email
|
|
||||||
}));
|
|
||||||
} catch (exception) {
|
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Logs a user in with the api
|
|
||||||
* @param username The username of the user to log in
|
|
||||||
* @param password The password of the user to log in
|
|
||||||
* @return Observable<any> The observable response of the api
|
|
||||||
*/
|
|
||||||
loginUser(username: string, password: string): Observable<any> {
|
|
||||||
try {
|
|
||||||
return this.http.post((this.apiUrl + '/users/login'), JSON.stringify({
|
|
||||||
username,
|
|
||||||
password
|
|
||||||
}));
|
|
||||||
} catch (exception) {
|
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ______ _ __ __
|
|
||||||
/ ____/___ __ ______ _____(_) /____ _____/ /_ ____ ____ _____
|
|
||||||
/ /_ / __ `/ | / / __ \/ ___/ / __/ _ \ / ___/ __ \/ __ \/ __ \/ ___/
|
|
||||||
/ __/ / /_/ /| |/ / /_/ / / / / /_/ __/ (__ ) / / / /_/ / /_/ (__ )
|
|
||||||
/_/ \__,_/ |___/\____/_/ /_/\__/\___/ /____/_/ /_/\____/ .___/____/
|
|
||||||
/_/
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets a list of all favorite shops
|
|
||||||
* @return Observable<FavoriteShop[]> An observable list of favorite shops
|
|
||||||
*/
|
|
||||||
getFavoriteShops(): Observable<FavoriteShop[]> {
|
|
||||||
try {
|
|
||||||
return this.http.get<FavoriteShop[]>((this.apiUrl + '/favoriteshops'));
|
|
||||||
} catch (exception) {
|
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a vendor as a favorite
|
|
||||||
* @param vendorId The id of the vendor to mark as favorite
|
|
||||||
* @return Observable<any> The observable response of the api
|
|
||||||
*/
|
|
||||||
addFavoriteShop(vendorId: number): Observable<any> {
|
|
||||||
try {
|
|
||||||
return this.http.post((this.apiUrl + '/favoriteshops'), JSON.stringify({
|
|
||||||
vendor_id: vendorId
|
|
||||||
}));
|
|
||||||
} catch (exception) {
|
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deletes a vendor from favorites
|
|
||||||
* @param vendorId The id of the vendor to delete from favorites
|
|
||||||
* @return Observable<any> The observable response of the api
|
|
||||||
*/
|
|
||||||
deleteFavoriteShop(vendorId: number): Observable<any> {
|
|
||||||
try {
|
|
||||||
return this.http.delete((this.apiUrl + '/favoriteshops/' + vendorId));
|
|
||||||
} catch (exception) {
|
|
||||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user