Skip to content

Commit fd14a97

Browse files
committed
fixup! feat(api): add new api endpoint for emergency
1 parent 1adb955 commit fd14a97

4 files changed

Lines changed: 14 additions & 3 deletions

File tree

api/drf_views.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1569,6 +1569,9 @@ def get_queryset(self):
15691569
Prefetch("contacts", queryset=EventContact.objects.all()),
15701570
)
15711571
.annotate(
1572+
first_field_report_id=Subquery(
1573+
FieldReport.objects.filter(event=OuterRef("pk")).order_by("fr_num").values("id")[:1]
1574+
),
15721575
latest_field_report_id=Subquery(
15731576
FieldReport.objects.filter(event=OuterRef("pk")).order_by("-fr_num").values("id")[:1]
15741577
),

api/serializers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2611,6 +2611,7 @@ class DetailEmergencySerializer(serializers.ModelSerializer):
26112611
visibility_display = serializers.CharField(source="get_visibility_display", read_only=True)
26122612
source_display = serializers.CharField(source="get_source_display", read_only=True)
26132613
# NOTE: Populated from Queryset using Annotate
2614+
first_field_report_id = serializers.IntegerField(read_only=True)
26142615
latest_field_report_id = serializers.IntegerField(read_only=True)
26152616
appeal_id = serializers.IntegerField(read_only=True)
26162617

@@ -2648,6 +2649,7 @@ class Meta:
26482649
"created_at",
26492650
"updated_at",
26502651
"previous_update",
2652+
"first_field_report_id",
26512653
"latest_field_report_id",
26522654
"appeal_id",
26532655
)

api/test_views.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1064,11 +1064,15 @@ def setUp(self):
10641064
)
10651065

10661066
self.field_report1 = FieldReportFactory.create(
1067-
event=self.event1, created_at=timezone.make_aware(datetime(2024, 1, 1)), fr_num=50
1067+
event=self.event1,
1068+
created_at=timezone.make_aware(datetime(2024, 1, 1)),
1069+
fr_num=50,
10681070
)
10691071

10701072
self.field_report2 = FieldReportFactory.create(
1071-
event=self.event1, created_at=timezone.make_aware(datetime(2024, 1, 1)), fr_num=20
1073+
event=self.event1,
1074+
created_at=timezone.make_aware(datetime(2024, 1, 1)),
1075+
fr_num=20,
10721076
)
10731077

10741078
self.event2 = EventFactory.create(
@@ -1108,6 +1112,8 @@ def test_retrive_emergency_detail(self):
11081112
self.assertEqual(response.data["name"], self.event1.name)
11091113
self.assertEqual(response.data["source"], models.Event.EventSource.GDACS)
11101114

1115+
# first field report id check
1116+
self.assertEqual(response.data["first_field_report_id"], self.field_report2.id)
11111117
# latest check field report
11121118
self.assertEqual(response.data["latest_field_report_id"], self.field_report1.id)
11131119

assets

0 commit comments

Comments
 (0)