from typing import Dict , List , Literal , Union
from pydantic import BaseModel , ConfigDict , Field , RootModel
from typing_extensions import Annotated
from ..models.batch_response import BatchResponse
from ..models.ice_server import IceServer
from ..models.ok_modeling_cmd_response import OkModelingCmdResponse
from ..models.raw_file import RawFile
from ..models.rtc_ice_candidate_init import RtcIceCandidateInit
from ..models.rtc_session_description import RtcSessionDescription
[docs]
class IceServerInfoData ( BaseModel ):
""""""
ice_servers : List [ IceServer ]
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class ice_server_info ( BaseModel ):
"""Information about the ICE servers."""
data : IceServerInfoData
type : Literal [ "ice_server_info" ] = "ice_server_info"
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class TrickleIceData ( BaseModel ):
""""""
candidate : RtcIceCandidateInit
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class trickle_ice ( BaseModel ):
"""The trickle ICE candidate response."""
data : TrickleIceData
type : Literal [ "trickle_ice" ] = "trickle_ice"
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class SdpAnswerData ( BaseModel ):
""""""
answer : RtcSessionDescription
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class sdp_answer ( BaseModel ):
"""The SDP answer response."""
data : SdpAnswerData
type : Literal [ "sdp_answer" ] = "sdp_answer"
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class ModelingData ( BaseModel ):
""""""
modeling_response : OkModelingCmdResponse
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class modeling ( BaseModel ):
"""The modeling command response."""
data : ModelingData
type : Literal [ "modeling" ] = "modeling"
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class ModelingBatchData ( BaseModel ):
""""""
responses : Dict [ str , BatchResponse ]
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class modeling_batch ( BaseModel ):
"""Response to a ModelingBatch."""
data : ModelingBatchData
type : Literal [ "modeling_batch" ] = "modeling_batch"
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class ExportData ( BaseModel ):
""""""
files : List [ RawFile ]
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class export ( BaseModel ):
"""The exported files."""
data : ExportData
type : Literal [ "export" ] = "export"
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class MetricsRequestData ( BaseModel ):
""""""
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class metrics_request ( BaseModel ):
"""Request a collection of metrics, to include WebRTC."""
data : MetricsRequestData
type : Literal [ "metrics_request" ] = "metrics_request"
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class PongData ( BaseModel ):
""""""
model_config = ConfigDict ( protected_namespaces = ())
[docs]
class pong ( BaseModel ):
"""Pong response to a Ping message."""
data : PongData
type : Literal [ "pong" ] = "pong"
model_config = ConfigDict ( protected_namespaces = ())
OkWebSocketResponseData = RootModel [
Annotated [
Union [
ice_server_info ,
trickle_ice ,
sdp_answer ,
modeling ,
modeling_batch ,
export ,
metrics_request ,
pong ,
],
Field ( discriminator = "type" ),
]
]
Copy to clipboard