can export accepted infos

This commit is contained in:
2024-06-02 11:36:48 +02:00
parent a0024702ed
commit ad733aa9b3
5 changed files with 212 additions and 3 deletions
+61
View File
@@ -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