Skip to content

Commit

Permalink
Merge pull request #5 from links-ads/SD-25/alert-images
Browse files Browse the repository at this point in the history
feat(backend): use local images for alerts
  • Loading branch information
allynt committed Sep 6, 2023
2 parents c04b1b9 + 79c0142 commit d09d8a9
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 3 deletions.
3 changes: 2 additions & 1 deletion server/safers/alerts/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,8 @@ class AlertAdmin(gis_admin.GeoModelAdmin):
"description",
"message",
"information",
"media",
"media_urls",
"thumbnail_urls",
# "geometry_collection",
"center",
"bounding_box",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Generated by Django 4.2.2 on 2023-09-05 14:39

import django.contrib.postgres.fields
from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('alerts', '0014_alter_alert_country'),
]

operations = [
migrations.RenameField(
model_name='alert',
old_name='media',
new_name='media_urls',
),
migrations.AddField(
model_name='alert',
name='thumbnail_urls',
field=django.contrib.postgres.fields.ArrayField(base_field=models.URLField(max_length=512), blank=True, default=list, size=None),
),
]
5 changes: 4 additions & 1 deletion server/safers/alerts/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,10 @@ class Meta:
)
scope = models.CharField(max_length=128, blank=True, null=True)

media = ArrayField(
media_urls = ArrayField(
models.URLField(max_length=512), blank=True, default=list
)
thumbnail_urls = ArrayField(
models.URLField(max_length=512), blank=True, default=list
)

Expand Down
12 changes: 12 additions & 0 deletions server/safers/alerts/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,18 @@ class Meta:
"center",
"bounding_box",
"media",
"thumbnails",
"message",
"information",
)
extra_kwargs = {
"media": {
"source": "media_urls"
},
"thumbnails": {
"source": "thumbnail_urls"
}
}

geometry = AlertGeometrySerializer(
many=True, source="geometries", required=False
Expand Down Expand Up @@ -101,10 +110,13 @@ class Meta:
"center",
"bounding_box",
"media",
"thumbnails",
"information",
"favorite",
)
extra_kwargs = {
"media": {"source": "media_urls"},
"thumbnails": {"source": "thumbnail_urls"},
"timestamp": {"read_only": True},
"status": {"read_only": True},
"source": {"read_only": True},
Expand Down
4 changes: 3 additions & 1 deletion server/safers/cameras/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ def process_messages(message_body, **kwargs):

# maybe create alert
if camera_media.triggers_alert():
# yapf: disable
serializer = AlertSerializer(
data={
# TODO: CAMERAS NEED CAP INFORMATION
Expand All @@ -123,7 +124,8 @@ def process_messages(message_body, **kwargs):
"properties": {},
"geometry": json.loads(camera.geometry.json)
}],
"media": [camera_media.remote_url],
"media": [camera_media.media.url] if camera_media.media else [camera_media.remote_url],
"thumbnails": [camera_media.thumbnail.url] if camera_media.thumbnail else [],
"message": message_body,
}
)
Expand Down

0 comments on commit d09d8a9

Please sign in to comment.