From b2e3e0f54bc5cd40a88b02947a9d0662da7ea768 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 27 Sep 2022 08:34:53 -0700 Subject: [PATCH] 8927 refactor search --- netbox/search/hierarchy.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 netbox/search/hierarchy.py diff --git a/netbox/search/hierarchy.py b/netbox/search/hierarchy.py new file mode 100644 index 000000000..4a1e2e278 --- /dev/null +++ b/netbox/search/hierarchy.py @@ -0,0 +1,30 @@ +from circuits.search_indexes import CIRCUIT_SEARCH_TYPES +from dcim.search_indexes import DCIM_SEARCH_TYPES +from extras.search_indexes import JOURNAL_SEARCH_TYPES +from ipam.search_indexes import IPAM_SEARCH_TYPES +from tenancy.search_indexes import TENANCY_SEARCH_TYPES +from virtualization.search_indexes import VIRTUALIZATION_SEARCH_TYPES +from wireless.search_indexes import WIRELESS_SEARCH_TYPES + +SEARCH_TYPE_HIERARCHY = { + 'Circuits': CIRCUIT_SEARCH_TYPES, + 'DCIM': DCIM_SEARCH_TYPES, + 'IPAM': IPAM_SEARCH_TYPES, + 'Tenancy': TENANCY_SEARCH_TYPES, + 'Virtualization': VIRTUALIZATION_SEARCH_TYPES, + 'Wireless': WIRELESS_SEARCH_TYPES, + 'Journal': JOURNAL_SEARCH_TYPES, +} + + +def build_search_types(): + result = dict() + + for app_types in SEARCH_TYPE_HIERARCHY.values(): + for name, items in app_types.items(): + result[name] = items + + return result + + +SEARCH_TYPES = build_search_types()