Merge pull request #96 from valueonag/feat/auxiliaries2
Feat/auxiliaries2
This commit is contained in:
commit
584e5d9a63
1 changed files with 26 additions and 21 deletions
|
|
@ -362,26 +362,31 @@ async def bridgeStatusCallback(
|
|||
|
||||
logger.info(f"Bridge status callback: session={sessionId}, status={status}")
|
||||
|
||||
# Update session status
|
||||
from modules.datamodels.datamodelUam import User
|
||||
systemUser = User(id="system", email="system@internal")
|
||||
interface = interfaceDb.getInterface(systemUser, featureInstanceId=instanceId)
|
||||
|
||||
updates = {"status": status}
|
||||
if errorMessage:
|
||||
updates["errorMessage"] = errorMessage
|
||||
if status == TeamsbotSessionStatus.ACTIVE.value:
|
||||
from modules.shared.timeUtils import getUtcTimestamp
|
||||
updates["startedAt"] = getUtcTimestamp()
|
||||
elif status in [TeamsbotSessionStatus.ENDED.value, TeamsbotSessionStatus.ERROR.value]:
|
||||
from modules.shared.timeUtils import getUtcTimestamp
|
||||
updates["endedAt"] = getUtcTimestamp()
|
||||
|
||||
interface.updateSession(sessionId, updates)
|
||||
|
||||
# Emit SSE event
|
||||
from .service import _emitSessionEvent
|
||||
await _emitSessionEvent(sessionId, "statusChange", {"status": status, "errorMessage": errorMessage})
|
||||
try:
|
||||
# Update session status (bridge callbacks have no user context)
|
||||
from modules.datamodels.datamodelUam import User
|
||||
systemUser = User(id="system", username="system", email="system@internal")
|
||||
interface = interfaceDb.getInterface(systemUser, featureInstanceId=instanceId)
|
||||
|
||||
updates = {"status": status}
|
||||
if errorMessage:
|
||||
updates["errorMessage"] = errorMessage
|
||||
if status == TeamsbotSessionStatus.ACTIVE.value:
|
||||
from modules.shared.timeUtils import getUtcTimestamp
|
||||
updates["startedAt"] = getUtcTimestamp()
|
||||
elif status in [TeamsbotSessionStatus.ENDED.value, TeamsbotSessionStatus.ERROR.value]:
|
||||
from modules.shared.timeUtils import getUtcTimestamp
|
||||
updates["endedAt"] = getUtcTimestamp()
|
||||
|
||||
interface.updateSession(sessionId, updates)
|
||||
|
||||
# Emit SSE event
|
||||
from .service import _emitSessionEvent
|
||||
await _emitSessionEvent(sessionId, "statusChange", {"status": status, "errorMessage": errorMessage})
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Bridge status callback processing failed: session={sessionId}, error={e}")
|
||||
# Still return 200 so the bridge doesn't retry endlessly
|
||||
|
||||
return {"received": True}
|
||||
|
||||
|
|
@ -405,7 +410,7 @@ async def bridgeAudioWebsocket(
|
|||
config = _getInstanceConfig(instanceId)
|
||||
|
||||
from modules.datamodels.datamodelUam import User
|
||||
systemUser = User(id="system", email="system@internal")
|
||||
systemUser = User(id="system", username="system", email="system@internal")
|
||||
service = TeamsbotService(systemUser, None, instanceId, config)
|
||||
|
||||
try:
|
||||
|
|
|
|||
Loading…
Reference in a new issue