Commit 2a1e6c47 authored by vipul.v's avatar vipul.v

crud operation second

parent da93a39f
N
script/core/schema/__init__.py,8\4\84b7e789bb411a2f2e44fa4f79362bae15a9ca5e
\
,.idea/inspectionProfiles/Project_Default.xml,4\9\496a238a6afa168dbaf6efd37bb459331589579c
^
..idea/inspectionProfiles/profiles_settings.xml,1\e\1e9075f5bf079c01ef2c910709e91a497d262080
4
.env,3\c\3c84dcdc6bbe3d7817c49dcdc327b926fea1808a
E
conf/application.conf,6\4\644f59db746795ef1538ef95c4cbc0eab6663e28
\ No newline at end of file
N
script/core/schema/__init__.py,8\4\84b7e789bb411a2f2e44fa4f79362bae15a9ca5e
\
,.idea/inspectionProfiles/Project_Default.xml,4\9\496a238a6afa168dbaf6efd37bb459331589579c
^
..idea/inspectionProfiles/profiles_settings.xml,1\e\1e9075f5bf079c01ef2c910709e91a497d262080
4
.env,3\c\3c84dcdc6bbe3d7817c49dcdc327b926fea1808a
E
conf/application.conf,6\4\644f59db746795ef1538ef95c4cbc0eab6663e28
\ No newline at end of file
from sqlalchemy import Column, Integer, String, MetaData, text from sqlalchemy import MetaData
from sqlalchemy import Table
from script.core.db.postgresql_connector import session from script.core.db.postgresql_connector import session
from script.core.schema.inventory import Inventory from script.utils.inventory_utils import SqlUtility
metadata = MetaData() metadata = MetaData()
SqlUtility = SqlUtility()
class PostgresqlCollectRecords: class PostgresqlCollectRecords:
@staticmethod @staticmethod
def create_table(): def create_table():
try: try:
inventory_table = Table('inventory_data', metadata, data = SqlUtility.create_file()
Column('order_id', Integer, primary_key=True, index=True), return data
Column('customer_name', String),
Column('status', String),
Column('sales_order', Integer, index=True)
)
return inventory_table
except Exception as e: except Exception as e:
print(e, "Error detected in creating the table") print(e, "Error detected in creating the table")
@staticmethod @staticmethod
def insert_data(request_data): def insert_data(request_data):
try: try:
new_inventory_data = Inventory(customer_name=request_data.customer_name, data = SqlUtility.insert_file(request_data)
status=request_data.status, sales_order=request_data.sales_order) session.add(data)
session.add(new_inventory_data)
session.commit() session.commit()
return {"order_id": new_inventory_data.order_id, "customer_name": new_inventory_data.customer_name, return {"order_id": data.order_id, "customer_name": data.customer_name,
"status": new_inventory_data.status, "status": data.status,
"sales_order": new_inventory_data.sales_order} "sales_order": data.sales_order}
except Exception as e: except Exception as e:
print(e, "Error detected in inserting") print(e, "Error detected in inserting")
@staticmethod @staticmethod
def fetch_records(): def fetch_records():
try: try:
inventory_data = session.query(Inventory).all() data = SqlUtility.fetch_file()
list_ = [] return data
for data in inventory_data:
list_.append({"order_id": data.order_id, "customer_name": data.customer_name, "status": data.status,
"sales_order": data.sales_order})
return list_
except Exception as e: except Exception as e:
print(e, "Error detected in fetching the data") print(e, "Error detected in fetching the data")
@staticmethod @staticmethod
def update_records(request_data, order_id): def update_records(request_data, order_id):
try: try:
get_update = {key: value for key, value in request_data if data = SqlUtility.update_file(request_data, order_id)
value is not None and value != 'string' and value != 0}
update_data = session.query(Inventory).filter(
text(str(f"order_id={order_id}"))
).update(
get_update
)
session.commit() session.commit()
print(update_data) return data
return update_data
except Exception as e: except Exception as e:
print(e, "Error detected in updating") print(e, "Error detected in updating")
@staticmethod @staticmethod
def delete_records(order_id): def delete_records(order_id):
try: try:
data = session.query(Inventory).filter_by(order_id=order_id).first() data = SqlUtility.delete_file(order_id)
session.delete(data) session.delete(data)
session.commit() session.commit()
return data return data
......
...@@ -5,7 +5,7 @@ from fastapi import APIRouter ...@@ -5,7 +5,7 @@ from fastapi import APIRouter
from script.constants import APIEndpoints from script.constants import APIEndpoints
from script.core.errors import ErrorMessage from script.core.errors import ErrorMessage
from script.core.handlers.inventory import PostgresqlCollectRecords from script.core.handlers.inventory import PostgresqlCollectRecords
from script.core.schema.inventory import Inventory, InventoryData, UpdateInventoryData from script.core.schema.inventory import InventoryData, UpdateInventoryData
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)
...@@ -16,7 +16,7 @@ handler = PostgresqlCollectRecords() ...@@ -16,7 +16,7 @@ handler = PostgresqlCollectRecords()
async def insert_item(request_data: InventoryData): async def insert_item(request_data: InventoryData):
try: try:
data = handler.insert_data(request_data) data = handler.insert_data(request_data)
return DefaultResponse(message="Successfully inserted", status="success", data = data) return DefaultResponse(message="Successfully inserted", status="success", data=data)
except ValueError: except ValueError:
return DefaultResponse(message=ErrorMessage.ERRORS_INSERT) return DefaultResponse(message=ErrorMessage.ERRORS_INSERT)
except Exception as e: except Exception as 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