add project apis

This commit is contained in:
behruz-dev
2025-08-04 10:47:12 +05:00
parent 1831ceae80
commit 1a5187f68d
7 changed files with 178 additions and 5 deletions

View File

@@ -1,7 +1,7 @@
from rest_framework import generics, status
from rest_framework.response import Response
from core.apps.projects.models.project import Project, ProjectDepartment
from core.apps.projects.models.project import Project, ProjectDepartment, ProjectFolder
from core.apps.projects.serializers import project as serializers
from core.apps.accounts.permissions.permissions import HasRolePermission
from core.apps.shared.paginations.custom import CustomPageNumberPagination
@@ -20,4 +20,34 @@ class ProjectDetailApiView(generics.RetrieveAPIView):
queryset = Project.objects.prefetch_related('project_departments')
permission_classes = [HasRolePermission]
required_permissions = []
lookup_field = 'id'
lookup_field = 'id'
class ProjectCreateApiView(generics.CreateAPIView):
serializer_class = serializers.ProjectCreateSerializer
queryset = Project.objects.all()
permission_classes = [HasRolePermission]
required_permissions = []
# Project Folder
class ProjectFolderCreateApiView(generics.CreateAPIView):
serializer_class = serializers.ProjectFolderCreateSerializer
queryset = ProjectFolder.objects.all()
permission_classes = [HasRolePermission]
required_permissions = []
class ProjectFolderListApiView(generics.ListAPIView):
serializer_class = serializers.ProjectFolderListSerializer
queryset = ProjectFolder.objects.prefetch_related('projects')
permission_classes = [HasRolePermission]
required_permissions = []
pagination_class = CustomPageNumberPagination
class ProjectFolderCreateProjectApiView(generics.CreateAPIView):
serializer_class = serializers.ProjectFolderProjectCreateSerializer
queryset = Project.objects.all()
permission_classes = [HasRolePermission]
required_permissions = []