feat: add MessageResponse schema; wire response_model on leave + remove-member endpoints
This commit is contained in:
parent
7650747651
commit
c7861344b7
2 changed files with 11 additions and 6 deletions
|
|
@ -19,6 +19,7 @@ from app.models.schemas.household import (
|
|||
HouseholdMember,
|
||||
HouseholdRemoveMemberRequest,
|
||||
HouseholdStatusResponse,
|
||||
MessageResponse,
|
||||
)
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
|
@ -170,8 +171,8 @@ async def accept_invite(
|
|||
)
|
||||
|
||||
|
||||
@router.post("/leave")
|
||||
async def leave_household(session: CloudUser = Depends(_require_premium)):
|
||||
@router.post("/leave", response_model=MessageResponse)
|
||||
async def leave_household(session: CloudUser = Depends(_require_premium)) -> MessageResponse:
|
||||
"""Leave the current household (non-owners only)."""
|
||||
if not session.household_id:
|
||||
raise HTTPException(status_code=400, detail="You are not in a household.")
|
||||
|
|
@ -181,14 +182,14 @@ async def leave_household(session: CloudUser = Depends(_require_premium)):
|
|||
"household_id": session.household_id,
|
||||
"user_id": session.user_id,
|
||||
})
|
||||
return {"message": "You have left the household. Reload the app to return to your personal pantry."}
|
||||
return MessageResponse(message="You have left the household. Reload the app to return to your personal pantry.")
|
||||
|
||||
|
||||
@router.post("/remove-member")
|
||||
@router.post("/remove-member", response_model=MessageResponse)
|
||||
async def remove_member(
|
||||
body: HouseholdRemoveMemberRequest,
|
||||
session: CloudUser = Depends(_require_household_owner),
|
||||
):
|
||||
) -> MessageResponse:
|
||||
"""Remove a member from the household (owner only)."""
|
||||
if body.user_id == session.user_id:
|
||||
raise HTTPException(status_code=400, detail="Use /leave to remove yourself.")
|
||||
|
|
@ -196,4 +197,4 @@ async def remove_member(
|
|||
"household_id": session.household_id,
|
||||
"user_id": body.user_id,
|
||||
})
|
||||
return {"message": f"Member {body.user_id} removed from household."}
|
||||
return MessageResponse(message=f"Member {body.user_id} removed from household.")
|
||||
|
|
|
|||
|
|
@ -41,3 +41,7 @@ class HouseholdAcceptResponse(BaseModel):
|
|||
|
||||
class HouseholdRemoveMemberRequest(BaseModel):
|
||||
user_id: str
|
||||
|
||||
|
||||
class MessageResponse(BaseModel):
|
||||
message: str
|
||||
|
|
|
|||
Loading…
Reference in a new issue