Commit 696790ee authored by vipul.v's avatar vipul.v

mqtt and postgresql updated

parent da156f22
from dotenv import load_dotenv
from fastapi import FastAPI
from script.config.app_confing import Service
from script.service.service_file import router
load_dotenv()
app = FastAPI(title="fetch")
app.include_router(router)
if __name__ == "__main__":
import uvicorn
uvicorn.run("app:app", host=Service.host, port=Service.port)
\ No newline at end of file
from sqlalchemy import MetaData
from script.utils.utils_file import SqlUtility
metadata = MetaData()
SqlUtility = SqlUtility()
class FetchRecords:
@staticmethod
def fetch_records():
try:
data = SqlUtility.fetch_file()
return data
except Exception as e:
print(e, "Error detected in fetching the data")
from typing import Any, Optional
from pydantic import BaseModel
class DefaultResponse(BaseModel):
status: str = "failed"
message: str
data: Optional[Any]
import logging
from fastapi import APIRouter
from script.constants import APIEndpoints
from script.core.errors import ErrorMessage
from script.core.handlers.handler_file import FetchRecords
from script.core.schema.responses import DefaultResponse
router = APIRouter(prefix=APIEndpoints.fetch_records)
handler = FetchRecords()
@router.post(APIEndpoints.find)
async def fetch_item():
try:
data = handler.fetch_records()
return DefaultResponse(message="Successfully Found", status="success", data=data)
except ValueError:
return DefaultResponse(message=ErrorMessage.ERRORS_FETCH)
except Exception as e:
logging.exception(e)
return DefaultResponse(message="Finding Failed due to server error")
\ No newline at end of file
from sqlalchemy import MetaData, inspect
from script.core.db.postgresql_connector import session, engine
from script.core.schema.schema_file import InvoiceDetails, Items
metadata = MetaData()
class SqlUtility:
@staticmethod
def fetch_file():
try:
inspector = inspect(engine)
columns = inspector.get_columns('invoice_details')
column_names = [c['name'] for c in columns]
invoice_details = session.query(InvoiceDetails).all()
body = []
for data in invoice_details:
row = {}
for column_name in column_names:
row[column_name] = getattr(data, column_name)
body.append(row)
header = []
for column_name in column_names:
title_name = column_name.replace('_', ' ').title()
header.append({"label": title_name, "value": column_name})
columns2 = inspector.get_columns('items')
column_names2 = [c['name'] for c in columns2]
items = session.query(Items).all()
body2 = []
for data in items:
row = {}
for column_name in column_names2:
row[column_name] = getattr(data, column_name)
body2.append(row)
header2 = []
for column_name in column_names2:
title_name = column_name.replace('_', ' ').title()
header2.append({"label": title_name, "value": column_name})
return {"headerContent": header, "bodyContent": body, "headerContent2": header2, "bodyContent2": body2}
except Exception as e:
print(e, "Error detected in updating")
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