Spaces:
Sleeping
Sleeping
from fastapi import APIRouter, Depends | |
from fastapi.security import OAuth2PasswordBearer | |
from fastapi.responses import JSONResponse | |
from fastapi.requests import Request | |
from fastapi.exceptions import RequestValidationError | |
from fastapi.responses import JSONResponse | |
from database import engine, SessionLocal | |
from models.user import User | |
from schemas.user import UserCreate, UserRead | |
router = APIRouter() | |
async def read_users(db: SessionLocal = Depends()): | |
users = db.query(User).all() | |
return JSONResponse(status_code=200, content=[UserRead.from_orm(user) for user in users]) | |
async def read_user(user_id: int, db: SessionLocal = Depends()): | |
user = db.query(User).filter(User.id == user_id).first() | |
if not user: | |
return JSONResponse(status_code=404, content={"error": "User not found"}) | |
return JSONResponse(status_code=200, content=UserRead.from_orm(user)) | |
async def update_user(user_id: int, user: UserCreate, db: SessionLocal = Depends()): | |
db_user = db.query(User).filter(User.id == user_id).first() | |
if not db_user: | |
return JSONResponse(status_code=404, content={"error": "User not found"}) | |
db_user.username = user.username | |
db_user.password = user.password | |
db.commit() | |
return JSONResponse(status_code=200, content={"message": "User updated successfully"}) |