From dca87097f8527976039ab4629b85d91a5faef1c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?th=E1=BB=8Bnh?= Date: Mon, 3 Feb 2025 10:00:33 +0700 Subject: [PATCH] Fix firestore IN query limits --- backend/utils/apps.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/utils/apps.py b/backend/utils/apps.py index 05d7f12532..c59038ee11 100644 --- a/backend/utils/apps.py +++ b/backend/utils/apps.py @@ -341,5 +341,11 @@ def paid_app(app_id: str, uid: str): def is_audio_bytes_app_enabled(uid: str): enabled_apps = get_enabled_plugins(uid) - audio_apps_count = get_audio_apps_count(enabled_apps) - return audio_apps_count > 0 + # https://firebase.google.com/docs/firestore/query-data/queries#in_and_array-contains-any + limit = 30 + enabled_apps = list(set(enabled_apps)) + for i in range(0, len(enabled_apps), limit): + audio_apps_count = get_audio_apps_count(enabled_apps[i:i+limit]) + if audio_apps_count > 0: + return True + return False