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 ..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}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user