Fix #7: Implement update_my_status endpoint (was TODO stub)
Some checks failed
Deploy Tracker / deploy (push) Failing after 4s

This commit is contained in:
markov 2026-02-26 15:13:31 +01:00
parent 3228b4c290
commit 7233d3f507

View File

@ -12,6 +12,7 @@ from sqlalchemy.orm import selectinload
from ..database import get_db from ..database import get_db
from ..enums import AuthMethod, ListenMode, MemberRole, MemberStatus, MemberType from ..enums import AuthMethod, ListenMode, MemberRole, MemberStatus, MemberType
from ..models import Member, AgentConfig from ..models import Member, AgentConfig
from .auth import get_current_member
from .schemas import MemberOut, AgentConfigOut, OkResponse from .schemas import MemberOut, AgentConfigOut, OkResponse
from .converters import member_out from .converters import member_out
@ -237,9 +238,20 @@ async def revoke_token(slug: str, db: AsyncSession = Depends(get_db)):
@router.patch("/members/me/status") @router.patch("/members/me/status")
async def update_my_status(status: str, db: AsyncSession = Depends(get_db)): async def update_my_status(
status: str = Query(...),
current_member: Member = Depends(get_current_member),
db: AsyncSession = Depends(get_db),
):
"""Quick status update (used by agents).""" """Quick status update (used by agents)."""
# TODO: get current member from auth current_member.status = status
await db.commit()
from ..ws.manager import manager
await manager.broadcast_all(
{"type": "agent.status", "data": {"slug": current_member.slug, "status": status}},
exclude_slug=current_member.slug,
)
return {"status": status} return {"status": status}