From 20664e6fff9f302edea346847ce2fdb5ed8df68f Mon Sep 17 00:00:00 2001 From: kj1352 Date: Mon, 18 Jul 2022 18:22:11 +0530 Subject: [PATCH] Project API --- project/serializers.py | 8 ++++++++ project/urls.py | 6 ++++++ project/views.py | 17 +++++++++++++++-- workx_backend/urls.py | 4 +++- 4 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 project/serializers.py create mode 100644 project/urls.py diff --git a/project/serializers.py b/project/serializers.py new file mode 100644 index 0000000..742a037 --- /dev/null +++ b/project/serializers.py @@ -0,0 +1,8 @@ +from rest_framework import serializers +from .models import Project + + +class ProjectSerializers(serializers.ModelSerializer): + class Meta: + model = Project + fields = ['id', 'name', 'project_image', 'client', 'total_compensation', 'start_date', 'end_date'] diff --git a/project/urls.py b/project/urls.py new file mode 100644 index 0000000..e85a5ea --- /dev/null +++ b/project/urls.py @@ -0,0 +1,6 @@ +from django.urls import path +from . import views + +urlpatterns = [ + path('projects/', views.ProjectList.as_view()), +] diff --git a/project/views.py b/project/views.py index 91ea44a..1d62357 100644 --- a/project/views.py +++ b/project/views.py @@ -1,3 +1,16 @@ -from django.shortcuts import render +from rest_framework.response import Response +from rest_framework.views import APIView +from rest_framework.authentication import TokenAuthentication, SessionAuthentication +from rest_framework.permissions import IsAuthenticated +from .models import Project +from .serializers import ProjectSerializers -# Create your views here. + +class ProjectList(APIView): + authentication_classes = [TokenAuthentication, SessionAuthentication] + permission_classes = [IsAuthenticated] + + def get(self, request): + projects = Project.objects.all() + serializer = ProjectSerializers(projects, many=True) + return Response(serializer.data) diff --git a/workx_backend/urls.py b/workx_backend/urls.py index 8b70c66..aef8e04 100644 --- a/workx_backend/urls.py +++ b/workx_backend/urls.py @@ -5,6 +5,7 @@ from drf_yasg.views import get_schema_view from drf_yasg import openapi from client import urls as clientUrls from employee import urls as employeeUrls +from project import urls as projectUrls schema_view = get_schema_view( @@ -29,7 +30,8 @@ urlpatterns = [ path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'), path('api/', include([ path('', include(clientUrls)), - path('', include(employeeUrls)) + path('', include(employeeUrls)), + path('', include(projectUrls)) ])) ])), ]