update main.py/auth.py
This commit is contained in:
+23
-3
@@ -1,5 +1,26 @@
|
||||
from database import execute
|
||||
from database import execute, fetch_one
|
||||
import bcrypt
|
||||
from jose import jwt, JWTError
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
SECRET_KEY = ""
|
||||
ALGORITHM = "HS256"
|
||||
|
||||
|
||||
def create_token(user_id):
|
||||
payload = {
|
||||
"user_id": user_id,
|
||||
"exp": datetime.utcnow() + timedelta(hours=24)
|
||||
}
|
||||
|
||||
token = jwt.encode(
|
||||
payload,
|
||||
SECRET_KEY,
|
||||
algorithm=ALGORITHM
|
||||
)
|
||||
|
||||
return token
|
||||
|
||||
|
||||
def create_user(username, password):
|
||||
|
||||
@@ -18,8 +39,8 @@ def create_user(username, password):
|
||||
|
||||
return user_id
|
||||
|
||||
|
||||
def verify_user(username, password):
|
||||
from database import fetch_one
|
||||
|
||||
user = fetch_one(
|
||||
"SELECT * FROM users WHERE username = ?",
|
||||
@@ -35,5 +56,4 @@ def verify_user(username, password):
|
||||
):
|
||||
return user["id"]
|
||||
|
||||
|
||||
return None
|
||||
+6
-2
@@ -3,7 +3,7 @@ from pydantic import BaseModel
|
||||
|
||||
from database import fetch_all
|
||||
from events import create_event
|
||||
from auth import create_user, verify_user
|
||||
from auth import create_user, verify_user, create_token
|
||||
from rooms import create_room, search_room, accept_room
|
||||
|
||||
class Login(BaseModel):
|
||||
@@ -122,11 +122,15 @@ def api_login(login: Login):
|
||||
"status": "failed"
|
||||
}
|
||||
|
||||
token = create_token(user_id)
|
||||
|
||||
return {
|
||||
"status": "success",
|
||||
"user_id": user_id
|
||||
"access_token": token,
|
||||
"token_type": "bearer"
|
||||
}
|
||||
|
||||
|
||||
@app.post("/create_room")
|
||||
def api_create_room(room: RoomCreate):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user