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
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
3from netbox.graphql.types import BaseObjectType, register_type
4from users.models import Group, Owner, OwnerGroup, User
6from .filters import *
8__all__ = (
9 'GroupType',
10 'OwnerGroupType',
11 'OwnerType',
12 'UserType',
13)
16@register_type(
17 Group,
18 fields=['id', 'name'],
19 filters=GroupFilter,
20 pagination=True
21)
22class GroupType(BaseObjectType):
23 pass
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]
38@register_type(
39 OwnerGroup,
40 fields=['id', 'name', 'description'],
41 filters=OwnerGroupFilter,
42 pagination=True
43)
44class OwnerGroupType(BaseObjectType):
45 pass
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