Add project.created broadcast, debug log for bridge message delivery
Some checks failed
Deploy Tracker / deploy (push) Failing after 3s
Some checks failed
Deploy Tracker / deploy (push) Failing after 3s
This commit is contained in:
parent
c1fd50f28c
commit
5030c06d76
@ -11,6 +11,7 @@ from sqlalchemy.orm import selectinload
|
||||
from ..database import get_db
|
||||
from ..enums import ChatKind, MemberRole, ProjectStatus
|
||||
from ..models import Project, Chat, Member, ProjectMember
|
||||
from ..ws.manager import manager
|
||||
from .schemas import ProjectOut
|
||||
|
||||
router = APIRouter(tags=["projects"])
|
||||
@ -107,7 +108,16 @@ async def create_project(req: ProjectCreate, db: AsyncSession = Depends(get_db))
|
||||
db.add(chat)
|
||||
|
||||
await db.commit()
|
||||
return await _project_out(project, db)
|
||||
|
||||
out = await _project_out(project, db)
|
||||
|
||||
# Broadcast project.created to all connected clients
|
||||
await manager.broadcast_all({
|
||||
"type": "project.created",
|
||||
"project": out.model_dump(),
|
||||
})
|
||||
|
||||
return out
|
||||
|
||||
|
||||
@router.patch("/projects/{project_id}", response_model=ProjectOut)
|
||||
|
||||
@ -92,6 +92,21 @@ async def seed_dev_data(session: AsyncSession):
|
||||
session.add(ProjectMember(project_id=project.id, member_id=coder.id, role=MemberRole.MEMBER))
|
||||
session.add(ProjectMember(project_id=project.id, member_id=architect.id, role=MemberRole.MEMBER))
|
||||
|
||||
# Bridge (Telegram)
|
||||
bridge = Member(
|
||||
name="Telegram Bridge",
|
||||
slug="bridge",
|
||||
type=MemberType.BRIDGE,
|
||||
role=MemberRole.MEMBER,
|
||||
auth_method=AuthMethod.TOKEN,
|
||||
token="tb-bridge-dev-token",
|
||||
status=MemberStatus.OFFLINE,
|
||||
)
|
||||
session.add(bridge)
|
||||
await session.flush()
|
||||
|
||||
session.add(ProjectMember(project_id=project.id, member_id=bridge.id, role=MemberRole.MEMBER))
|
||||
|
||||
# Lobby chat
|
||||
lobby = Chat(kind=ChatKind.LOBBY, project_id=None)
|
||||
session.add(lobby)
|
||||
|
||||
@ -122,6 +122,7 @@ class ConnectionManager:
|
||||
|
||||
# Humans/bridges get ALL messages
|
||||
if client.member_type in (MemberType.HUMAN, MemberType.BRIDGE):
|
||||
logger.info("Sending message to %s (%s, type=%s)", client.member_slug, session_id[:8], client.member_type)
|
||||
await self.send_to_session(session_id, payload)
|
||||
continue
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user