def __init__( self, id, device: Device or str, reality: Reality or str, value: str, created_at: datetime, updated_at: datetime, ): self.id = id self.value = value self.created_at = created_at self.updated_at = updated_at if device: if isinstance(device, Device): self.device = device elif isinstance(device, dict): self.device = Device(**device) elif isinstance(device, int): self.device = Device.placeholder(id=device) else: self.device = None if reality: if isinstance(reality, Reality): self.reality = reality elif isinstance(reality, dict): self.reality = Reality(**reality) elif isinstance(reality, int): self.reality = Reality.placeholder(id=reality) else: self.reality = None
def __init__( self, id: int or None, email: str or None, auth_type: str or None, user_info: dict or None, device_id: str or None = None, password: str or None = None, cohorts: List[int] or None = None, magic_fields: List[Dict] or None = None, user_emails: List[Dict] or None = None, user_consent: Dict or None = None, devices: List[Dict] or List[str] or None = None, token=None, ): self.id = id self.email = email self.auth_type = auth_type self._device = Device.placeholder(id=device_id) if user_info: if isinstance(user_info, dict): user_info = UserInfo(**user_info) elif isinstance(user_info, UserInfo): user_info = user_info else: user_info = UserInfo(None, None, None, None) self.user_info = user_info self.first_name = user_info.first_name self.last_name = user_info.last_name self.password = password self.cohorts = [] self.token = token if cohorts: self.cohorts = [Cohort.placeholder(int(c_id)) for c_id in cohorts] if magic_fields: self.magic_fields = [MagicField(**m) for m in magic_fields] else: self.magic_fields = [] if user_emails: self.user_emails = [UserEmail(**u) for u in user_emails] else: self.user_emails = [] if user_consent: if isinstance(user_consent, UserConsent): self.user_consent = user_consent elif isinstance(user_consent, dict): self.user_consent = UserConsent(**user_consent) else: self.user_consent = None if devices: self.devices = [] for device in devices: if isinstance(device, (str, int)): self.devices.append(Device.placeholder(id=device)) elif isinstance(device, dict): self.devices.append(Device(**device)) else: self.devices = []
def __init__(self, audience: Dict or Audience, device: Dict or Device, created_at: datetime or None = None): self.created_at = created_at if isinstance(audience, Audience): self.audience = audience elif isinstance(audience, int): self.audience = Audience.placeholder(id=audience) else: self.audience = Audience(**audience) if isinstance(device, Device): self.device = device elif isinstance(device, int): self.device = Device.placeholder(id=device) else: self.device = Device(**device)