Files
pacnpal d631f3183c Based on the git diff provided, here's a concise and descriptive commit message:
feat: add passkey authentication and enhance user preferences

- Add passkey login security event type with fingerprint icon
- Include request and site context in email confirmation for backend
- Add user_id exact match filter to prevent incorrect user lookups
- Enable PATCH method for updating user preferences via API
- Add moderation_preferences support to user settings
- Optimize ticket queries with select_related and prefetch_related

This commit introduces passkey authentication tracking, improves user
profile filtering accuracy, and extends the preferences API to support
updates. Query optimizations reduce database hits for ticket listings.
2026-01-12 19:13:05 -05:00

47 lines
1.2 KiB
Python

"""
Serializers for Notification Log API.
"""
from rest_framework import serializers
from apps.core.choices.serializers import RichChoiceSerializerField
from apps.notifications.models import NotificationLog
class NotificationLogSerializer(serializers.ModelSerializer):
"""Serializer for notification logs."""
status = RichChoiceSerializerField(
choice_group="notification_log_statuses",
domain="notifications",
)
user_username = serializers.CharField(
source="user.username",
read_only=True,
allow_null=True,
)
user_email = serializers.EmailField(
source="user.email",
read_only=True,
allow_null=True,
)
class Meta:
model = NotificationLog
fields = [
"id",
"user",
"user_username",
"user_email",
"workflow_id",
"notification_type",
"channel",
"status",
"payload",
"error_message",
"novu_transaction_id",
"created_at",
"updated_at",
]
read_only_fields = ["id", "created_at", "updated_at", "user_username", "user_email"]