change response of permissions apis
This commit is contained in:
@@ -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',
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -33,7 +33,7 @@ class PermissionToTab(AbstractBaseModel):
|
|||||||
class Permission(AbstractBaseModel):
|
class Permission(AbstractBaseModel):
|
||||||
name = models.CharField(max_length=200)
|
name = models.CharField(max_length=200)
|
||||||
code = models.CharField(max_length=100, unique=True)
|
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):
|
def __str__(self):
|
||||||
return f'{self.name} - {self.code}'
|
return f'{self.name} - {self.code}'
|
||||||
|
|||||||
@@ -6,21 +6,32 @@ from core.apps.accounts.models.permission import PermissionToAction, PermissionT
|
|||||||
class PermissionToActionSerializer(serializers.ModelSerializer):
|
class PermissionToActionSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = PermissionToAction
|
model = PermissionToAction
|
||||||
fields = "__all__"
|
fields = ['id', 'name']
|
||||||
|
|
||||||
|
|
||||||
class PermissionToTabSerializer(serializers.ModelSerializer):
|
class PermissionToTabSerializer(serializers.ModelSerializer):
|
||||||
|
permission_to_actions = PermissionToActionSerializer(many=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = PermissionToTab
|
model = PermissionToTab
|
||||||
fields = '__all__'
|
fields = ['id', 'name', 'permission_to_actions']
|
||||||
|
|
||||||
|
|
||||||
class PermissionSerializer(serializers.ModelSerializer):
|
class PermissionSerializer(serializers.ModelSerializer):
|
||||||
|
permission_to_tabs = PermissionToTabSerializer(many=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Permission
|
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:
|
class Meta:
|
||||||
model = Role
|
model = Role
|
||||||
fields = '__all__'
|
fields = [
|
||||||
|
'id', 'name', 'comment', 'permissions', 'permission_to_tabs', 'permission_to_actions',
|
||||||
|
]
|
||||||
|
|||||||
@@ -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.models.permission import PermissionToAction, PermissionToTab, Permission, Role
|
||||||
from core.apps.accounts.serializers.permission import PermissionToActionSerializer, PermissionToTabSerializer, \
|
from core.apps.accounts.serializers.permission import PermissionToActionSerializer, PermissionToTabSerializer, \
|
||||||
PermissionSerializer, RoleSerializer
|
PermissionSerializer, RoleListSerializer
|
||||||
|
|
||||||
|
|
||||||
@extend_schema(tags=["permission"])
|
@extend_schema(tags=["permission"])
|
||||||
@@ -39,4 +39,4 @@ class PermissionViewSet(BaseViewSetMixin, ModelViewSet):
|
|||||||
|
|
||||||
class RoleViewSet(BaseViewSetMixin, ModelViewSet):
|
class RoleViewSet(BaseViewSetMixin, ModelViewSet):
|
||||||
queryset = Role.objects.all()
|
queryset = Role.objects.all()
|
||||||
serializer_class = RoleSerializer
|
serializer_class = RoleListSerializer
|
||||||
|
|||||||
@@ -16,9 +16,7 @@ class BaseCertificateSerializer(serializers.ModelSerializer):
|
|||||||
def get_file(self, obj):
|
def get_file(self, obj):
|
||||||
if obj.file:
|
if obj.file:
|
||||||
request = self.context.get('request')
|
request = self.context.get('request')
|
||||||
if request:
|
return request.build_absolute_uri(obj.file.url)
|
||||||
return request.build_absolute_uri(obj.file.url)
|
|
||||||
return obj.file.url
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user