change response of permissions apis

This commit is contained in:
xoliqberdiyev
2026-04-28 16:04:59 +05:00
parent d7ea1acba6
commit d1340cdd52
5 changed files with 38 additions and 11 deletions

View File

@@ -0,0 +1,18 @@
# Generated by Django 5.2.7 on 2026-04-28 11:02
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('accounts', '0004_permissiontoaction_permissiontotab_permission_role_and_more'),
]
operations = [
migrations.RenameField(
model_name='permission',
old_name='permission_tab',
new_name='permission_tabs',
),
]

View File

@@ -33,7 +33,7 @@ class PermissionToTab(AbstractBaseModel):
class Permission(AbstractBaseModel):
name = models.CharField(max_length=200)
code = models.CharField(max_length=100, unique=True)
permission_tab = models.ManyToManyField(PermissionToTab, related_name='permissions')
permission_tabs = models.ManyToManyField(PermissionToTab, related_name='permissions')
def __str__(self):
return f'{self.name} - {self.code}'

View File

@@ -6,21 +6,32 @@ from core.apps.accounts.models.permission import PermissionToAction, PermissionT
class PermissionToActionSerializer(serializers.ModelSerializer):
class Meta:
model = PermissionToAction
fields = "__all__"
fields = ['id', 'name']
class PermissionToTabSerializer(serializers.ModelSerializer):
permission_to_actions = PermissionToActionSerializer(many=True)
class Meta:
model = PermissionToTab
fields = '__all__'
fields = ['id', 'name', 'permission_to_actions']
class PermissionSerializer(serializers.ModelSerializer):
permission_to_tabs = PermissionToTabSerializer(many=True)
class Meta:
model = Permission
fields = '__all__'
fields = ['id', 'name', 'permission_to_tabs']
class RoleSerializer(serializers.ModelSerializer):
class RoleListSerializer(serializers.ModelSerializer):
permissions = PermissionSerializer(many=True)
permission_to_tabs = PermissionToTabSerializer(many=True)
permission_to_actions = PermissionToActionSerializer(many=True)
class Meta:
model = Role
fields = '__all__'
fields = [
'id', 'name', 'comment', 'permissions', 'permission_to_tabs', 'permission_to_actions',
]

View File

@@ -5,7 +5,7 @@ from rest_framework.viewsets import ModelViewSet
from core.apps.accounts.models.permission import PermissionToAction, PermissionToTab, Permission, Role
from core.apps.accounts.serializers.permission import PermissionToActionSerializer, PermissionToTabSerializer, \
PermissionSerializer, RoleSerializer
PermissionSerializer, RoleListSerializer
@extend_schema(tags=["permission"])
@@ -39,4 +39,4 @@ class PermissionViewSet(BaseViewSetMixin, ModelViewSet):
class RoleViewSet(BaseViewSetMixin, ModelViewSet):
queryset = Role.objects.all()
serializer_class = RoleSerializer
serializer_class = RoleListSerializer

View File

@@ -16,9 +16,7 @@ class BaseCertificateSerializer(serializers.ModelSerializer):
def get_file(self, obj):
if obj.file:
request = self.context.get('request')
if request:
return request.build_absolute_uri(obj.file.url)
return obj.file.url
return request.build_absolute_uri(obj.file.url)
return None