55 lines
1.4 KiB
Python
55 lines
1.4 KiB
Python
from dataclasses import dataclass
|
|
from enum import Enum
|
|
from dataclasses_json import dataclass_json
|
|
|
|
|
|
class PublishType(Enum):
|
|
SUCCESS = "SUCCESS"
|
|
ERROR = "ERROR"
|
|
|
|
|
|
@dataclass_json
|
|
@dataclass
|
|
class ReserveResultPojo:
|
|
type: PublishType
|
|
phone: str
|
|
message: str
|
|
url: str
|
|
firstName: None
|
|
lastName: None
|
|
email: None
|
|
id = None
|
|
accepted = None
|
|
|
|
@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']
|
|
accepted = source['accepted']
|
|
result = ReserveResultPojo(type=publish_type, phone=phone,
|
|
message=message, url=url, email=email,
|
|
firstName=firstName, lastName=lastName)
|
|
result.accepted = accepted
|
|
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'url': self.url
|
|
}
|
|
|
|
return dest
|