Coverage for users/graphql/types.py: 100%

14 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-10 18:35 +0000

1 

2 

3from netbox.graphql.types import BaseObjectType, register_type 

4from users.models import Group, Owner, OwnerGroup, User 

5 

6from .filters import * 

7 

8__all__ = ( 

9 'GroupType', 

10 'OwnerGroupType', 

11 'OwnerType', 

12 'UserType', 

13) 

14 

15 

16@register_type( 

17 Group, 

18 fields=['id', 'name'], 

19 filters=GroupFilter, 

20 pagination=True 

21) 

22class GroupType(BaseObjectType): 

23 pass 

24 

25 

26@register_type( 

27 User, 

28 fields=[ 

29 'id', 'username', 'first_name', 'last_name', 'email', 'is_active', 'date_joined', 'groups', 

30 ], 

31 filters=UserFilter, 

32 pagination=True 

33) 

34class UserType(BaseObjectType): 

35 groups: list[GroupType] 

36 

37 

38@register_type( 

39 OwnerGroup, 

40 fields=['id', 'name', 'description'], 

41 filters=OwnerGroupFilter, 

42 pagination=True 

43) 

44class OwnerGroupType(BaseObjectType): 

45 pass 

46 

47 

48@register_type( 

49 Owner, 

50 fields=['id', 'group', 'name', 'description', 'user_groups', 'users'], 

51 filters=OwnerFilter, 

52 pagination=True 

53) 

54class OwnerType(BaseObjectType): 

55 group: OwnerGroupType | None