Skip to content

Commit ddf6eaf

Browse files
committed
get and add inventory working
1 parent af3d241 commit ddf6eaf

File tree

4 files changed

+18
-16
lines changed

4 files changed

+18
-16
lines changed

api/helpers/inventory_helper.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@
99

1010
logger = logging.getLogger()
1111

12+
def to_dict(self):
13+
return {
14+
"name": self.name,
15+
"quantity": self.quantity,
16+
"category": self.category,
17+
"user_id": self.user_id,
18+
"notes": self.notes,
19+
}
1220

1321
class InventoryHelper(object):
1422
def __init__(self, user: User) -> None:
@@ -50,7 +58,7 @@ def get_store_inventory(self, items: List[str] = None) -> List[Dict]:
5058
db_session.query(Inventory)
5159
.join(User)
5260
.filter(User.id == self.user.id)
53-
.first()
61+
.all()
5462
)
5563
if store_inventory:
5664
if items:
@@ -63,7 +71,7 @@ def get_store_inventory(self, items: List[str] = None) -> List[Dict]:
6371
logger.exception(f"Error while adding inventory with exception details {e}")
6472
raise e
6573
else:
66-
return DBHelper.convert_query_result_to_dict(query_result=store_inventory)
74+
return [to_dict(inventory) for inventory in store_inventory]
6775
finally:
6876
db_session.close()
6977

@@ -81,7 +89,7 @@ def get_inventory_by_category(self, category: Enum) -> List[Dict]:
8189
)
8290
raise e
8391
else:
84-
return DBHelper.convert_query_result_to_dict(query_result=inventory)
92+
return [inv.to_dict() for inv in inventory]
8593
finally:
8694
db_session.close()
8795

api/inventory_api.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,15 @@ async def add_inventory(
3636
return {"inventory_id": new_inventory_id}
3737

3838

39-
@inventory_apis.post("/get-store-inventory", response_model=StoreInventoryResponse)
39+
@inventory_apis.get("/get-store-inventory", response_model=StoreInventoryResponse)
4040
async def get_store_inventory(
4141
items: List[str] = None,
42-
quantity_limit: int = None,
4342
user: User = Depends(auth_required),
4443
):
4544
logger.info(f"Getting inventory for store: {user.email}")
4645
try:
4746
inventory_helper_obj = InventoryHelper(user=user)
48-
inventory = inventory_helper_obj.get_store_inventory(
49-
items=items, quantity_limit=quantity_limit
50-
)
47+
inventory = inventory_helper_obj.get_store_inventory(items=items)
5148
except Exception as e:
5249
logger.exception(
5350
f"Error while retreiving store inventory with exception details {e}"
@@ -63,15 +60,12 @@ async def get_store_inventory(
6360
@inventory_apis.delete("/delete-inventory", response_model=StoreInventoryResponse)
6461
async def delete_inventory(
6562
items: List[str] = None,
66-
quantity_limit: int = None,
6763
user: User = Depends(auth_required),
6864
):
6965
logger.info(f"Deleting inventory for user: {user.email}")
7066
try:
7167
inventory_helper_obj = InventoryHelper(user=user)
72-
inventory = inventory_helper_obj.delete_inventory(
73-
items=items, quantity_limit=quantity_limit
74-
)
68+
inventory_helper_obj.delete_inventory(items=items)
7569
except Exception as e:
7670
logger.exception(f"Error while deleting inventory with exception details {e}")
7771
raise HTTPException(

api/validators/inventory_validation.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ class AddInventoryResponse(BaseModel):
2626

2727

2828
class StoreInventory(BaseModel):
29-
email: str
30-
name: str # TODO distinguish between user name and inventory name
31-
address: str
29+
name: str
3230
quantity: int
31+
category: InventoryCategory
32+
notes: Optional[str] = None
3333

3434

3535
class StoreInventoryResponse(BaseModel):

main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,4 @@ async def welcome():
5353
create_db_and_tables()
5454

5555
if __name__ == "__main__":
56-
uvicorn.run(app, port=8009)
56+
uvicorn.run(app, port=8000)

0 commit comments

Comments
 (0)