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

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 

5 

6from .nested import NestedGroupSerializer, NestedUserSerializer 

7 

8__all__ = ( 

9 'ObjectPermissionSerializer', 

10) 

11 

12 

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 ) 

32 

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 )