[api] Missed a few api endpoints

This commit is contained in:
2025-11-17 16:11:31 -05:00
parent 8603bbd5cb
commit d12cca304f
6 changed files with 68 additions and 14 deletions

View File

@ -1,19 +1,16 @@
from rest_framework import permissions, viewsets
from books.api.serializers import (
AuthorSerializer,
BookSerializer,
)
from books.models import Author, Book
from books.api import serializers
from books import models
class AuthorViewSet(viewsets.ModelViewSet):
queryset = Author.objects.all().order_by("-created")
serializer_class = AuthorSerializer
queryset = models.Author.objects.all().order_by("-created")
serializer_class = serializers.AuthorSerializer
permission_classes = [permissions.IsAuthenticated]
class BookViewSet(viewsets.ModelViewSet):
queryset = Book.objects.all().order_by("-created")
serializer_class = BookSerializer
queryset = models.Book.objects.all().order_by("-created")
serializer_class = serializers.BookSerializer
permission_classes = [permissions.IsAuthenticated]

View File

@ -0,0 +1,8 @@
from lifeevents.models import LifeEvent
from rest_framework import serializers
class LifeEventSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = LifeEvent
fields = "__all__"

View File

@ -0,0 +1,10 @@
from rest_framework import permissions, viewsets
from lifeevents.api import serializers
from lifeevents import models
class LifeEventViewSet(viewsets.ModelViewSet):
queryset = models.LifeEvent.objects.all().order_by("-created")
serializer_class = serializers.LifeEventSerializer
permission_classes = [permissions.IsAuthenticated]

View File

@ -0,0 +1,8 @@
from trails import models
from rest_framework import serializers
class TrailSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = models.Trail
fields = "__all__"

View File

@ -0,0 +1,11 @@
from rest_framework import permissions, viewsets
from trails.api import serializers
from trails import models
class TrailViewSet(viewsets.ModelViewSet):
queryset = models.Trail.objects.all().order_by("-created")
serializer_class = serializers.TrailSerializer
permission_classes = [permissions.IsAuthenticated]

View File

@ -4,25 +4,35 @@ from oauth2_provider import urls as oauth2_urls
from rest_framework import routers
import vrobbler.apps.scrobbles.views as scrobbles_views
from vrobbler.apps.boardgames import urls as boardgame_urls
from vrobbler.apps.boardgames.api.views import BoardGameViewSet, BoardGameDesignerViewSet, BoardGamePublisherViewSet, BoardGameLocationViewSet
from vrobbler.apps.books import urls as book_urls
from vrobbler.apps.books.api.views import AuthorViewSet, BookViewSet
from vrobbler.apps.bricksets import urls as bricksets_urls
from vrobbler.apps.lifeevents import urls as lifeevents_urls
from vrobbler.apps.lifeevents.api.views import LifeEventViewSet
from vrobbler.apps.locations import urls as locations_urls
from vrobbler.apps.locations.api.views import GeoLocationViewSet
from vrobbler.apps.moods import urls as moods_urls
from vrobbler.apps.moods.api.views import MoodViewSet
from vrobbler.apps.foods import urls as foods_urls
from vrobbler.apps.foods.api.views import FoodViewSet, FoodCategoryViewSet
from vrobbler.apps.music import urls as music_urls
from vrobbler.apps.music.api.views import (
AlbumViewSet,
ArtistViewSet,
TrackViewSet,
)
from vrobbler.apps.podcasts import urls as podcast_urls
from vrobbler.apps.podcasts.api.views import ProducerViewSet, PodcastViewSet, PodcastEpisodeViewSet
from vrobbler.apps.profiles.api.views import UserProfileViewSet, UserViewSet
from vrobbler.apps.scrobbles import urls as scrobble_urls
from vrobbler.apps.scrobbles.api.views import (
AudioScrobblerTSVImportViewSet,
@ -30,6 +40,7 @@ from vrobbler.apps.scrobbles.api.views import (
LastFmImportViewSet,
ScrobbleViewSet,
)
from vrobbler.apps.sports import urls as sports_urls
from vrobbler.apps.sports.api.views import (
LeagueViewSet,
@ -41,20 +52,28 @@ from vrobbler.apps.sports.api.views import (
)
from vrobbler.apps.tasks import urls as tasks_urls
from vrobbler.apps.tasks.api.views import TaskViewSet
from vrobbler.apps.profiles import urls as profiles_urls
from vrobbler.apps.profiles.api.views import UserProfileViewSet, UserViewSet
from vrobbler.apps.trails import urls as trails_urls
from vrobbler.apps.trails.api.views import TrailViewSet
from vrobbler.apps.beers import urls as beers_urls
from vrobbler.apps.beers.api.views import BeerViewSet, BeerProducerViewSet, BeerStyleViewSet
from vrobbler.apps.foods import urls as foods_urls
from vrobbler.apps.foods.api.views import FoodViewSet
from vrobbler.apps.puzzles import urls as puzzles_urls
from vrobbler.apps.puzzles.api.views import PuzzleViewSet, PuzzleManufacturerViewSet
from vrobbler.apps.videogames import urls as videogame_urls
from vrobbler.apps.videos import urls as video_urls
from vrobbler.apps.videos.api.views import SeriesViewSet, VideoViewSet
from vrobbler.apps.bricksets import urls as bricksets_urls
from vrobbler.apps.bricksets.api.views import BrickSetViewSet
from vrobbler.apps.webpages import urls as webpages_urls
from vrobbler.apps.webpages.api.views import DomainViewSet, WebPageViewSet
from vrobbler.apps.bricksets.api.views import BrickSetViewSet
# from vrobbler.apps.modern_ui import urls as modern_ui_urls
@ -97,6 +116,7 @@ router.register(r"podcasts", PodcastViewSet)
router.register(r"puzzle-manufacturers", PuzzleManufacturerViewSet)
router.register(r"puzzles", PuzzleViewSet)
router.register(r"bricksets", BrickSetViewSet)
router.register(r"lifeevents", LifeEventViewSet)
urlpatterns = [
path("api/v1/", include(router.urls)),