notifications/apps/push_notifications/serializers.py
Ali Asadi 8f83a5e84a FEAT(notifications): add optional click_url for notification tap actions
Not every notification is clickable, so click_url is optional end to end
(null/blank on the model, required=False on the serializer). When set, it's
merged into Gotify's own client::notification.click.url extras convention
without disturbing any other extras a producer already sends, so official
Gotify clients can open it on tap. Wired through both message-creation
paths: the single-push REST API and the bulk Excel upload. Also fixes a
pre-existing NameError in the bulk path (json.loads(extras) referenced an
undefined name instead of extras_str).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-22 09:36:06 +03:30

27 lines
642 B
Python

from rest_framework import serializers
from .models import PushUser, PushMessage
class PushUserSerializer(serializers.ModelSerializer):
class Meta:
model = PushUser
fields = (
"user",
"client_token",
"application_token"
)
class PushMessageSerializer(serializers.ModelSerializer):
class Meta:
model = PushMessage
fields = (
"push_user",
"application",
"title",
"message",
"priority",
"extras",
"click_url"
)
read_only_fields = ("push_user","application")