diff --git a/apps/connect/models.py b/apps/connect/models.py index 99e89ac8..ba489eb2 100644 --- a/apps/connect/models.py +++ b/apps/connect/models.py @@ -1,4 +1,5 @@ from django.db import models +from .utils import SUPPORTED_EVENTS class Integration(models.Model): @@ -15,13 +16,7 @@ class Integration(models.Model): class EventSubscription(models.Model): - EVENT_CHOICES = [ - ("channel_start", "Channel Started"), - ("channel_stop", "Channel Stopped"), - ("movie_added", "Movie Added"), - ("series_added", "Series Added"), - ("download_complete", "Download Complete"), - ] + EVENT_CHOICES = list(SUPPORTED_EVENTS.items()) event = models.CharField(max_length=100, choices=EVENT_CHOICES) integration = models.ForeignKey(Integration, on_delete=models.CASCADE, related_name="subscriptions") enabled = models.BooleanField(default=True) diff --git a/apps/connect/utils.py b/apps/connect/utils.py index a276619b..407a3707 100644 --- a/apps/connect/utils.py +++ b/apps/connect/utils.py @@ -13,20 +13,20 @@ HANDLERS = { "script": ScriptHandler, } -SUPPORTED_EVENTS = [ - "channel_start", - "channel_stop", - "channel_reconnect", - "channel_error", - "channel_failover", - "stream_switch", - "recording_start", - "recording_end", - "epg_refresh", - "m3u_refresh", - "client_connect", - "client_disconnect", -] +SUPPORTED_EVENTS = { + "channel_start": "Channel Started", + "channel_stop": "Channel Stopped", + "channel_reconnect": "Channel Reconnected", + "channel_error": "Channel Error", + "channel_failover": "Channel Failover", + "stream_switch": "Stream Switch", + "recording_start": "Recording Started", + "recording_end": "Recording Ended", + "epg_refresh": "EPG Refreshed", + "m3u_refresh": "M3U Refreshed", + "client_connect": "Client Connected", + "client_disconnect": "Client Disconnected", +} def trigger_event(event_name, payload): diff --git a/frontend/src/constants.js b/frontend/src/constants.js index f515e1a2..11ba0f3b 100644 --- a/frontend/src/constants.js +++ b/frontend/src/constants.js @@ -358,4 +358,14 @@ export const CONTAINER_EXTENSIONS = [ export const SUBSCRIPTION_EVENTS = { channel_start: 'Channel Started', channel_stop: 'Channel Stopped', + channel_reconnect: 'Channel Reconnected', + channel_error: 'Channel Error', + channel_failover: 'Channel Failover', + stream_switch: 'Stream Switch', + recording_start: 'Recording Started', + recording_end: 'Recording Ended', + epg_refresh: 'EPG Refreshed', + m3u_refresh: 'M3U Refreshed', + client_connect: 'Client Connected', + client_disconnect: 'Client Disconnected', };