Implement getting users public info
This commit is contained in:
parent
180cfba7c1
commit
68c301c95c
28
main.py
28
main.py
|
|
@ -134,6 +134,34 @@ def getuserIDByAuthToken(authToken: Annotated[str | None, Header()] = None):
|
|||
print(msg)
|
||||
return {"success": False, "authToken": None, "message": msg}
|
||||
|
||||
@app.get("/api/publicInfo/{userID}")
|
||||
def getpublicInfo(userID: int):
|
||||
try:
|
||||
if userHandler.checkIDExistence(dbConnection, userID):
|
||||
return {
|
||||
"success": True,
|
||||
"username": userHandler.getUserInfoByID(dbConnection, userID, "username"),
|
||||
"firstName": userHandler.getUserInfoByID(dbConnection, userID, "firstname"),
|
||||
"lastName": userHandler.getUserInfoByID(dbConnection, userID, "lastname"),
|
||||
"message": "Get public info succeeded!"
|
||||
}
|
||||
else:
|
||||
return {
|
||||
"success": False,
|
||||
"username": None,
|
||||
"firstName": None,
|
||||
"lastName": None,
|
||||
"message": "Get public info failed! UserID provided does not exist."
|
||||
}
|
||||
except Exception as error:
|
||||
return {
|
||||
"success": False,
|
||||
"username": None,
|
||||
"firstName": None,
|
||||
"lastName": None,
|
||||
"message": "Get public info failed! Unexpected server error. " + repr(error)
|
||||
}
|
||||
|
||||
|
||||
# GET
|
||||
# /api/userByAuthToken
|
||||
|
|
|
|||
|
|
@ -17,6 +17,9 @@ def createUser(dbConnection: psycopg2.extensions.connection, username: str, firs
|
|||
['username', 'firstname', 'lastname', 'description', 'country', 'theme', 'accentcolor', 'passwordhash'],
|
||||
[username, firstName, lastName, description, country, theme, accentColor, securityHandler.hashPassword(password)])
|
||||
|
||||
def checkIDExistence(dbConnection: psycopg2.extensions.connection, userID: int) -> bool:
|
||||
return dbHandler.checkFieldValueExistence(dbConnection, "users", "id", userID)
|
||||
|
||||
def checkUserExistence(dbConnection: psycopg2.extensions.connection, username: str) -> bool:
|
||||
return dbHandler.checkFieldValueExistence(dbConnection, "users", "username", username)
|
||||
|
||||
|
|
@ -32,6 +35,10 @@ def getIDByUsername(dbConnection: psycopg2.extensions.connection, username: str)
|
|||
)
|
||||
return int(dbHandler._execQuery(dbConnection, sanitisedQuery)[0][0])
|
||||
|
||||
def getUserInfoByID(dbConnection: psycopg2.extensions.connection, userID: int, userField: str) -> str:
|
||||
debugPrint("Attempting to get " + userField + " of userID " + str(userID) + "...")
|
||||
return str(dbHandler.getFieldValueByID(dbConnection, "users", userID, userField))
|
||||
|
||||
def getIDByAuthToken(dbConnection: psycopg2.extensions.connection, authToken: str) -> int:
|
||||
debugPrint("Attempting to get ID from authToken...")
|
||||
sanitisedQuery = sql.SQL("""
|
||||
|
|
|
|||
Loading…
Reference in New Issue