From 5244a065790000f07499c8fb3536eb35b55f570a Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Wed, 27 Dec 2023 17:27:51 +0100 Subject: [PATCH 1/2] use email address as id --- src/db/mongo_manager.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) mode change 100644 => 100755 src/db/mongo_manager.py diff --git a/src/db/mongo_manager.py b/src/db/mongo_manager.py old mode 100644 new mode 100755 index c2e80e2..942fda1 --- a/src/db/mongo_manager.py +++ b/src/db/mongo_manager.py @@ -10,6 +10,7 @@ from src.pojo.accepted_appointment_pojo import AcceptedAppointmentPojo from src.pojo.black_contact import BlackContactPojo from src.pojo.contact_pojo import ContactPojo from src.pojo.mail.mail_pojo import MailAddress +from src.pojo.users.regisered_user_pojo import RegisteredUserPojo MONGO_DB_URL = "mongo.lpaconsulting.fr" CAPTCHA_ERROR_COLLECTION_PREFIX = "CAPTCHA_ERROR_" @@ -246,6 +247,14 @@ class MongoDbManager: except Exception as error: self.logger.info(error) + def get_all_registered_users(self) -> list: + _collection_name = "Registered_users" + _cursor = self.db[_collection_name] + registered_user_list = [] + for document in _cursor.find(): + registered_user_list.append(RegisteredUserPojo.from_firestore_dict(document)) + return registered_user_list + def remove_email_from_destination_email_list(self, mail: MailAddress): # DESTINATION_EMAIL_LIST collection = self.db[DESTINATION_EMAIL_LIST] @@ -277,7 +286,7 @@ class MongoDbManager: collection_to_use = self.db[LINKS_TO_VALIDATE] updated_at = time.strftime("%H:%M:%S", time.localtime()) if len(mail_address) > 0: - collection_to_use.replace_one(filter={'_id': link, }, replacement={ + collection_to_use.replace_one(filter={'_id': mail_address, }, replacement={ u'url': link, u'email': mail_address, "updated_at": updated_at From d2b2f36f8e0c930cf8c0db6e5d61e8ea81922966 Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Wed, 27 Dec 2023 17:45:38 +0100 Subject: [PATCH 2/2] use email address as id --- src/pojo/users/regisered_user_pojo.py | 54 +++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/pojo/users/regisered_user_pojo.py diff --git a/src/pojo/users/regisered_user_pojo.py b/src/pojo/users/regisered_user_pojo.py new file mode 100644 index 0000000..fc59035 --- /dev/null +++ b/src/pojo/users/regisered_user_pojo.py @@ -0,0 +1,54 @@ +class RegisteredUserPojo: + phone: str + city: str + last_name: str + first_name: str + mail: str + address: str + zip_code: str + password: str = None + + def __init__(self, phone_number: str, last_name: str, first_name: str, mail: str, + address: str = "", + zip_code: str = None, city: str = None): + self.phone = "0" + str(int(phone_number)) + self.city = city + self.last_name = last_name + self.first_name = first_name + self.address = address + self.mail = mail + self.zip_code = zip_code + + def __repr__(self): + return "last_name:{}, first_name:{}, email:{}, password:{}".format(self.last_name, self.first_name, self.mail, + self.password) + + def to_firestore_dict(self): + dest = { + u'phone': self.phone, + u'city': self.city, + u'last_name': self.last_name, + u'first_name': self.first_name, + u'mail': self.mail, + u'address': self.address, + u'zip_code': self.zip_code, + u'password': self.password + } + + return dest + + @staticmethod + def from_firestore_dict(source): + address = source['address'] + phone = source['phone'] + zip_code = source['zip_code'] + city = source['city'] + email = source['mail'] + last_name = source['last_name'] + first_name = source['first_name'] + result = RegisteredUserPojo(address=address, phone_number=phone, city=city, zip_code=zip_code, + mail=email, + last_name=last_name, first_name=first_name) + if 'password' in source: + result.password = source['password'] + return result