62 lines
2.6 KiB
Python
62 lines
2.6 KiB
Python
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
|