diff --git a/main.py b/main.py index f4ec96c..ef406da 100644 --- a/main.py +++ b/main.py @@ -141,6 +141,24 @@ def postuserLogin(body: postuserLoginBody, request: Request): debugPrint(msg) return {"success": False, "authToken": None, "message": msg} +class postuserCreate(BaseModel): + username: str + password: str + rememberMe: bool +@app.post("/api/user/create") +def postuserCreate(body: postuserCreate, request: Request): + try: + if not userHandler.checkUserExistence(dbConnection, body.username): + userHandler.createUser(dbConnection, body.username, "Test", "User", "A test user", "TestCountry", "TestTheme", "TestColor", body.password) + userID = userHandler.getIDByUsername(dbConnection, body.username) + return {"success": True, "authToken": tokenHandler.createToken(dbConnection, userID, body.rememberMe, request.client.host), "message": "User login success!"} + else: + return {"success": False, "authToken": None, "message": "User login failed! User already exists."} + except Exception as error: + msg = "User login failed! Unexpected server error. " + repr(error) + debugPrint(msg) + return {"success": False, "authToken": None, "message": msg} + @app.get("/api/user/IDByAuthToken") def getuserIDByAuthToken(authToken: Annotated[str | None, Header()] = None): try: