|
from fastapi import FastAPI |
|
import psycopg2 |
|
import json |
|
from psycopg2 import sql |
|
import pandas as pd |
|
from DbConnection import DbConnection |
|
from UploadFile import UploadOpenFile |
|
from pydantic import BaseModel |
|
app = FastAPI() |
|
|
|
class FileDetails(BaseModel): |
|
filecontents: str |
|
filename: str |
|
|
|
|
|
|
|
@app.get("/") |
|
async def root(): |
|
return {"greeting":"Hello world"} |
|
|
|
db_params = DbConnection.GetDbConnection() |
|
def parse_csv(df): |
|
res = df.to_json(orient="records") |
|
parsed = json.loads(res) |
|
return parsed |
|
|
|
@app.get("/ProfileMatch") |
|
def ProfileMatchResults(): |
|
dbQuery = "select * from profilematch" |
|
conn = psycopg2.connect(**db_params) |
|
df = pd.read_sql_query(dbQuery, conn) |
|
return parse_csv(df) |
|
|
|
@app.post("/UploadFile/") |
|
def UploadFileDetails(file_data: FileDetails): |
|
return UploadOpenFile.uploadFile(file_data.filecontents,file_data.filename,db_params) |