Add recipient notification detail and filtering, a queued admin composer, and contextual automatic titles. Retire email delivery, obsolete auth routes, newsletter data, and related templates and settings.
57 lines
1.2 KiB
Python
57 lines
1.2 KiB
Python
from datetime import datetime
|
|
from typing import Any
|
|
|
|
from ninja import Schema
|
|
|
|
|
|
class NotificationSchema(Schema):
|
|
id: str
|
|
type: str
|
|
title: str
|
|
message: str
|
|
has_body: bool = False
|
|
level: str
|
|
created_at: datetime | str
|
|
is_seen: bool
|
|
action_url: str | None = None
|
|
entity_type: str | None = None
|
|
entity_id: int | str | None = None
|
|
meta: dict[str, Any] = {}
|
|
|
|
|
|
class NotificationListSchema(Schema):
|
|
count: int
|
|
unread_count: int
|
|
notifications: list[NotificationSchema]
|
|
|
|
|
|
class NotificationDetailSchema(NotificationSchema):
|
|
body_markdown: str | None = None
|
|
|
|
|
|
class NotificationSeenIn(Schema):
|
|
id: str
|
|
|
|
|
|
class NotificationSeenResponseSchema(Schema):
|
|
marked_read: bool
|
|
notification_id: str | None = None
|
|
deleted: bool = False
|
|
notification: NotificationSchema | None = None
|
|
unread_count: int | None = None
|
|
|
|
|
|
class NotificationDeleteResponseSchema(Schema):
|
|
deleted: bool
|
|
notification_id: str | None = None
|
|
unread_count: int | None = None
|
|
|
|
|
|
class NotificationMarkAllReadResponseSchema(Schema):
|
|
marked_read: int
|
|
|
|
|
|
class NotificationStreamTokenResponseSchema(Schema):
|
|
token: str
|
|
expires_in: int
|