Skip to content

Commit 488b33f

Browse files
authored
Merge pull request #264 from Mosquito-Alert/remove_unused_field
Replace ExpandedPointField to PointField
2 parents 47e390c + 72c5173 commit 488b33f

File tree

6 files changed

+22
-26
lines changed

6 files changed

+22
-26
lines changed

api/fields.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from django.core.exceptions import ValidationError
1111
from rest_framework import serializers
1212

13-
from drf_extra_fields.geo_fields import PointField
1413
from timezone_field.utils import use_pytz_default
1514
from timezone_field.rest_framework import TimeZoneSerializerField
1615

@@ -27,11 +26,6 @@ def to_internal_value(self, value):
2726
return super().to_internal_value(value=value)
2827

2928

30-
class ExpandedPointField(PointField):
31-
def __init__(self, *args, **kwargs):
32-
super().__init__(str_points=True, *args, **kwargs)
33-
34-
3529
class IntegerDefaultField(serializers.IntegerField):
3630
# When db value is None, use the default.
3731
def get_attribute(self, instance):

api/schema.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,19 @@
77
from drf_spectacular.plumbing import force_instance
88

99

10-
class ExpandedPointFieldExtension(OpenApiSerializerFieldExtension):
11-
target_class = "api.fields.ExpandedPointField"
10+
class PointFieldExtension(OpenApiSerializerFieldExtension):
11+
target_class = "drf_extra_fields.geo_fields.PointField"
1212

1313
def map_serializer_field(self, auto_schema, direction):
14+
openapi_type = OpenApiTypes.STR if self.target.str_points else OpenApiTypes.FLOAT
1415
return build_object_type(
1516
properties={
16-
"latitude": build_basic_type(OpenApiTypes.FLOAT),
17-
"longitude": build_basic_type(OpenApiTypes.FLOAT),
18-
}
17+
"latitude": build_basic_type(openapi_type),
18+
"longitude": build_basic_type(openapi_type),
19+
},
20+
required=["latitude", "longitude"] if self.target.required else None
1921
)
2022

21-
2223
class FieldPolymorphicSerializerExtension(OpenApiSerializerExtension):
2324
target_class = "api.base_serializers.FieldPolymorphicSerializer"
2425

@@ -59,4 +60,4 @@ def map_serializer_field(self, auto_schema, direction):
5960
field=self.target.deserializer_field if direction == 'request' else self.target.serializer_field,
6061
direction=direction,
6162
bypass_extensions=True
62-
)
63+
)

api/serializers.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
from drf_spectacular.utils import extend_schema_field
1010
from drf_spectacular.types import OpenApiTypes
1111

12+
from drf_extra_fields.geo_fields import PointField
13+
1214
from tigaserver_app.models import (
1315
NotificationContent,
1416
Notification,
@@ -23,7 +25,6 @@
2325
)
2426
from .base_serializers import FieldPolymorphicSerializer
2527
from .fields import (
26-
ExpandedPointField,
2728
TimezoneAwareDateTimeField,
2829
WritableSerializerMethodField,
2930
TimeZoneSerializerChoiceField,
@@ -275,7 +276,7 @@ class Meta(BaseNotificationCreateSerializer.Meta):
275276
#### END NOTIFICATION SERIALIZERS ####
276277

277278
class PartnerSerializer(serializers.ModelSerializer):
278-
point = ExpandedPointField(srid=4326)
279+
point = PointField()
279280

280281
class Meta:
281282
model = OrganizationPin
@@ -320,7 +321,7 @@ class Meta:
320321
}
321322

322323
class ReportLocationSerializer(serializers.ModelSerializer):
323-
point = ExpandedPointField(srid=4326, required=True, allow_null=True)
324+
point = PointField(required=True, allow_null=True)
324325

325326
def to_internal_value(self, data):
326327
ret = super().to_internal_value(data)

api/tests/integration/partners/schema.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ variables:
88
response_data_validation: &retrieve_validation
99
id: !anyint
1010
point:
11-
latitude: !anystr
12-
longitude: !anystr
11+
latitude: !anyfloat
12+
longitude: !anyfloat
1313
description: !anystr
1414
url: !anystr
1515
response_list_data_validation: &response_list_validation

api/tests/integration/reports/create.tavern.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ stages:
7676
location:
7777
type: 'current'
7878
point:
79-
latitude: "41.67419"
80-
longitude: "2.79036"
79+
latitude: 41.67419
80+
longitude: 2.79036
8181
country_id: !anything
8282
nuts_2: !anything
8383
nuts_3: !anything
@@ -168,8 +168,8 @@ stages:
168168
location:
169169
type: 'current'
170170
point:
171-
latitude: "41.67419"
172-
longitude: "2.79036"
171+
latitude: 41.67419
172+
longitude: 2.79036
173173
country_id: !anything
174174
nuts_2: !anything
175175
nuts_3: !anything
@@ -265,8 +265,8 @@ stages:
265265
location:
266266
type: 'current'
267267
point:
268-
latitude: "41.67419"
269-
longitude: "2.79036"
268+
latitude: 41.67419
269+
longitude: 2.79036
270270
country_id: !anything
271271
nuts_2: !anything
272272
nuts_3: !anything

api/tests/integration/reports/get.tavern.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,8 @@ stages:
159159
location:
160160
type: !anystr
161161
point:
162-
latitude: !anystr
163-
longitude: !anystr
162+
latitude: !anyfloat
163+
longitude: !anyfloat
164164
country_id: !anything
165165
nuts_2: !anything
166166
nuts_3: !anything

0 commit comments

Comments
 (0)