from dataclasses import dataclass @dataclass class ContactPojo: phone: str passport: str last_name: str first_name: str mail: str ccid: str position: int note: str def __init__(self, phone_number: str, passport_number: str, last_name: str, first_name: str, mail: str, ccid: str = "", position: int = 0): self.phone = str(phone_number).replace(".0", "") self.passport = passport_number self.last_name = last_name self.first_name = first_name self.ccid = ccid self.mail = mail self.position = position self.note = "" def to_firestore_dict(self): dest = { u'phone': self.phone, u'passport': self.passport, u'last_name': self.last_name, u'first_name': self.first_name, u'mail': self.mail, u'ccid': self.ccid, u'position': self.position } return dest @staticmethod def from_firestore_dict(source): phone = source['phone'] passport = source['passport'] email = source['mail'] last_name = source['last_name'] first_name = source['first_name'] ip_country = "FR" if source.get('ip_country'): ip_country = source['ip_country'] result = ContactPojo(phone_number=phone, passport_number=passport, mail=email, last_name=last_name, first_name=first_name) result.ip_country = ip_country return result