spradio-server-django/savepointradio/api/urls.py
2020-01-21 12:21:07 -05:00

40 lines
1.2 KiB
Python

from django.urls import path
from rest_framework.routers import DefaultRouter
from api.views.controls import JustPlayed, MakeRequest, NextRequest
from api.views.profiles import HistoryViewSet, ProfileViewSet
from api.views.radio import (AlbumViewSet, ArtistViewSet, GameViewSet,
StoreViewSet, SongViewSet)
class OptionalSlashRouter(DefaultRouter):
'''
Custom Router that allows for a trailing slash to be optional in the
endpoint URI.
(Thanks to https://stackoverflow.com/questions/46163838/)
'''
def __init__(self):
super().__init__()
self.trailing_slash = '/?'
router = OptionalSlashRouter()
router.register(r'history', HistoryViewSet, basename='history')
router.register(r'profiles', ProfileViewSet, basename='profile')
router.register(r'albums', AlbumViewSet, basename='album')
router.register(r'artists', ArtistViewSet, basename='artist')
router.register(r'games', GameViewSet, basename='game')
router.register(r'stores', StoreViewSet, basename='store')
router.register(r'songs', SongViewSet, basename='song')
urlpatterns = [
path('next/', NextRequest.as_view()),
path('played/', JustPlayed.as_view()),
path('request/', MakeRequest.as_view()),
]
urlpatterns += router.urls