from typing import Union from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from pydantic import BaseModel import psycopg2 dbconn = psycopg2.connect(database="blorgdb", host="172.20.0.10", user="dev", password="dev", port="5432") dbcursor = dbconn.cursor() dbcursor.execute(""" DO $$ BEGIN IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'users')) THEN RAISE NOTICE 'Table does exist!'; ELSE RAISE NOTICE 'User Table does not exist! Creating table.'; CREATE TABLE users ( UserID int, FirstName varchar(255), LastName varchar(255), PasswordHash varchar(255) ); END IF; END; $$""") #print(dbcursor.fetchall()) for notice in dbconn.notices: print("(SQL SERVER) " + notice) dbconn.commit() dbcursor.close() dbconn.close() app = FastAPI() origins = [ "http://localhost", "http://localhost:8080", ] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.get("/") def getroot(): return {"Hello": "World"} class ApiBody(BaseModel): username: str password: str @app.post("/api") def postapi(body: ApiBody): print(body.username) print(body.password) return body @app.get("/api") def getapi(): return {"Hello": "API!"}