Files

138 lines
4.1 KiB
Python
Executable File

import socket
from dataclasses import dataclass
from enum import Enum
from typing import Union
from dataclasses_json import dataclass_json
class PublishType(Enum):
SUCCESS = "SUCCESS"
ERROR = "ERROR"
PENDING = "PENDING"
DUPLICATED = "DUPLICATED"
@dataclass_json
@dataclass
class ReserveResultPojo:
phone: str = ""
message: str = ""
url: str = ""
firstName: Union[None, str] = ""
lastName: Union[None, str] = ""
email: Union[None, str] = ""
id: str = ""
accepted = None
passport: str = ""
slot_position = None
sim_position = None
ccid: str = ""
model: str = ""
source_from: str = socket.gethostname()
store_type = 0
url_validated = None
created_at = None
validated_at = None
proxy: str = None
ua: str = None
current_ip: str = ""
timestampInS: list = None
@staticmethod
def from_firestore_dict(source):
if 'phone' in source:
phone = source['phone']
else:
phone = ""
if 'url' in source:
url = source['url']
else:
url = ""
if '_id' in source:
id = source['_id']
else:
id = ""
if 'email' in source:
email = source['email']
else:
email = ""
if 'lastName' in source:
lastName = source['lastName']
else:
lastName = ""
if 'firstName' in source:
firstName = source['firstName']
else:
firstName = ""
result = ReserveResultPojo(phone=phone,
url=url, email=email,
firstName=firstName, lastName=lastName)
if 'accepted' in source:
accepted = source['accepted']
result.accepted = accepted
if 'message' in source:
message = source['message']
result.message = message
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
if 'url_validated' in source:
url_validated = source['url_validated']
result.url_validated = bool(url_validated)
if 'created_at' in source:
created_at = source['created_at']
result.created_at = created_at
if 'model' in source:
model = source['model']
result.model = model
if 'validated_at' in source:
validated_at = source['validated_at']
result.validated_at = validated_at
if 'current_ip' in source:
current_ip = source['current_ip']
result.current_ip = current_ip
result.id = id
return result
def to_firestore_dict(self):
dest = {
u'id': self.id,
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'model': self.model,
u'source_from': self.source_from,
u'hostName': self.source_from,
u'created_at': self.created_at,
u'store_type': self.store_type,
u'accepted': self.accepted,
u'url_validated': self.url_validated,
u'proxy': self.proxy,
u'current_ip': self.current_ip,
u'timestamp_in_s': "-".join(str(x) for x in self.timestampInS),
u'ua': self.ua,
}
return dest