package handler import ( "demodesk/neko/internal/types" "demodesk/neko/internal/types/event" "demodesk/neko/internal/types/message" ) func (h *MessageHandlerCtx) boradcastCreate(session types.Session, payload *message.BroadcastCreate) error { if !session.Admin() { h.logger.Debug().Msg("user not admin") return nil } if err := h.capture.StartBroadcast(payload.URL); err != nil { return err } return h.boradcastStatus(session) } func (h *MessageHandlerCtx) boradcastDestroy(session types.Session) error { if !session.Admin() { h.logger.Debug().Msg("user not admin") return nil } h.capture.StopBroadcast() return h.boradcastStatus(session) } func (h *MessageHandlerCtx) boradcastStatus(session types.Session) error { if !session.Admin() { h.logger.Debug().Msg("user not admin") return nil } return session.Send( message.BroadcastStatus{ Event: event.BORADCAST_STATUS, IsActive: h.capture.BroadcastEnabled(), URL: h.capture.BroadcastUrl(), }) }