Skip to content
Snippets Groups Projects
Commit 64b912e4 authored by Omar Ibrahim Arfa's avatar Omar Ibrahim Arfa
Browse files

Add logging to beverage/router.py + remove logging from beverage/crud.py

parent 5bff8bed
Branches Pratikum3Fixes
No related tags found
No related merge requests found
import uuid
import logging
from sqlalchemy.orm import Session
......@@ -11,7 +10,6 @@ def create_beverage(schema: BeverageCreateSchema, db: Session):
entity = Beverage(**schema.dict())
db.add(entity)
db.commit()
logging.info('Created Beverage {} with a Quantity of {}'.format(entity.name, entity.stock))
return entity
......@@ -32,7 +30,6 @@ def get_all_beverages(db: Session):
def update_beverage(beverage: Beverage, changed_beverage: BeverageCreateSchema, db: Session):
for key, value in changed_beverage.dict().items():
setattr(beverage, key, value)
logging.info('Update Beverage {}'.format(beverage.id))
db.commit()
db.refresh(beverage)
return beverage
......@@ -41,6 +38,5 @@ def update_beverage(beverage: Beverage, changed_beverage: BeverageCreateSchema,
def delete_beverage_by_id(beverage_id: uuid.UUID, db: Session):
entity = get_beverage_by_id(beverage_id, db)
if entity:
logging.info('Delete Beverage {}'.format(entity.name))
db.delete(entity)
db.commit()
import uuid
from typing import List
import logging
from fastapi import APIRouter, Depends, Request, Response, status, HTTPException
from fastapi.responses import RedirectResponse
from sqlalchemy.orm import Session
......@@ -34,10 +34,12 @@ def create_beverage(beverage: BeverageCreateSchema,
beverage_found = beverage_crud.get_beverage_by_name(beverage.name, db)
if beverage_found:
logging.info('Beverage {} already exists (redirect)'.format(beverage.name))
url = request.url_for('get_beverage', beverage_id=beverage_found.id)
return RedirectResponse(url=url, status_code=status.HTTP_303_SEE_OTHER)
new_beverage = beverage_crud.create_beverage(beverage, db)
logging.info('Create Beverage {}'.format(beverage.name))
return new_beverage
......@@ -53,17 +55,21 @@ def update_beverage(
if beverage_found:
if beverage_found.name == changed_beverage.name:
logging.info('Update Beverage {}'.format(beverage_found.name))
beverage_crud.update_beverage(beverage_found, changed_beverage, db)
return Response(status_code=status.HTTP_204_NO_CONTENT)
else:
beverage_name_found = beverage_crud.get_beverage_by_name(changed_beverage.name, db)
if beverage_name_found:
logging.info('Update Beverage {} (Redirect)'.format(changed_beverage.name))
url = request.url_for('get_beverage', beverage_id=beverage_name_found.id)
return RedirectResponse(url=url, status_code=status.HTTP_303_SEE_OTHER)
else:
updated_beverage = beverage_crud.create_beverage(changed_beverage, db)
logging.info('Update Beverage {} (Create)'.format(updated_beverage.name))
response.status_code = status.HTTP_201_CREATED
else:
logging.error('Cannot Update Beverage {}, Beverage does not exist'.format(beverage_id))
raise HTTPException(status_code=404, detail='Item not found')
return updated_beverage
......@@ -77,8 +83,10 @@ def get_beverage(
beverage = beverage_crud.get_beverage_by_id(beverage_id, db)
if not beverage:
logging.error('Cannot GET Beverage {}, Beverage does not exist'.format(beverage_id))
raise HTTPException(status_code=404, detail='Item not found')
logging.info('GET Beverage {}'.format(beverage.id))
return beverage
......@@ -89,7 +97,9 @@ def delete_beverage(
beverage = beverage_crud.get_beverage_by_id(beverage_id, db)
if not beverage:
logging.error('Cannot Delete Beverage {}, Beverage does not exist'.format(beverage_id))
raise HTTPException(status_code=404, detail='Item not found')
logging.info('Delete Beverage {}'.format(beverage.id))
beverage_crud.delete_beverage_by_id(beverage_id, db)
return Response(status_code=status.HTTP_204_NO_CONTENT)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment