Commit f983ca62 authored by vipul.v's avatar vipul.v

update

parent 10aa6d65
...@@ -4,4 +4,4 @@ host=0.0.0.0 ...@@ -4,4 +4,4 @@ host=0.0.0.0
[MONGO-DB] [MONGO-DB]
mongo_uri=mongodb://192.168.0.220:2717/ mongo_uri=mongodb://192168.0.220:2717/
\ No newline at end of file \ No newline at end of file
...@@ -5,3 +5,4 @@ class APIEndpoints: ...@@ -5,3 +5,4 @@ class APIEndpoints:
insert = "/insert" insert = "/insert"
update = "/update" update = "/update"
find = "/find" find = "/find"
...@@ -12,7 +12,7 @@ class InventoryCollection(MongoCollectionBaseClass): ...@@ -12,7 +12,7 @@ class InventoryCollection(MongoCollectionBaseClass):
def insert_item(self, data): def insert_item(self, data):
self.insert_one(data) self.insert_one(data)
def list_items(self, data): def list_item(self, data):
self.find_one(data) self.find_one(data)
def delete_item(self, data): def delete_item(self, data):
......
# class for CRUD operations # class for CRUD operations
from script.core.db.mongo.interns2023.inventory import InventoryCollection from script.core.db.mongo.interns2023.inventory import InventoryCollection
from script.core.errors import NameDoesNotExist from script.core.errors import NameDoesNotExist
from script.core.schema.inventory import Inventory
class InventoryData: class InventoryData:
...@@ -16,6 +18,7 @@ class InventoryData: ...@@ -16,6 +18,7 @@ class InventoryData:
raise ValueError("ID") raise ValueError("ID")
except Exception as e: except Exception as e:
print(e, "Error Detected in Deleion") print(e, "Error Detected in Deleion")
@staticmethod @staticmethod
def update_data(self, order_id: int): def update_data(self, order_id: int):
try: try:
...@@ -27,18 +30,22 @@ class InventoryData: ...@@ -27,18 +30,22 @@ class InventoryData:
@staticmethod @staticmethod
def find_data(self, order_id: int): def find_data(self, order_id: int):
try: try:
d = {"order_id": order_id} d = {"order_id": order_id}
if 2 not in d.values(): if 2 not in d.values():
raise NameDoesNotExist raise NameDoesNotExist
except Exception as e: except Exception as e:
print(e, "Error Detected in Finding") print(e, "Error Detected in Finding")
@staticmethod def insert_data(self, request_data: Inventory):
def insert_data(self, order_id: int):
try: try:
d = {"order_id": 5} d = {"order_id": request_data.order_id,
"data": request_data.date,
"customer_name": request_data.customer_name,
"status": request_data.status,
"sales_order": request_data.sales_order}
self.inventory_col.insert_one(data)
if 5 not in d.values(): if 5 not in d.values():
raise NameDoesNotExist raise NameDoesNotExist
except Exception as e: except Exception as e:
print(e, "Error Detected in inserting") print(e, "Error Detected in inserting")
\ No newline at end of file
from typing import Optional
from pydantic import BaseModel
# define a model for Item
class Inventory(BaseModel):
order_id: Optional[int]
date: int
customer_name: str
status: str
sales_order: int
...@@ -4,13 +4,13 @@ from fastapi.routing import APIRouter ...@@ -4,13 +4,13 @@ from fastapi.routing import APIRouter
from script.constants import APIEndpoints from script.constants import APIEndpoints
from script.core.handlers.inventory import InventoryData from script.core.handlers.inventory import InventoryData
from script.core.schema.inventory import Inventory
from script.core.schema.responses import DefaultResponse from script.core.schema.responses import DefaultResponse
router = APIRouter(prefix=APIEndpoints.inventory_base) router = APIRouter(prefix=APIEndpoints.inventory_base)
handler = InventoryData() handler = InventoryData()
@router.post(APIEndpoints.delete) @router.post(APIEndpoints.delete)
async def delete_item(order_id: int): async def delete_item(order_id: int):
"""This API deletes an item""" """This API deletes an item"""
...@@ -23,39 +23,38 @@ async def delete_item(order_id: int): ...@@ -23,39 +23,38 @@ async def delete_item(order_id: int):
logging.exception(e) logging.exception(e)
return DefaultResponse(message="Deletion failed due to server error") return DefaultResponse(message="Deletion failed due to server error")
@router.post(APIEndpoints.update) @router.post(APIEndpoints.update)
async def update_item(order_id: int): async def update_item(order_id: int):
try: try:
handler.update_data(order_id, int) handler.update_data(order_id, int)
return DefaultResponse(message="Successfully Updated", status="success") return DefaultResponse(message="Successfully Updated", status="success")
except ValueError: except ValueError:
return DefaultResponse(message="Due to value error") return DefaultResponse(message="Due to value error")
except Exception as e: except Exception as e:
logging.exception(e) logging.exception(e)
return DefaultResponse(message="Updation Failed due to server error") return DefaultResponse(message="Updation Failed due to server error")
@router.get(APIEndpoints.find) @router.get(APIEndpoints.find)
async def find_item(order_id: int): async def find_item(order_id: int):
try: try:
handler.find_data(order_id, int) handler.find_data(order_id, int)
return DefaultResponse(message="Successfully Found", status="success") return DefaultResponse(message="Successfully Found", status="success")
except ValueError: except ValueError:
return DefaultResponse(message="Due to value error") return DefaultResponse(message="Due to value error")
except Exception as e: except Exception as e:
logging.exception(e) logging.exception(e)
return DefaultResponse(message="Finding Failed due to server error") return DefaultResponse(message="Finding Failed due to server error")
@router.post(APIEndpoints.insert) @router.post(APIEndpoints.insert)
async def insert_item(order_id: int): async def insert_item(request_data: Inventory):
try: try:
handler.insert_data(order_id, int) handler.insert_data(request_data)
return DefaultResponse(message="Successfully inserted", status="success") return DefaultResponse(message="Successfully inserted", status="success")
except ValueError: except ValueError:
return DefaultResponse(message="Due to value error") return DefaultResponse(message="Due to value error")
except Exception as e: except Exception as e:
logging.exception(e) logging.exception(e)
return DefaultResponse(message="inserted Failed due to server error") return DefaultResponse(message="inserted Failed due to server error")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment