Refactor Docker and Django configuration

- Update Dockerfile to use Python 3.11-slim and optimize build steps
- Remove Dockerfile.prod and update docker-compose.yml
- Remove entrypoint.sh and twilio dependency
- Modify Django settings for production security and configuration
- Update user serializer to include group permissions
- Enhance CSRF and SSL configuration settings
This commit is contained in:
2025-02-12 19:27:05 +05:00
parent 871d604ef4
commit fea31cd651
6 changed files with 35 additions and 38 deletions

View File

@ -1,6 +1,7 @@
from knox.models import AuthToken
from django.contrib.auth import authenticate
from api.models import User, Atoll, Island
from django.contrib.auth.models import Permission
from rest_framework import serializers
@ -11,10 +12,20 @@ class CustomUserSerializer(serializers.ModelSerializer):
user_permissions = serializers.SerializerMethodField()
def get_user_permissions(self, instance):
permission_ids = instance.user_permissions.all()
# Fetch user's direct permissions
user_permissions = instance.user_permissions.all()
# Fetch permissions from groups
group_permissions = instance.groups.values_list("permissions", flat=True)
# Combine both permissions
all_permissions = user_permissions | Permission.objects.filter(
id__in=group_permissions
)
return [
{"id": permission.id, "name": permission.name}
for permission in permission_ids
for permission in all_permissions.distinct()
]
class Meta: # type: ignore
@ -22,10 +33,11 @@ class CustomUserSerializer(serializers.ModelSerializer):
fields = (
"id",
"username",
"email",
"user_permissions",
"id_card",
"first_name",
"last_name",
"email",
"last_login",
"date_joined",
"is_superuser",