mirror of
https://gitlab.crans.org/mediatek/med.git
synced 2025-06-29 18:31:09 +02:00
Add REST API
This commit is contained in:
31
media/serializers.py
Normal file
31
media/serializers.py
Normal file
@ -0,0 +1,31 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from .models import Auteur, Media, Emprunt, Jeu
|
||||
|
||||
|
||||
class AuteurSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = Auteur
|
||||
fields = ['url', 'name']
|
||||
|
||||
|
||||
class MediaSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = Media
|
||||
fields = ['url', 'isbn', 'title', 'subtitle', 'external_url',
|
||||
'side_identifier', 'authors', 'number_of_pages',
|
||||
'publish_date']
|
||||
|
||||
|
||||
class EmpruntSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = Emprunt
|
||||
fields = ['url', 'media', 'user', 'date_emprunt', 'date_rendu',
|
||||
'permanencier_emprunt', 'permanencier_rendu']
|
||||
|
||||
|
||||
class JeuSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = Jeu
|
||||
fields = ['url', 'name', 'proprietaire', 'duree', 'nombre_joueurs_min',
|
||||
'nombre_joueurs_max', 'comment']
|
@ -8,9 +8,12 @@ from django.db import transaction
|
||||
from django.shortcuts import redirect, render
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from rest_framework import viewsets
|
||||
from reversion import revisions as reversion
|
||||
|
||||
from .models import Emprunt
|
||||
from .models import Auteur, Media, Emprunt, Jeu
|
||||
from .serializers import AuteurSerializer, MediaSerializer, \
|
||||
EmpruntSerializer, JeuSerializer
|
||||
|
||||
|
||||
@login_required
|
||||
@ -40,3 +43,35 @@ def index(request):
|
||||
return render(request, 'admin/index.html', {
|
||||
'title': _('Welcome to the Mediatek database'),
|
||||
})
|
||||
|
||||
|
||||
class AuteurViewSet(viewsets.ModelViewSet):
|
||||
"""
|
||||
API endpoint that allows authors to be viewed or edited.
|
||||
"""
|
||||
queryset = Auteur.objects.all()
|
||||
serializer_class = AuteurSerializer
|
||||
|
||||
|
||||
class MediaViewSet(viewsets.ModelViewSet):
|
||||
"""
|
||||
API endpoint that allows media to be viewed or edited.
|
||||
"""
|
||||
queryset = Media.objects.all()
|
||||
serializer_class = MediaSerializer
|
||||
|
||||
|
||||
class EmpruntViewSet(viewsets.ModelViewSet):
|
||||
"""
|
||||
API endpoint that allows borrowed items to be viewed or edited.
|
||||
"""
|
||||
queryset = Emprunt.objects.all()
|
||||
serializer_class = EmpruntSerializer
|
||||
|
||||
|
||||
class JeuViewSet(viewsets.ModelViewSet):
|
||||
"""
|
||||
API endpoint that allows games to be viewed or edited.
|
||||
"""
|
||||
queryset = Jeu.objects.all()
|
||||
serializer_class = JeuSerializer
|
||||
|
Reference in New Issue
Block a user