Commit 70e13537 authored by vipul.v's avatar vipul.v

crud operation

parent 87b2925a
...@@ -5,4 +5,4 @@ class APIEndpoints: ...@@ -5,4 +5,4 @@ class APIEndpoints:
insert = "/insert" insert = "/insert"
update = "/update" update = "/update"
find = "/find" find = "/find"
date = "/date"
# class for CRUD operations # class for CRUD operations
from datetime import datetime
from script.core.db.mongo.interns2023 import mongo_client from script.core.db.mongo.interns2023 import mongo_client
from script.core.db.mongo.interns2023.inventory import InventoryCollection from script.core.db.mongo.interns2023.inventory import InventoryCollection
from script.core.schema.inventory import Inventory from script.core.schema.inventory import Inventory
...@@ -21,14 +23,14 @@ class InventoryData: ...@@ -21,14 +23,14 @@ class InventoryData:
try: try:
d = {"order_id": request_data.order_id, d = {"order_id": request_data.order_id,
"customer_name": request_data.customer_name, "customer_name": request_data.customer_name,
"date": request_data.date, "date":datetime.now(),
"status": request_data.status, "status": request_data.status,
"sales_order": request_data.sales_order} "sales_order": request_data.sales_order}
self.inventory_col.update_one(query={"order_id": request_data.order_id}, data=d) self.inventory_col.update_one(query={"order_id": request_data.order_id}, data=d)
except Exception as e: except Exception as e:
print(e, "Error Detected in Updation") print(e, "Error Detected in Updation")
def find_data(self, order_id: int): def find_data(self, order_id):
try: try:
data = self.inventory_col.find_one(query={"order_id": order_id}) data = self.inventory_col.find_one(query={"order_id": order_id})
return data return data
...@@ -39,7 +41,7 @@ class InventoryData: ...@@ -39,7 +41,7 @@ class InventoryData:
try: try:
d = {"order_id": request_data.order_id, d = {"order_id": request_data.order_id,
"customer_name": request_data.customer_name, "customer_name": request_data.customer_name,
"date": request_data.date, "date": datetime.now(),
"status": request_data.status, "status": request_data.status,
"sales_order": request_data.sales_order} "sales_order": request_data.sales_order}
self.inventory_col.insert_one(d) self.inventory_col.insert_one(d)
......
import datetime import datetime
from typing import Optional from typing import Optional, Any
from pydantic import BaseModel from pydantic import BaseModel
...@@ -9,5 +9,4 @@ class Inventory(BaseModel): ...@@ -9,5 +9,4 @@ class Inventory(BaseModel):
order_id: int order_id: int
customer_name: str customer_name: str
status: Optional[str] status: Optional[str]
date: Optional[datetime.date]
sales_order: Optional[int] sales_order: Optional[int]
import logging import logging
from typing import Dict, Optional from typing import Dict
from pymongo import MongoClient from pymongo import MongoClient
...@@ -19,6 +19,7 @@ class MongoConnect: ...@@ -19,6 +19,7 @@ class MongoConnect:
def __repr__(self): def __repr__(self):
return f"Mongo Client(uri:{self.uri}, server_info={self.client.server_info()})" return f"Mongo Client(uri:{self.uri}, server_info={self.client.server_info()})"
class MongoCollectionBaseClass: class MongoCollectionBaseClass:
def __init__(self, mongo_client, database, collection): def __init__(self, mongo_client, database, collection):
self.client = mongo_client self.client = mongo_client
...@@ -41,11 +42,13 @@ class MongoCollectionBaseClass: ...@@ -41,11 +42,13 @@ class MongoCollectionBaseClass:
logging.error(f"Error in inserting the data {str(e)}") logging.error(f"Error in inserting the data {str(e)}")
raise e raise e
def find_one(self, query, filter_dict: Optional[Dict] = None): def find_one(self, query, filter_dict=None):
try: try:
database_name = self.client[self.database] database_name = self.client[self.database]
collection_name = database_name[self.collection] collection_name = database_name[self.collection]
response = collection_name.find_one(query) if not filter_dict:
filter_dict = {"_id": 0}
response = collection_name.find_one(query, filter_dict)
return response return response
except Exception as e: except Exception as e:
logging.error(f"Failed to fetch {str(e)}") logging.error(f"Failed to fetch {str(e)}")
......
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