Initial commit
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
from fastapi import APIRouter
|
||||
from sqlmodel import select
|
||||
|
||||
from app.deps import CurrentUserDep, SessionDep
|
||||
from app.models import User
|
||||
from app.schemas import GoalsUpdate, UserRead, UserSummary
|
||||
|
||||
router = APIRouter(prefix="/api/users", tags=["users"])
|
||||
|
||||
|
||||
@router.get("", response_model=list[UserSummary])
|
||||
def list_users(current_user: CurrentUserDep, session: SessionDep):
|
||||
users = session.exec(select(User).where(User.id != current_user.id).order_by(User.username)).all()
|
||||
return [UserSummary(username=user.username) for user in users]
|
||||
|
||||
|
||||
@router.get("/me", response_model=UserRead)
|
||||
def read_current_user(current_user: CurrentUserDep):
|
||||
return current_user
|
||||
|
||||
|
||||
@router.put("/me/goals", response_model=UserRead)
|
||||
def update_goals(goals: GoalsUpdate, current_user: CurrentUserDep, session: SessionDep):
|
||||
current_user.calorie_goal = goals.calorie_goal
|
||||
current_user.protein_goal = goals.protein_goal
|
||||
current_user.carbs_goal = goals.carbs_goal
|
||||
current_user.fat_goal = goals.fat_goal
|
||||
session.add(current_user)
|
||||
session.commit()
|
||||
session.refresh(current_user)
|
||||
return current_user
|
||||
Reference in New Issue
Block a user