Coverage for netbox_data_import/graphql/filters.py: 100%
6 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-09 20:50 +0000
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-09 20:50 +0000
1# SPDX-License-Identifier: Apache-2.0
2# Copyright (C) 2025 Marcin Zieba <marcinpsk@gmail.com>
4"""GraphQL filter input for import profiles."""
6import strawberry_django
8from netbox_data_import.models import ImportProfile
10_FILTER_BASE_MODULE = "netbox.graphql.filters"
13try:
14 from netbox.graphql.filters import NetBoxModelFilter
15except ModuleNotFoundError as exc: # pragma: no cover
16 missing = exc.name or ""
17 if missing != _FILTER_BASE_MODULE and not _FILTER_BASE_MODULE.startswith(f"{missing}."):
18 raise
19 ImportProfileFilter = None
20else: # pragma: no cover
22 @strawberry_django.filter_type(ImportProfile, lookups=True)
23 class ImportProfileFilter(NetBoxModelFilter): # type: ignore[no-redef]
24 """Filter profiles by their imported configuration fields."""
26 name: strawberry_django.StrFilterLookup | None = strawberry_django.filter_field()
27 description: strawberry_django.StrFilterLookup | None = strawberry_django.filter_field()
28 source_adapter: strawberry_django.StrFilterLookup | None = strawberry_django.filter_field()
31__all__ = ("ImportProfileFilter",)