Compare commits
2 Commits
main
...
4ca4f82f52
| Author | SHA1 | Date | |
|---|---|---|---|
| 4ca4f82f52 | |||
|
|
7926d9881c |
@@ -78,7 +78,9 @@ class NotificationDocument(BaseModel):
|
||||
class NotificationBackend(Protocol):
|
||||
"""Backend-agnostic interface for notification storage."""
|
||||
|
||||
async def get_recent_notifications(self, phone_number: str) -> list[Notification]:
|
||||
async def get_recent_notifications(
|
||||
self, phone_number: str
|
||||
) -> list[Notification]:
|
||||
"""Return recent notifications for *phone_number*."""
|
||||
...
|
||||
|
||||
@@ -111,7 +113,9 @@ class FirestoreNotificationBackend:
|
||||
self._max_to_notify = max_to_notify
|
||||
self._window_hours = window_hours
|
||||
|
||||
async def get_recent_notifications(self, phone_number: str) -> list[Notification]:
|
||||
async def get_recent_notifications(
|
||||
self, phone_number: str
|
||||
) -> list[Notification]:
|
||||
"""Get recent notifications for a user.
|
||||
|
||||
Retrieves notifications created within the configured time window,
|
||||
@@ -144,7 +148,9 @@ class FirestoreNotificationBackend:
|
||||
cutoff = time.time() - (self._window_hours * 3600)
|
||||
|
||||
parsed = [
|
||||
n for n in document.notificaciones if n.timestamp_creacion >= cutoff
|
||||
n
|
||||
for n in document.notificaciones
|
||||
if n.timestamp_creacion >= cutoff
|
||||
]
|
||||
|
||||
if not parsed:
|
||||
@@ -206,7 +212,9 @@ class RedisNotificationBackend:
|
||||
self._max_to_notify = max_to_notify
|
||||
self._window_hours = window_hours
|
||||
|
||||
async def get_recent_notifications(self, phone_number: str) -> list[Notification]:
|
||||
async def get_recent_notifications(
|
||||
self, phone_number: str
|
||||
) -> list[Notification]:
|
||||
"""Get recent notifications for a user from Redis.
|
||||
|
||||
Reads from the ``notification:{phone}`` key, parses the JSON
|
||||
@@ -238,7 +246,9 @@ class RedisNotificationBackend:
|
||||
cutoff = time.time() - (self._window_hours * 3600)
|
||||
|
||||
parsed = [
|
||||
n for n in document.notificaciones if n.timestamp_creacion >= cutoff
|
||||
n
|
||||
for n in document.notificaciones
|
||||
if n.timestamp_creacion >= cutoff
|
||||
]
|
||||
|
||||
if not parsed:
|
||||
|
||||
Reference in New Issue
Block a user