File size: 1,121 Bytes
24a440f
89509c4
89ac774
89509c4
 
7dbf682
 
 
 
 
 
 
 
6e78f7b
fa24c7d
7dbf682
24a440f
fa24c7d
 
 
 
 
 
 
24a440f
 
89509c4
fa24c7d
6e78f7b
89ac774
 
 
 
 
a587148
 
89509c4
 
 
fa24c7d
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from fastapi import FastAPI
import psycopg2
import json
from psycopg2 import sql
import pandas as pd
import numpy as np
from pydantic import BaseModel
from psycopg2.extensions import register_adapter, AsIs
register_adapter(np.int64, AsIs)
import warnings
warnings.filterwarnings('ignore')

#Custom Classes for endpoints
from DbConnection import DbConnection
from UploadFile import UploadOpenFile

app = FastAPI()

class FileDetails(BaseModel):
    filecontents: str
    filename: str
    


@app.get("/")
async def root():
 return {"greeting":"Hello world"}
#https://vaibhav84-resumeapi.hf.space/docs
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)