Files
appointment_tool/pojo/ReserveResultPojo.py
T
2022-06-05 21:08:02 +02:00

91 lines
2.6 KiB
Python

from dataclasses import dataclass
from enum import Enum
from typing import Union
from dataclasses_json import dataclass_json
import definitions
class PublishType(Enum):
SUCCESS = "SUCCESS"
ERROR = "ERROR"
PENDING = "PENDING"
@dataclass_json
@dataclass
class ReserveResultPojo:
type: PublishType
phone: str
message: str
url: str
firstName: Union[None, str]
lastName: Union[None, str]
email: Union[None, str]
id = None
accepted = None
passport: str = ""
slot_position = None
sim_position = None
ccid: str = ""
source_from: str = definitions.LOG_SOURCE
store_type = 0
@staticmethod
def from_firestore_dict(source):
publish_type = source['type']
phone = source['phone']
message = source['message']
url = source['url']
id = source['id']
email = source['email']
lastName = source['lastName']
firstName = source['firstName']
result = ReserveResultPojo(type=publish_type, phone=phone,
message=message, url=url, email=email,
firstName=firstName, lastName=lastName)
if 'accepted' in source:
accepted = source['accepted']
result.accepted = accepted
if 'source' in source:
source_from = source['source']
result.source_from = source_from
if 'sim_position' in source:
sim_position = source['sim_position']
result.sim_position = sim_position
if 'slot_position' in source:
slot_position = source['slot_position']
result.slot_position = slot_position
if 'passport' in source:
passport = source['passport']
result.passport = passport
if 'ccid' in source:
ccid = source['ccid']
result.ccid = ccid
if 'store_type' in source:
store_type = source['store_type']
result.store_type = store_type
result.id = id
return result
def to_firestore_dict(self):
dest = {
u'type': self.type.value,
u'id': self.id,
u'message': self.message,
u'phone': self.phone,
u'firstName': self.firstName,
u'lastName': self.lastName,
u'email': self.email,
u'passport': self.passport,
u'url': self.url,
u'sim_position': self.sim_position,
u'slot_position': self.slot_position,
u'ccid': self.ccid,
u'source_from': self.source_from,
u'store_type': self.store_type,
}
return dest