update fastapi to guvicorn and improve supertoken integration

This commit is contained in:
2024-07-24 13:20:52 +02:00
parent d68da10f75
commit 6e14458f29
10 changed files with 142 additions and 85 deletions

View File

@@ -1,17 +1,20 @@
import mysql.connector
from fastapi import APIRouter, HTTPException
from ..database import dbConnection
#from ..database import dbConnection
import database
#SuperToken Auth from front end
from supertokens_python.recipe.session.framework.fastapi import verify_session
from supertokens_python.recipe.session import SessionContainer
from fastapi import Depends
import database.dbConnection
router = APIRouter()
# Get Doctors Office By ID
@router.get("/docOffices/{docOffic_id}", tags="DocOffice")
async def read_docOfficeByID(docOffic_id: int, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM doctor_offices WHERE iddoctor_offices=%s"
cursor.execute(query, (docOffic_id,))
@@ -26,7 +29,7 @@ async def read_docOfficeByID(docOffic_id: int, session: SessionContainer = Depen
# Get Doctors Office By user
@router.get("/docOffices/user/{user}", tags="DocOffice")
async def read_docOfficeByID(user: str, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM users WHERE email=%s"
cursor.execute(query, (user,))
@@ -47,7 +50,7 @@ async def read_docOfficeByID(user: str, session: SessionContainer = Depends(veri
# Get List of all Doctors Office
@router.get("/docOffices/", tags="DocOffice")
async def read_All_DoctorsOffice(session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM doctor_offices"
cursor.execute(query)

View File

@@ -1,7 +1,8 @@
import mysql.connector
from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
from ..database import dbConnection
#from ..database import dbConnection
import database
#SuperToken Auth from front end
from supertokens_python.recipe.session.framework.fastapi import verify_session
from supertokens_python.recipe.session import SessionContainer
@@ -46,7 +47,7 @@ class patientDeleteRequest(BaseModel):
# Get Patient By ID Number
@router.get("/patients/id/{pat_id}", tags="patients")
async def read_patientByID(pat_id: str, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM patients WHERE idpatients=%s"
cursor.execute(query, (pat_id,))
@@ -71,7 +72,7 @@ async def read_patientByID(pat_id: str, session: SessionContainer = Depends(veri
# Get Patient By ID Number
@router.get("/patients/{id_no}", tags="patients")
async def read_patientByID(id_no: str):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM patients WHERE id_no=%s"
cursor.execute(query, (id_no,))
@@ -95,7 +96,7 @@ async def read_patientByID(id_no: str):
# Get List of all patients
@router.get("/patients/user/{email}", tags="patients")
async def read_all_patientsByUser(email: str, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
#query = "SELECT * FROM patients"
query = "Select * from patients "
@@ -129,7 +130,7 @@ async def read_all_patientsByUser(email: str, session: SessionContainer = Depend
# Get List of all patients
@router.get("/patients/", tags="patients")
async def read_all_patients(session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM patients"
cursor.execute(query)
@@ -156,7 +157,7 @@ async def read_all_patients(session: SessionContainer = Depends(verify_session()
# Get List of all patients by Doctors Office
@router.get("/patients/docOffice/{docoff_id}", tags="patients")
async def read_all_patientsby(docoff_id: str, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM patients where doc_office_id=%s"
cursor.execute(query, (docoff_id,))
@@ -183,7 +184,7 @@ async def read_all_patientsby(docoff_id: str, session: SessionContainer = Depend
# Insert Patient into table
@router.post("/patients/insert/", tags="patients", status_code=201)
async def insertPatient(itemRequest : patientInsertRequest, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "insert into patients "
query += "(id_no, first_name, last_name, email, cell_no, medical_aid, "
@@ -216,7 +217,7 @@ async def insertPatient(itemRequest : patientInsertRequest, session: SessionCont
# Update Patient on table
@router.put("/patients/update/", tags="patients")
async def UpdatePatient(itemRequest : patientUpdateRequest, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "update patients "
query += "set id_no=%s, first_name=%s, last_name=%s, email=%s, cell_no=%s, medical_aid=%s, "
@@ -251,7 +252,7 @@ async def UpdatePatient(itemRequest : patientUpdateRequest, session: SessionCont
# delete Patient on table
@router.delete("/patients/delete/", tags="patients")
async def DeletePatient(itemRequest : patientDeleteRequest, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "delete from patients "
query += "where id_no=%s and doc_office_id=%s"

View File

@@ -1,7 +1,8 @@
import mysql.connector
from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
from ..database import dbConnection
#from ..database import dbConnection
import database
from datetime import date
#SuperToken Auth from front end
from supertokens_python.recipe.session.framework.fastapi import verify_session
@@ -22,7 +23,7 @@ class fileInsertRequest(BaseModel):
# Get List of all files
@router.get("/files/patients/", tags="patients_files")
async def read_all_files(session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM patient_files"
cursor.execute(query)
@@ -43,7 +44,7 @@ async def read_all_files(session: SessionContainer = Depends(verify_session())):
# Get List of all files by patient
@router.get("/files/patients/{patientID}", tags="patients_files")
async def read_all_files_by_patient(patientID: int, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM patient_files where patient_id = %s ORDER BY insert_date DESC"
cursor.execute(query, (patientID,))
@@ -64,7 +65,7 @@ async def read_all_files_by_patient(patientID: int, session: SessionContainer =
# Get List of all files by patient & DocOffice
@router.get("/files/patients-docOffice/", tags="patients_files")
async def read_all_files_by_patient(itemRequest: fileRequest, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "select patient_files.idpatient_files, patient_files.file_path, patient_files.file_name, patient_files.patient_id, patient_files.insert_date, patients.doc_office_id "
query += "from patient_manager.patient_files "
@@ -92,7 +93,7 @@ async def read_all_files_by_patient(itemRequest: fileRequest, session: SessionCo
@router.post("/files/insert/", tags="patients_notes", status_code=201)
async def insertPatientFiles(itemRequest : fileInsertRequest, session: SessionContainer = Depends(verify_session())):
today = date.today()
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "insert into patient_files "
query += "(file_path, file_name, patient_id, insert_date) "

View File

@@ -2,7 +2,8 @@ import mysql.connector
from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
from datetime import date
from ..database import dbConnection
#from ..database import dbConnection
import database
#SuperToken Auth from front end
from supertokens_python.recipe.session.framework.fastapi import verify_session
from supertokens_python.recipe.session import SessionContainer
@@ -28,7 +29,7 @@ class patientNoteUpdateRequest(BaseModel):
# Get List of all notes
@router.get("/notes/patients/", tags="patients_notes")
async def read_all_notes(session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM patient_notes"
cursor.execute(query)
@@ -48,7 +49,7 @@ async def read_all_notes(session: SessionContainer = Depends(verify_session())):
# Get List of all notes by patient
@router.get("/notes/patients/{patientID}", tags="patients_notes")
async def read_all_patientsby(patientID: int, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM patient_notes where patient_id = %s ORDER BY insert_date DESC"
cursor.execute(query, (patientID,))
@@ -69,7 +70,7 @@ async def read_all_patientsby(patientID: int, session: SessionContainer = Depend
# Get List of all notes by patient
@router.get("/notes/patients-docOffice/", tags="patients_notes")
async def read_all_patientsby(itemRequest: fileRequest, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "select patient_notes.idpatient_notes, patient_notes.note_name, patient_notes.note_text, patient_notes.patient_id, patient_notes.insert_date, patients.doc_office_id "
query += "from patient_manager.patient_notes "
@@ -94,7 +95,7 @@ async def read_all_patientsby(itemRequest: fileRequest, session: SessionContaine
@router.post("/notes/insert/", tags="patients_notes", status_code=201)
async def insertPatientNotes(itemRequest : patientNoteInsertRequest, session: SessionContainer = Depends(verify_session())):
today = date.today()
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "insert into patient_notes "
query += "(note_name, note_text, patient_id, insert_date) "
@@ -117,7 +118,7 @@ async def insertPatientNotes(itemRequest : patientNoteInsertRequest, session: Se
@router.put("/notes/update/", tags="patients_notes")
async def UpdatePatient(itemRequest : patientNoteUpdateRequest, session: SessionContainer = Depends(verify_session())):
today = date.today()
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "update patient_notes "
query += "set note_name=%s, note_text=%s, patient_id=%s, insert_date=%s "

View File

@@ -1,6 +1,7 @@
from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
from ..database import dbConnection
#from ..database import dbConnection
import database
#SuperToken Auth from front end
from supertokens_python.recipe.session.framework.fastapi import verify_session
from supertokens_python.recipe.session import SessionContainer
@@ -25,7 +26,7 @@ class userUpdateRequest(BaseModel):
#get user by email & doc Office ID
@router.get("/users/profile/{email}", tags="users")
async def read_all_users(email: str, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM users where email = %s"
cursor.execute(query, (email.lower(),))
@@ -49,7 +50,7 @@ async def read_all_users(email: str, session: SessionContainer = Depends(verify_
# Get List of all files
@router.get("/users/", tags="users")
async def read_all_users(session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM users"
cursor.execute(query)
@@ -73,7 +74,7 @@ async def read_all_users(session: SessionContainer = Depends(verify_session())):
# Get List of all files
@router.get("/user/{uid}", tags="users")
async def read_all_users(uid: str, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "SELECT * FROM users where app_id = %s"
cursor.execute(query, (uid,))
@@ -97,7 +98,7 @@ async def read_all_users(uid: str, session: SessionContainer = Depends(verify_se
# Insert Patient into table
@router.post("/user/insert/", tags="user", status_code=201)
async def insertPatient(itemRequest : userInsertRequest, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "insert into users "
query += "(email, docOffice_id, fname, lname, type, app_id, username) "
@@ -117,7 +118,7 @@ async def insertPatient(itemRequest : userInsertRequest, session: SessionContain
# Update User on table
@router.put("/user/update/", tags="user")
async def UpdateUser(itemRequest : userUpdateRequest, session: SessionContainer = Depends(verify_session())):
db = dbConnection.dbConnect()
db = database.dbConnection.dbConnect()
cursor = db.cursor()
query = "update users "
query += "set username=%s, fname=%s, lname=%s "