diff --git a/geotrek/api/v2/serializers.py b/geotrek/api/v2/serializers.py index 4bd164ae23..6e04942d47 100644 --- a/geotrek/api/v2/serializers.py +++ b/geotrek/api/v2/serializers.py @@ -360,6 +360,7 @@ class Meta: class HDViewPointSerializer(TimeStampedSerializer): geometry = geo_serializers.GeometryField(read_only=True, source="geom_transformed", precision=7) picture_tiles_url = serializers.SerializerMethodField() + annotations = serializers.SerializerMethodField() thumbnail_url = serializers.SerializerMethodField() metadata_url = serializers.SerializerMethodField() trek = serializers.SerializerMethodField() @@ -397,6 +398,19 @@ def get_poi(self, obj): return {'uuid': related_obj.uuid, 'id': related_obj.id} return None + def get_annotations(self, obj): + annotations = obj.annotations + annotations_categories = obj.annotations_categories + for feature in annotations["features"]: + feat_id = feature["properties"]["annotationId"] + feat_type = feature["geometry"]["type"] + if feat_type == "Point" and str(feat_id) in annotations_categories.keys(): + feature["properties"]['category'] = int(annotations_categories[str(feat_id)]) + else: + feature["properties"]['category'] = None + return annotations + + class Meta(TimeStampedSerializer.Meta): model = common_models.HDViewPoint fields = TimeStampedSerializer.Meta.fields + (