59 lines
1.6 KiB
Python
Executable File
59 lines
1.6 KiB
Python
Executable File
from dataclasses import dataclass
|
|
|
|
|
|
@dataclass
|
|
class ContactPojo:
|
|
phone: str
|
|
passport: str
|
|
last_name: str
|
|
first_name: str
|
|
mail: str
|
|
ccid: str
|
|
position: int
|
|
store: str
|
|
note: str
|
|
ua: 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 = ""
|
|
self.ua = ""
|
|
|
|
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'store': self.store,
|
|
u'ccid': self.ccid,
|
|
u'position': self.position,
|
|
u'ua': self.ua
|
|
}
|
|
|
|
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
|