2018-03-30 02:59:51 +00:00
|
|
|
from django.urls import path
|
|
|
|
|
2018-03-28 20:12:55 +00:00
|
|
|
from rest_framework.routers import DefaultRouter
|
|
|
|
|
2018-03-30 21:22:18 +00:00
|
|
|
from api.views.controls import JustPlayed, MakeRequest, NextRequest
|
2018-04-05 14:59:30 +00:00
|
|
|
from api.views.profiles import ProfileViewSet
|
2018-03-28 20:12:55 +00:00
|
|
|
from api.views.radio import (AlbumViewSet, ArtistViewSet,
|
|
|
|
GameViewSet, SongViewSet)
|
|
|
|
|
|
|
|
|
2018-04-03 20:23:17 +00:00
|
|
|
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()
|
2018-03-30 02:59:51 +00:00
|
|
|
|
2018-04-05 14:59:30 +00:00
|
|
|
router.register(r'profiles', ProfileViewSet, base_name='profile')
|
|
|
|
|
2018-03-28 20:12:55 +00:00
|
|
|
router.register(r'albums', AlbumViewSet, base_name='album')
|
|
|
|
router.register(r'artists', ArtistViewSet, base_name='artist')
|
|
|
|
router.register(r'games', GameViewSet, base_name='game')
|
|
|
|
router.register(r'songs', SongViewSet, base_name='song')
|
|
|
|
|
2018-03-30 02:59:51 +00:00
|
|
|
urlpatterns = [
|
|
|
|
path('next/', NextRequest.as_view()),
|
|
|
|
path('played/', JustPlayed.as_view()),
|
2018-03-30 21:22:18 +00:00
|
|
|
path('request/', MakeRequest.as_view()),
|
2018-03-30 02:59:51 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
urlpatterns += router.urls
|