Skip to content

Commit d720d38

Browse files
authored
Dojo Meta: Migrate to filterset_class + Add case Insensitive filters (#12528)
* Dojo Meta: Migrate to `filterset_class` + Add case Insensitive filters * Update query name
1 parent 9225090 commit d720d38

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

dojo/api_v2/views.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
from dojo.filters import (
5353
ApiAppAnalysisFilter,
5454
ApiCredentialsFilter,
55+
ApiDojoMetaFilter,
5556
ApiEndpointFilter,
5657
ApiEngagementFilter,
5758
ApiFindingFilter,
@@ -1643,14 +1644,7 @@ class DojoMetaViewSet(
16431644
serializer_class = serializers.MetaSerializer
16441645
queryset = DojoMeta.objects.none()
16451646
filter_backends = (DjangoFilterBackend,)
1646-
filterset_fields = [
1647-
"id",
1648-
"product",
1649-
"endpoint",
1650-
"finding",
1651-
"name",
1652-
"value",
1653-
]
1647+
filterset_class = ApiDojoMetaFilter
16541648
permission_classes = (
16551649
IsAuthenticated,
16561650
permissions.UserHasDojoMetaPermission,

dojo/filters.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
Development_Environment,
6767
Dojo_Group,
6868
Dojo_User,
69+
DojoMeta,
6970
Endpoint,
7071
Endpoint_Status,
7172
Engagement,
@@ -1363,6 +1364,22 @@ class Meta:
13631364
]
13641365

13651366

1367+
class ApiDojoMetaFilter(DojoFilter):
1368+
name_case_insensitive = CharFilter(field_name="name", lookup_expr="iexact")
1369+
value_case_insensitive = CharFilter(field_name="value", lookup_expr="iexact")
1370+
1371+
class Meta:
1372+
model = DojoMeta
1373+
fields = [
1374+
"id",
1375+
"product",
1376+
"endpoint",
1377+
"finding",
1378+
"name",
1379+
"value",
1380+
]
1381+
1382+
13661383
class ApiProductFilter(DojoFilter):
13671384
# BooleanFilter
13681385
external_audience = BooleanFilter(field_name="external_audience")

0 commit comments

Comments
 (0)