Skip to content

Commit e3508e7

Browse files
committed
feat(case): remove idpId and idpIds filters and add identityIds filter
1 parent fe56a0a commit e3508e7

File tree

3 files changed

+17
-14
lines changed

3 files changed

+17
-14
lines changed

api/mysagw/case/filters.py

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
from django_filters import CharFilter
21
from django_filters.rest_framework import FilterSet
32

4-
from mysagw.filters import CharMultiValueFilter, UUIDMultiValueFilter
3+
from mysagw.filters import UUIDMultiValueFilter
54

65
from . import models
76

87

98
class CaseAccessFilterSet(FilterSet):
10-
idp_id = CharFilter(field_name="identity__idp_id")
119
case_ids = UUIDMultiValueFilter(field_name="case_id")
12-
idp_ids = CharMultiValueFilter(field_name="identity__idp_id")
10+
identity_ids = UUIDMultiValueFilter(field_name="identity_id")
1311

1412
class Meta:
1513
model = models.CaseAccess
16-
fields = ["idp_id", "case_ids", "idp_ids"]
14+
fields = ["case_ids", "identity_ids"]

api/mysagw/case/tests/test_case_views.py

+12-5
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,22 @@ def test_case_list(
3434
identity_factory,
3535
case_access_factory,
3636
):
37-
identity_0 = identity_factory(idp_id="00000000-0000-0000-0000-000000000000")
38-
identity_1 = identity_factory(idp_id="11111111-1111-1111-1111-111111111111")
39-
case_access_factory.create_batch(2, identity=identity_0, email=None)
40-
case_access_factory(identity=identity_1, email=None)
37+
identity_0 = identity_factory()
38+
identity_1 = identity_factory()
39+
case_access_factory(
40+
identity=identity_0, email=None, case_id="00000000-0000-0000-0000-000000000000"
41+
)
42+
case_access_factory(
43+
identity=identity_0, email=None, case_id="11111111-1111-1111-1111-111111111111"
44+
)
45+
case_access_factory(
46+
identity=identity_1, email=None, case_id="00000000-0000-0000-0000-000000000000"
47+
)
4148
case_access_factory()
4249

4350
url = reverse("caseaccess-list")
4451

45-
response = client.get(url, {"filter[idpId]": filter_id} if filter_id else None)
52+
response = client.get(url, {"filter[caseIds]": filter_id} if filter_id else None)
4653

4754
assert response.status_code == expected_status
4855

api/mysagw/case/views.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,10 @@ class CaseAccessViewSet(
4141
permission_classes = (IsAuthenticated & (IsAdmin | IsStaff | HasCaseAccess),)
4242

4343
def list(self, request, *args, **kwargs):
44-
expected_keys = ["filter[idpId]", "filter[caseIds]", "filter[idpIds]"]
44+
expected_keys = ["filter[caseIds]", "filter[identityIds]"]
4545
if not request.GET or set(expected_keys).isdisjoint(request.GET.keys()):
4646
msg = f"At least one of following filters must be used: {', '.join(expected_keys)}"
47-
raise ValidationError(
48-
msg,
49-
)
47+
raise ValidationError(msg)
5048
return super().list(request, *args, **kwargs)
5149

5250
def destroy(self, request, *args, **kwargs):

0 commit comments

Comments
 (0)