package egress
import (
"github.com/livekit/protocol/livekit"
"github.com/livekit/protocol/webhook"
)
func GetEgressNotifyOptions(egressInfo *livekit.EgressInfo) []webhook.NotifyOption {
if egressInfo == nil {
return nil
}
if egressInfo.Request == nil {
return nil
}
var whs []*livekit.WebhookConfig
switch req := egressInfo.Request.(type) {
case *livekit.EgressInfo_Egress:
if req.Egress != nil {
whs = req.Egress.Webhooks
}
case *livekit.EgressInfo_Replay:
if req.Replay != nil {
whs = req.Replay.Webhooks
}
case *livekit.EgressInfo_RoomComposite:
if req.RoomComposite != nil {
whs = req.RoomComposite.Webhooks
}
case *livekit.EgressInfo_Web:
if req.Web != nil {
whs = req.Web.Webhooks
}
case *livekit.EgressInfo_Participant:
if req.Participant != nil {
whs = req.Participant.Webhooks
}
case *livekit.EgressInfo_TrackComposite:
if req.TrackComposite != nil {
whs = req.TrackComposite.Webhooks
}
case *livekit.EgressInfo_Track:
if req.Track != nil {
whs = req.Track.Webhooks
}
}
if len(whs) > 0 {
return []webhook.NotifyOption{webhook.WithExtraWebhooks(whs)}
}
return nil
}