prathameshks commited on
Commit
acbe5b8
·
1 Parent(s): 103bb6b

added API for barcode fetch

Browse files
Files changed (2) hide show
  1. logger_manager.py +0 -6
  2. routers/product.py +18 -0
logger_manager.py CHANGED
@@ -24,21 +24,15 @@ logger.addHandler(console_handler)
24
 
25
  def log_debug(message: str):
26
  logger.debug(message)
27
- log_info(f"Debug: {message}")
28
- log_error(f"Debug: {message}")
29
 
30
  def log_info(message: str):
31
  logger.info(message)
32
 
33
  def log_warning(message: str):
34
  logger.warning(message)
35
- log_info(f"Warning: {message}")
36
- log_error(f"Warning: {message}")
37
 
38
  def log_error(message: str):
39
  logger.error(message)
40
 
41
  def log_critical(message: str):
42
  logger.critical(message)
43
- log_info(f"Critical: {message}")
44
- log_error(f"Critical: {message}")
 
24
 
25
  def log_debug(message: str):
26
  logger.debug(message)
 
 
27
 
28
  def log_info(message: str):
29
  logger.info(message)
30
 
31
  def log_warning(message: str):
32
  logger.warning(message)
 
 
33
 
34
  def log_error(message: str):
35
  logger.error(message)
36
 
37
  def log_critical(message: str):
38
  logger.critical(message)
 
 
routers/product.py CHANGED
@@ -17,6 +17,7 @@ from dotenv import load_dotenv
17
  import requests
18
  import json
19
  from services.ingredients import IngredientService
 
20
 
21
  load_dotenv()
22
 
@@ -174,3 +175,20 @@ async def create_product(
174
  return JSONResponse({"error": e.detail}, status_code=e.status_code)
175
  except Exception as e:
176
  return JSONResponse({"error": str(e)}, status_code=500)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  import requests
18
  import json
19
  from services.ingredients import IngredientService
20
+ from utils.fetch_data import fetch_product_data_from_api
21
 
22
  load_dotenv()
23
 
 
175
  return JSONResponse({"error": e.detail}, status_code=e.status_code)
176
  except Exception as e:
177
  return JSONResponse({"error": str(e)}, status_code=500)
178
+
179
+
180
+ @router.get("/find_barcode/{barcode_number}")
181
+ async def find_product_by_barcode(barcode_number: str):
182
+ """Endpoint to find product data using a barcode number."""
183
+ log_info(f"Find product by barcode endpoint called for barcode: {barcode_number}")
184
+ try:
185
+ product_data = await fetch_product_data_from_api(barcode_number)
186
+ if product_data:
187
+ # dump to log file
188
+ log_debug(string(product_data))
189
+ return JSONResponse(product_data)
190
+ else:
191
+ raise HTTPException(status_code=404, detail=f"Product not found for barcode: {barcode_number}")
192
+ except Exception as e:
193
+ log_error(f"Error fetching product data for barcode {barcode_number}: {e}")
194
+ raise HTTPException(status_code=500, detail=f"Error fetching product data: {e}")