Fix #7: Implement update_my_status endpoint (was TODO stub)
Some checks failed
Deploy Tracker / deploy (push) Failing after 4s
Some checks failed
Deploy Tracker / deploy (push) Failing after 4s
This commit is contained in:
parent
3228b4c290
commit
7233d3f507
@ -12,6 +12,7 @@ from sqlalchemy.orm import selectinload
|
||||
from ..database import get_db
|
||||
from ..enums import AuthMethod, ListenMode, MemberRole, MemberStatus, MemberType
|
||||
from ..models import Member, AgentConfig
|
||||
from .auth import get_current_member
|
||||
from .schemas import MemberOut, AgentConfigOut, OkResponse
|
||||
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")
|
||||
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)."""
|
||||
# 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}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user