Coverage for users/api/serializers_/permissions.py: 100%
14 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
1from core.models import ObjectType
2from netbox.api.fields import ContentTypeField, SerializedPKRelatedField
3from netbox.api.serializers import ValidatedModelSerializer
4from users.models import Group, ObjectPermission, User
6from .nested import NestedGroupSerializer, NestedUserSerializer
8__all__ = (
9 'ObjectPermissionSerializer',
10)
13class ObjectPermissionSerializer(ValidatedModelSerializer):
14 object_types = ContentTypeField(
15 queryset=ObjectType.objects.all(),
16 many=True
17 )
18 groups = SerializedPKRelatedField(
19 queryset=Group.objects.all(),
20 serializer=NestedGroupSerializer,
21 nested=True,
22 required=False,
23 many=True
24 )
25 users = SerializedPKRelatedField(
26 queryset=User.objects.all(),
27 serializer=NestedUserSerializer,
28 nested=True,
29 required=False,
30 many=True
31 )
33 class Meta:
34 model = ObjectPermission
35 fields = (
36 'id', 'url', 'display_url', 'display', 'name', 'description', 'enabled', 'object_types', 'actions',
37 'constraints', 'groups', 'users',
38 )
39 brief_fields = (
40 'id', 'url', 'display', 'name', 'description', 'enabled', 'object_types', 'actions',
41 )