diff --git a/backend/apps/shelves/serializers.py b/backend/apps/shelves/serializers.py new file mode 100644 index 0000000..1ee777e --- /dev/null +++ b/backend/apps/shelves/serializers.py @@ -0,0 +1,18 @@ +from rest_framework import serializers + +from apps.shelves.models import Shelf +from apps.user.serializers import UserSerializer +from apps.user.models import User + +class ShelfSerializer(serializers.ModelSerializer): + user = UserSerializer(read_only=True) + + class Meta: + model = Shelf + fields = ["id", "name", "user"] + read_only_fields = ["id"] + + def create(self, validated_data): + # Pobieramy user_id z tokena + + return super().create(validated_data) \ No newline at end of file diff --git a/backend/apps/shelves/urls.py b/backend/apps/shelves/urls.py new file mode 100644 index 0000000..8d4df51 --- /dev/null +++ b/backend/apps/shelves/urls.py @@ -0,0 +1,9 @@ +from rest_framework.routers import DefaultRouter + +from apps.shelves.views import ShelvesViewSet + +urlpatterns = [] + +router = DefaultRouter() +router.register("", viewset=ShelvesViewSet) +urlpatterns += router.urls \ No newline at end of file diff --git a/backend/apps/shelves/views.py b/backend/apps/shelves/views.py index 91ea44a..8c61f4c 100644 --- a/backend/apps/shelves/views.py +++ b/backend/apps/shelves/views.py @@ -1,3 +1,9 @@ from django.shortcuts import render -# Create your views here. +from apps.shelves.models import Shelf +from apps.shelves.serializers import ShelfSerializer +from rest_framework import viewsets + +class ShelvesViewSet(viewsets.ModelViewSet): + queryset = Shelf.objects.select_related("user") + serializer_class = ShelfSerializer \ No newline at end of file diff --git a/backend/apps/urls.py b/backend/apps/urls.py new file mode 100644 index 0000000..40fbfd4 --- /dev/null +++ b/backend/apps/urls.py @@ -0,0 +1,5 @@ +from django.urls import include, path + +urlpatterns = [ + path("shelves", include("apps.shelves.urls")) +] diff --git a/backend/apps/user/serializers.py b/backend/apps/user/serializers.py new file mode 100644 index 0000000..edd8700 --- /dev/null +++ b/backend/apps/user/serializers.py @@ -0,0 +1,9 @@ +from rest_framework import serializers + +from apps.user.models import User + +class UserSerializer(serializers.ModelSerializer): + + class Meta: + model = User + fields = '__all__' diff --git a/backend/config/django/base.py b/backend/config/django/base.py index 223ccbb..3729f0f 100644 --- a/backend/config/django/base.py +++ b/backend/config/django/base.py @@ -24,6 +24,8 @@ INSTALLED_APPS = [ "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", + "rest_framework", + "django_filters", ] MIDDLEWARE = [ diff --git a/backend/config/urls.py b/backend/config/urls.py index 083932c..2fc56ef 100644 --- a/backend/config/urls.py +++ b/backend/config/urls.py @@ -1,6 +1,7 @@ from django.contrib import admin -from django.urls import path +from django.urls import path, include urlpatterns = [ path("admin/", admin.site.urls), + path("api/", include("apps.urls")) ]