Coverage for extras/graphql/enums.py: 100%

17 statements  

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

1import enum 

2 

3import strawberry 

4 

5from extras.choices import * 

6from netbox.event_rules import get_event_rule_action_choices 

7from utilities.string import enum_key 

8 

9__all__ = ( 

10 'CustomFieldChoiceColorEnum', 

11 'CustomFieldChoiceSetBaseEnum', 

12 'CustomFieldFilterLogicEnum', 

13 'CustomFieldStatusEnum', 

14 'CustomFieldTypeEnum', 

15 'CustomFieldUIEditableEnum', 

16 'CustomFieldUIVisibleEnum', 

17 'CustomLinkButtonClassEnum', 

18 'EventRuleActionEnum', 

19 'JournalEntryKindEnum', 

20 'WebhookHttpMethodEnum', 

21) 

22 

23 

24CustomFieldChoiceColorEnum = strawberry.enum(CustomFieldChoiceColorChoices.as_enum()) 

25CustomFieldChoiceSetBaseEnum = strawberry.enum(CustomFieldChoiceSetBaseChoices.as_enum()) 

26CustomFieldFilterLogicEnum = strawberry.enum(CustomFieldFilterLogicChoices.as_enum(prefix='filter')) 

27CustomFieldStatusEnum = strawberry.enum(CustomFieldStatusChoices.as_enum(prefix='status')) 

28CustomFieldTypeEnum = strawberry.enum(CustomFieldTypeChoices.as_enum(prefix='type')) 

29CustomFieldUIEditableEnum = strawberry.enum(CustomFieldUIEditableChoices.as_enum()) 

30CustomFieldUIVisibleEnum = strawberry.enum(CustomFieldUIVisibleChoices.as_enum()) 

31CustomLinkButtonClassEnum = strawberry.enum(CustomLinkButtonClassChoices.as_enum()) 

32# Built from the event_rule_actions registry, which is fully populated by the time the schema is 

33# assembled. Fixed for the process's lifetime, as any Strawberry enum is. 

34EventRuleActionEnum = strawberry.enum(enum.Enum('EventRuleActionEnum', { 

35 enum_key(choice.value): choice.value for choice in get_event_rule_action_choices() 

36})) 

37JournalEntryKindEnum = strawberry.enum(JournalEntryKindChoices.as_enum(prefix='kind')) 

38WebhookHttpMethodEnum = strawberry.enum(WebhookHttpMethodChoices.as_enum())