diff --git a/api/libretime_api/podcasts/__init__.py b/api/libretime_api/podcasts/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/api/libretime_api/podcasts/apps.py b/api/libretime_api/podcasts/apps.py new file mode 100644 index 000000000..c6b580a32 --- /dev/null +++ b/api/libretime_api/podcasts/apps.py @@ -0,0 +1,7 @@ +from django.apps import AppConfig + + +class PodcastsConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "libretime_api.podcasts" + verbose_name = "LibreTime Podcasts API" diff --git a/api/libretime_api/podcasts/models/__init__.py b/api/libretime_api/podcasts/models/__init__.py new file mode 100644 index 000000000..bbb773e91 --- /dev/null +++ b/api/libretime_api/podcasts/models/__init__.py @@ -0,0 +1 @@ +from .podcast import ImportedPodcast, Podcast, PodcastEpisode, StationPodcast diff --git a/api/libretime_api/schedule/models/podcast.py b/api/libretime_api/podcasts/models/podcast.py similarity index 100% rename from api/libretime_api/schedule/models/podcast.py rename to api/libretime_api/podcasts/models/podcast.py diff --git a/api/libretime_api/podcasts/router.py b/api/libretime_api/podcasts/router.py new file mode 100644 index 000000000..60f0b372b --- /dev/null +++ b/api/libretime_api/podcasts/router.py @@ -0,0 +1,14 @@ +from rest_framework import routers + +from .views import ( + ImportedPodcastViewSet, + PodcastEpisodeViewSet, + PodcastViewSet, + StationPodcastViewSet, +) + +router = routers.DefaultRouter() +router.register("podcast-episodes", PodcastEpisodeViewSet) +router.register("podcasts", PodcastViewSet) +router.register("station-podcasts", StationPodcastViewSet) +router.register("imported-podcasts", ImportedPodcastViewSet) diff --git a/api/libretime_api/podcasts/serializers/__init__.py b/api/libretime_api/podcasts/serializers/__init__.py new file mode 100644 index 000000000..309cafe5a --- /dev/null +++ b/api/libretime_api/podcasts/serializers/__init__.py @@ -0,0 +1,6 @@ +from .podcast import ( + ImportedPodcastSerializer, + PodcastEpisodeSerializer, + PodcastSerializer, + StationPodcastSerializer, +) diff --git a/api/libretime_api/schedule/serializers/podcast.py b/api/libretime_api/podcasts/serializers/podcast.py similarity index 100% rename from api/libretime_api/schedule/serializers/podcast.py rename to api/libretime_api/podcasts/serializers/podcast.py diff --git a/api/libretime_api/podcasts/views/__init__.py b/api/libretime_api/podcasts/views/__init__.py new file mode 100644 index 000000000..ee4bc9585 --- /dev/null +++ b/api/libretime_api/podcasts/views/__init__.py @@ -0,0 +1,6 @@ +from .podcast import ( + ImportedPodcastViewSet, + PodcastEpisodeViewSet, + PodcastViewSet, + StationPodcastViewSet, +) diff --git a/api/libretime_api/schedule/views/podcast.py b/api/libretime_api/podcasts/views/podcast.py similarity index 100% rename from api/libretime_api/schedule/views/podcast.py rename to api/libretime_api/podcasts/views/podcast.py diff --git a/api/libretime_api/schedule/models/__init__.py b/api/libretime_api/schedule/models/__init__.py index f068ed279..12c72903b 100644 --- a/api/libretime_api/schedule/models/__init__.py +++ b/api/libretime_api/schedule/models/__init__.py @@ -1,5 +1,4 @@ from .playlist import Playlist, PlaylistContent -from .podcast import ImportedPodcast, Podcast, PodcastEpisode, StationPodcast from .schedule import Schedule from .show import Show, ShowDays, ShowHost, ShowInstance, ShowRebroadcast from .smart_block import SmartBlock, SmartBlockContent, SmartBlockCriteria diff --git a/api/libretime_api/schedule/router.py b/api/libretime_api/schedule/router.py index c3f61e0d6..af4e96f7f 100644 --- a/api/libretime_api/schedule/router.py +++ b/api/libretime_api/schedule/router.py @@ -1,11 +1,8 @@ from rest_framework import routers from .views import ( - ImportedPodcastViewSet, PlaylistContentViewSet, PlaylistViewSet, - PodcastEpisodeViewSet, - PodcastViewSet, ScheduleViewSet, ShowDaysViewSet, ShowHostViewSet, @@ -15,7 +12,6 @@ from .views import ( SmartBlockContentViewSet, SmartBlockCriteriaViewSet, SmartBlockViewSet, - StationPodcastViewSet, WebstreamMetadataViewSet, WebstreamViewSet, ) @@ -23,10 +19,6 @@ from .views import ( router = routers.DefaultRouter() router.register("playlist-contents", PlaylistContentViewSet) router.register("playlists", PlaylistViewSet) -router.register("podcast-episodes", PodcastEpisodeViewSet) -router.register("podcasts", PodcastViewSet) -router.register("station-podcasts", StationPodcastViewSet) -router.register("imported-podcasts", ImportedPodcastViewSet) router.register("schedule", ScheduleViewSet) router.register("show-days", ShowDaysViewSet) router.register("show-hosts", ShowHostViewSet) diff --git a/api/libretime_api/schedule/serializers/__init__.py b/api/libretime_api/schedule/serializers/__init__.py index 35c59aa4c..a10a4e771 100644 --- a/api/libretime_api/schedule/serializers/__init__.py +++ b/api/libretime_api/schedule/serializers/__init__.py @@ -1,10 +1,4 @@ from .playlist import PlaylistContentSerializer, PlaylistSerializer -from .podcast import ( - ImportedPodcastSerializer, - PodcastEpisodeSerializer, - PodcastSerializer, - StationPodcastSerializer, -) from .schedule import ScheduleSerializer from .show import ( ShowDaysSerializer, diff --git a/api/libretime_api/schedule/views/__init__.py b/api/libretime_api/schedule/views/__init__.py index 809888976..ca61e3d2c 100644 --- a/api/libretime_api/schedule/views/__init__.py +++ b/api/libretime_api/schedule/views/__init__.py @@ -1,10 +1,4 @@ from .playlist import PlaylistContentViewSet, PlaylistViewSet -from .podcast import ( - ImportedPodcastViewSet, - PodcastEpisodeViewSet, - PodcastViewSet, - StationPodcastViewSet, -) from .schedule import ScheduleViewSet from .show import ( ShowDaysViewSet, diff --git a/api/libretime_api/settings/_internal.py b/api/libretime_api/settings/_internal.py index 507e4f8f7..c2c2f9fca 100644 --- a/api/libretime_api/settings/_internal.py +++ b/api/libretime_api/settings/_internal.py @@ -13,6 +13,7 @@ INSTALLED_APPS = [ "libretime_api.core", "libretime_api.history", "libretime_api.storage", + "libretime_api.podcasts", "libretime_api.schedule", "django.contrib.auth", "django.contrib.contenttypes", diff --git a/api/libretime_api/urls.py b/api/libretime_api/urls.py index f17815463..4a20064d7 100644 --- a/api/libretime_api/urls.py +++ b/api/libretime_api/urls.py @@ -11,6 +11,7 @@ from rest_framework import routers from .core.router import router as core_router from .core.views import version from .history.router import router as history_router +from .podcasts.router import router as podcasts_router from .schedule.router import router as schedule_router from .storage.router import router as storage_router @@ -18,6 +19,7 @@ router = routers.DefaultRouter() router.registry.extend(core_router.registry) router.registry.extend(history_router.registry) +router.registry.extend(podcasts_router.registry) router.registry.extend(schedule_router.registry) router.registry.extend(storage_router.registry)