From fd68f1f011126f008787e005179fc1715be3363b Mon Sep 17 00:00:00 2001 From: Alex Rovner Date: Sun, 29 Oct 2023 14:13:19 +0100 Subject: [PATCH] filter users to make sure we do not match nonexistent users --- functions/main.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/functions/main.py b/functions/main.py index d0738d6..6b2fb21 100644 --- a/functions/main.py +++ b/functions/main.py @@ -5,6 +5,7 @@ from firebase_functions import https_fn from firebase_admin import initialize_app from firebase_admin import firestore +from firebase_admin import auth from datetime import date from data import User, Match from notification import notify_user_about_match, POSTMARK_API_KEY @@ -14,12 +15,20 @@ default_app = initialize_app() +def user_exists(uid: str): + try: + auth.get_user(uid) + return True + except: + print("User with ID " + uid + " does not exist") + return False + def get_all_users(): db = firestore.client() docs = ( db.collection("users") .stream()) - return [ User(doc.id, doc.to_dict()) for doc in docs ] + return [ User(doc.id, doc.to_dict()) for doc in docs if user_exists(doc.id) ] def match_users(users: list[User]): # this is the entrypoint for your matching code