can export accepted infos
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
from dataclasses_json import dataclass_json
|
||||
|
||||
from db.mongo_manager import MongoDbManager
|
||||
from models import ReserveResultPojo
|
||||
|
||||
|
||||
@dataclass_json
|
||||
@dataclass
|
||||
class AcceptedResultPojo:
|
||||
|
||||
def __init__(self, msg: str, slot_position, sim_position, passport, email, name, phone, ccid: str, url,
|
||||
created_at: str, validated_at: str):
|
||||
self.message = msg
|
||||
self.slot_position = slot_position
|
||||
self.sim_position = sim_position
|
||||
self.passport = "{}".format(passport)
|
||||
self.email = email
|
||||
self.name = name
|
||||
self.phone = phone
|
||||
self.ccid = ccid
|
||||
self.url = url
|
||||
self.created_at = created_at
|
||||
self.validated_at = validated_at
|
||||
self.mail_password = ""
|
||||
self.account_password = ""
|
||||
self.store = ""
|
||||
self.time = ""
|
||||
|
||||
def __repr__(self):
|
||||
return str(self.__dict__)
|
||||
|
||||
|
||||
def get_accepted_result_from(reserve_pojo: ReserveResultPojo, mongo_db_manager: MongoDbManager,
|
||||
all_contact_list) -> AcceptedResultPojo:
|
||||
if reserve_pojo.lastName is None or len(reserve_pojo.lastName) == 0:
|
||||
for _contact in all_contact_list:
|
||||
if _contact.mail == reserve_pojo.mail:
|
||||
reserve_pojo.lastName = _contact.last_name
|
||||
reserve_pojo.firstName = _contact.first_name
|
||||
reserve_pojo.phone = _contact.phone
|
||||
reserve_pojo.passport = _contact.passport
|
||||
|
||||
if reserve_pojo is None:
|
||||
# send email even there are no reserve info
|
||||
return AcceptedResultPojo("", slot_position=0, sim_position=0,
|
||||
passport="", email="", phone="",
|
||||
name="", ccid="",
|
||||
url="", created_at="", validated_at="")
|
||||
else:
|
||||
toReturn = AcceptedResultPojo(reserve_pojo.message, slot_position=reserve_pojo.slot_position,
|
||||
sim_position=reserve_pojo.sim_position,
|
||||
passport=reserve_pojo.passport, email=reserve_pojo.email,
|
||||
phone=reserve_pojo.phone,
|
||||
name="{} {}".format(reserve_pojo.lastName, reserve_pojo.firstName),
|
||||
ccid=reserve_pojo.ccid,
|
||||
url=reserve_pojo.url, created_at=reserve_pojo.created_at,
|
||||
validated_at=reserve_pojo.validated_at)
|
||||
toReturn.mail_password = mongo_db_manager.get_code_for_email(reserve_pojo.email)
|
||||
return toReturn
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user