from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
from fastapi import FastAPI, Request, HTTPException
from fastapi.middleware.cors import CORSMiddleware
from stdb import DataManager
app = FastAPI()
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
templates = Jinja2Templates(directory="templates")
data_manager = DataManager()
@app.get("/", response_class=HTMLResponse)
async def read_root(request: Request):
return templates.TemplateResponse("hello.html", {"request": request})
# @app.post('/process_stock_details')
# async def process_stock_details(request: Request):
# data = await request.json()
# processed_data = {
# 'symbol': data['symbol'],
# 'date': data['date'],
# 'share': data['share']
# }
# return processed_data
@app.get('/data')
async def get_data(ticker: str, date: str, qty: int):
try:
response = data_manager.get_equity_data(ticker, date, qty)
return response
except:
return {"Timeout" : "Error"}
@app.get('/stocks')
async def get_stocks_data():
try:
response = data_manager.get_stocks_data()
return response
except:
return {"Timeout" : "Error"}
# @app.post('/data')
# async def post_data(request: Request):
# data = await request.json()
# ticker = data.get('ticker')
# date = data.get('date')
# share_qty = data.get('qty')
# response = data_manager.get_equity_data(ticker, date, share_qty)
# return response
# if __name__ == "__main__":
# import uvicorn
# uvicorn.run(app, host="0.0.0.0", port=8000)