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)
|
print(msg)
|
||||||
return {"success": False, "authToken": None, "message": 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
|
# GET
|
||||||
# /api/userByAuthToken
|
# /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', 'passwordhash'],
|
||||||
[username, firstName, lastName, description, country, theme, accentColor, securityHandler.hashPassword(password)])
|
[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:
|
def checkUserExistence(dbConnection: psycopg2.extensions.connection, username: str) -> bool:
|
||||||
return dbHandler.checkFieldValueExistence(dbConnection, "users", "username", username)
|
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])
|
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:
|
def getIDByAuthToken(dbConnection: psycopg2.extensions.connection, authToken: str) -> int:
|
||||||
debugPrint("Attempting to get ID from authToken...")
|
debugPrint("Attempting to get ID from authToken...")
|
||||||
sanitisedQuery = sql.SQL("""
|
sanitisedQuery = sql.SQL("""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue