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}")
|
logger.info(f"Bridge status callback: session={sessionId}, status={status}")
|
||||||
|
|
||||||
# Update session status
|
try:
|
||||||
from modules.datamodels.datamodelUam import User
|
# Update session status (bridge callbacks have no user context)
|
||||||
systemUser = User(id="system", email="system@internal")
|
from modules.datamodels.datamodelUam import User
|
||||||
interface = interfaceDb.getInterface(systemUser, featureInstanceId=instanceId)
|
systemUser = User(id="system", username="system", email="system@internal")
|
||||||
|
interface = interfaceDb.getInterface(systemUser, featureInstanceId=instanceId)
|
||||||
updates = {"status": status}
|
|
||||||
if errorMessage:
|
updates = {"status": status}
|
||||||
updates["errorMessage"] = errorMessage
|
if errorMessage:
|
||||||
if status == TeamsbotSessionStatus.ACTIVE.value:
|
updates["errorMessage"] = errorMessage
|
||||||
from modules.shared.timeUtils import getUtcTimestamp
|
if status == TeamsbotSessionStatus.ACTIVE.value:
|
||||||
updates["startedAt"] = getUtcTimestamp()
|
from modules.shared.timeUtils import getUtcTimestamp
|
||||||
elif status in [TeamsbotSessionStatus.ENDED.value, TeamsbotSessionStatus.ERROR.value]:
|
updates["startedAt"] = getUtcTimestamp()
|
||||||
from modules.shared.timeUtils import getUtcTimestamp
|
elif status in [TeamsbotSessionStatus.ENDED.value, TeamsbotSessionStatus.ERROR.value]:
|
||||||
updates["endedAt"] = getUtcTimestamp()
|
from modules.shared.timeUtils import getUtcTimestamp
|
||||||
|
updates["endedAt"] = getUtcTimestamp()
|
||||||
interface.updateSession(sessionId, updates)
|
|
||||||
|
interface.updateSession(sessionId, updates)
|
||||||
# Emit SSE event
|
|
||||||
from .service import _emitSessionEvent
|
# Emit SSE event
|
||||||
await _emitSessionEvent(sessionId, "statusChange", {"status": status, "errorMessage": errorMessage})
|
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}
|
return {"received": True}
|
||||||
|
|
||||||
|
|
@ -405,7 +410,7 @@ async def bridgeAudioWebsocket(
|
||||||
config = _getInstanceConfig(instanceId)
|
config = _getInstanceConfig(instanceId)
|
||||||
|
|
||||||
from modules.datamodels.datamodelUam import User
|
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)
|
service = TeamsbotService(systemUser, None, instanceId, config)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue