Refactor Docker configuration and API endpoints

- Merged production and development Docker configurations
- Updated Dockerfile to use multi-stage build
- Removed separate Dockerfile.prod
- Modified docker-compose.yml for production settings
- Added new API endpoints for user filtering by ID card
- Updated serializers and views for Atoll and Island management
- Enhanced user and atoll-related filters and views
This commit is contained in:
2025-01-24 11:43:18 +05:00
parent f6f77bb0e5
commit c1fc07e3e2
9 changed files with 118 additions and 137 deletions

View File

@ -28,6 +28,7 @@ from .serializers import (
AuthSerializer,
CustomUserSerializer,
CustomReadOnlyUserSerializer,
CustomReadOnlyUserByIDCardSerializer,
)
@ -195,6 +196,16 @@ class ListUserView(StaffEditorPermissionMixin, generics.ListAPIView):
queryset = User.objects.all()
class ListUserByIDCardView(generics.ListAPIView):
# Create user API view
permission_classes = (permissions.AllowAny,)
serializer_class = CustomReadOnlyUserByIDCardSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = "__all__"
filterset_class = UserFilter
queryset = User.objects.all()
class UserDetailAPIView(StaffEditorPermissionMixin, generics.RetrieveAPIView):
queryset = User.objects.all()
serializer_class = CustomReadOnlyUserSerializer
@ -228,7 +239,7 @@ def test_email(request):
return Response({"status": "ok"}, status=status.HTTP_200_OK)
class ListCreateAtollView(StaffEditorPermissionMixin, generics.ListCreateAPIView):
class CreateAtollView(StaffEditorPermissionMixin, generics.CreateAPIView):
serializer_class = AtollSerializer
queryset = Atoll.objects.all()
@ -242,6 +253,13 @@ class ListCreateAtollView(StaffEditorPermissionMixin, generics.ListCreateAPIView
return super().create(request, *args, **kwargs)
class ListAtollView(generics.ListAPIView):
permission_classes = (permissions.AllowAny,)
serializer_class = AtollSerializer
queryset = Atoll.objects.all()
throttle_classes = () # override throttling
class RetrieveUpdateDestroyAtollView(
StaffEditorPermissionMixin, generics.RetrieveUpdateDestroyAPIView
):