Spaces:
Paused
Paused
File size: 1,682 Bytes
1cf29f5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
from fastapi import APIRouter, Request
from log import log
import hashlib
router = APIRouter()
mock_users = {"admin": hashlib.sha256("password123".encode()).hexdigest()}
@router.post("/login")
async def login(request: Request):
data = await request.json()
username = data.get("username")
password = data.get("password")
if not username or not password:
return {"error": "Username and password required."}
hashed_pw = hashlib.sha256(password.encode()).hexdigest()
stored_pw = mock_users.get(username)
if stored_pw and stored_pw == hashed_pw:
log(f"π User {username} logged in successfully.")
return {"message": f"User {username} logged in."}
else:
log(f"β Login failed for user {username}.")
return {"error": "Invalid username or password."}
@router.post("/add_user")
async def add_user(request: Request):
data = await request.json()
username = data.get("username")
password = data.get("password")
if not username or not password:
return {"error": "Username and password required."}
if username in mock_users:
return {"error": "User already exists."}
mock_users[username] = hashlib.sha256(password.encode()).hexdigest()
log(f"π€ Added new user: {username}")
return {"message": f"User {username} added."}
@router.post("/delete_user")
async def delete_user(request: Request):
data = await request.json()
username = data.get("username")
if username not in mock_users:
return {"error": "User not found."}
del mock_users[username]
log(f"ποΈ Deleted user: {username}")
return {"message": f"User {username} deleted."}
|