diff --git a/backend/routers/business_user.py b/backend/routers/business_user.py new file mode 100644 index 00000000..2d84f0da --- /dev/null +++ b/backend/routers/business_user.py @@ -0,0 +1,150 @@ +from fastapi import APIRouter, HTTPException +from pydantic import BaseModel +#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() + +# class userRequest(BaseModel): +# email: str +# DocOfficeID: int + +class businessUserInsertRequest(BaseModel): + business_id: str + app_id: str + signature: str + title: str + +# class userUpdateRequest(BaseModel): +# idusers: int +# username: str +# fnam: str +# lname: str +# type: str + +# #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 = database.dbConnection.dbAppDataConnect() +# cursor = db.cursor() +# query = "SELECT * FROM users where email = %s" +# cursor.execute(query, (email.lower(),)) +# items = [ +# {"idusers": item[0], +# "email": item[1], +# "docOffice_id": item[2], +# "fname":item[3], +# "lname":item[4], +# "type": item[5], +# "app_id": item[6], +# "username": item[7], +# } +# for item in cursor.fetchall() +# ]# +# cursor.close() +# db.close() +# return items[0] + + +# # Get List of all files +# @router.get("/users/", tags="users") +# async def read_all_users(session: SessionContainer = Depends(verify_session())): +# db = database.dbConnection.dbAppDataConnect() +# cursor = db.cursor() +# query = "SELECT * FROM users" +# cursor.execute(query) +# items = [ +# { +# "idUser": item[0], +# "email": item[1], +# "docOffice_id": item[2], +# "fname": item[3], +# "lname": item[4], +# "type": item[5], +# "app_id": item[6], +# "username": item[7], +# } +# for item in cursor.fetchall() +# ] +# cursor.close() +# db.close() +# return items + +# Get List of all files +@router.get("/business-user/{app_id}", tags=["MIH Business_User"]) +async def read_business_users_by_app_id(app_id: str, session: SessionContainer = Depends(verify_session())): #, session: SessionContainer = Depends(verify_session()) + db = database.dbConnection.dbAppDataConnect() + cursor = db.cursor() + query = "SELECT * FROM business_users where app_id = %s" + try: + cursor.execute(query, (app_id,)) + except Exception as error: + raise HTTPException(status_code=404, detail="Failed - " + error) + items = [ + { + "idbusiness_users": item[0], + "business_id": item[1], + "app_id": item[2], + "signature": item[3], + "title": item[4], + } + for item in cursor.fetchall() + ] + cursor.close() + db.close() + if(len(items)!= 0): + return items[0] + else: + raise HTTPException(status_code=404, detail="No record found") + +# Insert Patient into table +@router.post("/business-user/insert/", tags=["MIH Business_User"], status_code=201) +async def insert_User_details(itemRequest : businessUserInsertRequest, session: SessionContainer = Depends(verify_session())): #, session: SessionContainer = Depends(verify_session()) + db = database.dbConnection.dbAppDataConnect() + cursor = db.cursor() + query = "insert into business_users " + query += "(business_id, app_id, signature, title) " + query += "values (%s, %s, %s, %s)" + userData = (itemRequest.business_id, + itemRequest.app_id, + itemRequest.signature, + itemRequest.title) + try: + cursor.execute(query, userData) + except Exception as error: + raise HTTPException(status_code=404, detail="Failed to Create Record") + #return {"message": "Failed to Create Record"} + db.commit() + cursor.close() + db.close() + return {"message": "Successfully Created Record"} + +# # Update User on table +# @router.put("/user/update/", tags=["MIH Users"]) +# async def Update_User_details(itemRequest : userUpdateRequest, session: SessionContainer = Depends(verify_session())): +# db = database.dbConnection.dbAppDataConnect() +# cursor = db.cursor() +# query = "update users " +# query += "set username=%s, fname=%s, lname=%s, type=%s " +# query += "where idusers=%s" +# userData = (itemRequest.username, +# itemRequest.fnam, +# itemRequest.lname, +# itemRequest.type, +# itemRequest.idusers, +# ) +# try: +# cursor.execute(query, userData) +# except Exception as error: +# raise HTTPException(status_code=404, detail=error) +# #return {"query": query, "message": error} +# db.commit() +# cursor.close() +# db.close() +# return {"message": "Successfully Updated Record"} \ No newline at end of file