mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-05 05:37:50 +02:00
Add REST API to roster
This commit is contained in:
@@ -18,10 +18,12 @@ from django.conf.urls.static import static
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.urls import include, path
|
from django.urls import include, path
|
||||||
|
|
||||||
|
from roster import urls as roster_urls
|
||||||
from driver import urls as driver_urls
|
from driver import urls as driver_urls
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
|
path('roster/', include(roster_urls)),
|
||||||
path('dcc/', include(driver_urls)),
|
path('dcc/', include(driver_urls)),
|
||||||
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||||
|
|
||||||
|
22
dcc/metadata/serializers.py
Normal file
22
dcc/metadata/serializers.py
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
from rest_framework import serializers
|
||||||
|
from metadata.models import Manufacturer, Company, Decoder
|
||||||
|
|
||||||
|
|
||||||
|
class ManufacturerSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = Manufacturer
|
||||||
|
fields = "__all__"
|
||||||
|
|
||||||
|
|
||||||
|
class CompanySerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = Company
|
||||||
|
fields = "__all__"
|
||||||
|
|
||||||
|
|
||||||
|
class DecoderSerializer(serializers.ModelSerializer):
|
||||||
|
manufacturer = serializers.StringRelatedField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Decoder
|
||||||
|
fields = "__all__"
|
18
dcc/roster/serializers.py
Normal file
18
dcc/roster/serializers.py
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
from rest_framework import serializers
|
||||||
|
from roster.models import Cab
|
||||||
|
from metadata.serializers import (
|
||||||
|
ManufacturerSerializer, CompanySerializer, DecoderSerializer)
|
||||||
|
|
||||||
|
|
||||||
|
class CabSerializer(serializers.ModelSerializer):
|
||||||
|
manufacturer = ManufacturerSerializer()
|
||||||
|
decoder = DecoderSerializer()
|
||||||
|
company = CompanySerializer()
|
||||||
|
# manufacturer = serializers.StringRelatedField()
|
||||||
|
# decoder = serializers.StringRelatedField()
|
||||||
|
# company = serializers.StringRelatedField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Cab
|
||||||
|
fields = "__all__"
|
||||||
|
read_only_fields = ("identifier", "creation_time", "updated_time")
|
10
dcc/roster/urls.py
Normal file
10
dcc/roster/urls.py
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
from django.urls import path
|
||||||
|
from roster.views import (
|
||||||
|
RosterList, RosterGet, RosterAddress, RosterIdentifier)
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
path('list', RosterList.as_view()),
|
||||||
|
path('get/<str:uuid>', RosterGet.as_view()),
|
||||||
|
path('address/<int:address>', RosterAddress.as_view()),
|
||||||
|
path('identifier/<str:identifier>', RosterIdentifier.as_view()),
|
||||||
|
]
|
@@ -1,3 +1,27 @@
|
|||||||
from django.shortcuts import render
|
from rest_framework.generics import ListCreateAPIView, RetrieveUpdateAPIView
|
||||||
|
|
||||||
# Create your views here.
|
from roster.models import Cab
|
||||||
|
from roster.serializers import CabSerializer
|
||||||
|
|
||||||
|
|
||||||
|
class RosterList(ListCreateAPIView):
|
||||||
|
queryset = Cab.objects.all()
|
||||||
|
serializer_class = CabSerializer
|
||||||
|
|
||||||
|
|
||||||
|
class RosterGet(RetrieveUpdateAPIView):
|
||||||
|
queryset = Cab.objects.all()
|
||||||
|
serializer_class = CabSerializer
|
||||||
|
lookup_field = 'uuid'
|
||||||
|
|
||||||
|
|
||||||
|
class RosterAddress(RetrieveUpdateAPIView):
|
||||||
|
queryset = Cab.objects.all()
|
||||||
|
serializer_class = CabSerializer
|
||||||
|
lookup_field = 'address'
|
||||||
|
|
||||||
|
|
||||||
|
class RosterIdentifier(RetrieveUpdateAPIView):
|
||||||
|
queryset = Cab.objects.all()
|
||||||
|
serializer_class = CabSerializer
|
||||||
|
lookup_field = 'identifier'
|
||||||
|
Reference in New Issue
Block a user