diff --git a/backend/auth.py b/backend/auth.py index e05c010..0cb26ac 100644 --- a/backend/auth.py +++ b/backend/auth.py @@ -16,4 +16,23 @@ def create_user(username, password): (username, password_hash) ) - return user_id \ No newline at end of file + return user_id + +def verify_user(username, password): + from database import fetch_one + + user = fetch_one( + "SELECT * FROM users WHERE username = ?", + (username,) + ) + + if not user: + return None + + if bcrypt.checkpw( + password.encode(), + user["password_hash"].encode() + ): + return user["id"] + + return None \ No newline at end of file diff --git a/backend/main.py b/backend/main.py index 135d545..f3dee5a 100644 --- a/backend/main.py +++ b/backend/main.py @@ -5,6 +5,10 @@ from database import fetch_all from events import create_event from auth import create_user +class Login(BaseModel): + username: str + password: str + class UserCreate(BaseModel): username: str password: str @@ -89,4 +93,8 @@ def api_create_user(user: UserCreate): return { "status": "created", "user_id": user_id - } \ No newline at end of file + } + +@app.post("/login") +def api_login(login : Login): + \ No newline at end of file diff --git a/database/calendar.db b/database/calendar.db index 4cd3d60..1fd9226 100644 Binary files a/database/calendar.db and b/database/calendar.db differ