From 21b868c06feca3d119ec73183d9e240c39d08cda Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Thu, 30 Oct 2025 16:34:12 +0500 Subject: [PATCH] git --- .../notifications/tasks/create_notification_history.py | 5 +++-- core/apps/notifications/utils/send_notification.py | 10 ++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/core/apps/notifications/tasks/create_notification_history.py b/core/apps/notifications/tasks/create_notification_history.py index 99a8464..3e759b9 100644 --- a/core/apps/notifications/tasks/create_notification_history.py +++ b/core/apps/notifications/tasks/create_notification_history.py @@ -7,9 +7,10 @@ from core.apps.accounts.models import User @shared_task -def create_history(users, title, body, data=None): +def create_history(user_ids, title, body, data=None): histories = [] - for user in users: + for user_id in user_ids: + user = get_object_or_404(User, id=user_id) histories.append(NotificationHistory( title=title, user=user, diff --git a/core/apps/notifications/utils/send_notification.py b/core/apps/notifications/utils/send_notification.py index 74f7d6a..85a8029 100644 --- a/core/apps/notifications/utils/send_notification.py +++ b/core/apps/notifications/utils/send_notification.py @@ -11,7 +11,10 @@ EXPO_API_URL = "https://exp.host/--/api/v2/push/send" def send_notification(token, title, body, data=None): tokens = list(Notification.objects.exclude(token=token).values_list("token", flat=True)) users = list(Notification.objects.exclude(token=token).values_list("user", flat=True)) - create_history.delay(users, title, body, data) + user_ids = [] + for user in users: + user_ids.append(user.id) + create_history.delay(user_ids, title, body, data) if not tokens: return {"error": "No tokens found"} @@ -41,7 +44,10 @@ def send_notification(token, title, body, data=None): def send_web_notification(token, title, body, data=None): tokens = list(Notification.objects.exclude(token=token).values_list('token', flat=True)) users = list(Notification.objects.exclude(token=token).values_list("user", flat=True)) - create_history.delay(users, title, body, data) + user_ids = [] + for user in users: + user_ids.append(user.id) + create_history.delay(user_ids, title, body, data) if not tokens: return