diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 713078a0..351d2693 100644 Binary files a/osinaweb/db.sqlite3 and b/osinaweb/db.sqlite3 differ diff --git a/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc b/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc index 6aaaa0fe..de22b977 100644 Binary files a/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc and b/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc differ diff --git a/osinaweb/osinacore/api/__pycache__/urls.cpython-313.pyc b/osinaweb/osinacore/api/__pycache__/urls.cpython-313.pyc index 517924fb..910b0f56 100644 Binary files a/osinaweb/osinacore/api/__pycache__/urls.cpython-313.pyc and b/osinaweb/osinacore/api/__pycache__/urls.cpython-313.pyc differ diff --git a/osinaweb/osinacore/api/__pycache__/views.cpython-313.pyc b/osinaweb/osinacore/api/__pycache__/views.cpython-313.pyc index 210318d1..fce0671d 100644 Binary files a/osinaweb/osinacore/api/__pycache__/views.cpython-313.pyc and b/osinaweb/osinacore/api/__pycache__/views.cpython-313.pyc differ diff --git a/osinaweb/osinacore/api/serializers.py b/osinaweb/osinacore/api/serializers.py index efc66f89..338711e2 100644 --- a/osinaweb/osinacore/api/serializers.py +++ b/osinaweb/osinacore/api/serializers.py @@ -222,4 +222,14 @@ class DailyReportSerializer(serializers.ModelSerializer): seconds = total_seconds % 60 return f"{hours:02d}:{minutes:02d}:{seconds:02d}" except Exception: - return None \ No newline at end of file + return None + + + +class StatusSerializer(serializers.ModelSerializer): + staff = StaffProfileSerializer(read_only=True) + + + class Meta: + model = Status + fields = "__all__" \ No newline at end of file diff --git a/osinaweb/osinacore/api/urls.py b/osinaweb/osinacore/api/urls.py index 3ea93523..b14faf3c 100644 --- a/osinaweb/osinacore/api/urls.py +++ b/osinaweb/osinacore/api/urls.py @@ -11,4 +11,5 @@ urlpatterns = [ path("userstories/", UserStoryAPIView.as_view(), name="userstories"), path('tasks//', TaskAPIView.as_view(), name='project-tasks'), path("reports/", DailyReportAPIView.as_view(), name="reports"), + path("statuses/", StatusAPIView.as_view(), name="statuses"), ] \ No newline at end of file diff --git a/osinaweb/osinacore/api/views.py b/osinaweb/osinacore/api/views.py index e4d608e2..ed619153 100644 --- a/osinaweb/osinacore/api/views.py +++ b/osinaweb/osinacore/api/views.py @@ -6,6 +6,7 @@ from rest_framework.response import Response from rest_framework import status from django.contrib.auth.models import User from .serializers import * +from rest_framework.pagination import PageNumberPagination class UserProfilesAPIView(APIView): def get(self, request): @@ -139,4 +140,21 @@ class DailyReportAPIView(APIView): dailyreport = DailyReport.objects.all() data = DailyReportSerializer(dailyreport, many=True).data - return Response(data, status=status.HTTP_200_OK) \ No newline at end of file + return Response(data, status=status.HTTP_200_OK) + + + + + +class StatusAPIView(APIView): + def get(self, request): + statuses = Status.objects.all() + + # Initialize paginator + paginator = PageNumberPagination() + paginator.page_size = 50 # Set default page size + result_page = paginator.paginate_queryset(statuses, request) + + # Serialize paginated data + serializer = StatusSerializer(result_page, many=True) + return paginator.get_paginated_response(serializer.data) \ No newline at end of file