def create_account(self, email_address, response): # This method assumes that the existence of an account for the # provider and email_address has been checked by the caller; # callers may have different methods of performing the check # (redwood auth versus get_account()) namespace = Namespace() account = GenericAccount(namespace=namespace) # The server endpoints can ONLY be set at account creation and # CANNOT be subsequently changed in order to prevent MITM attacks. account.provider = self.provider_name if self.provider_name == 'custom': account.imap_endpoint = (response['imap_server_host'], response['imap_server_port']) account.smtp_endpoint = (response['smtp_server_host'], response['smtp_server_port']) account.create_emailed_events_calendar() # Shim for back-compatability with legacy auth # The old API does NOT send these but authentication now uses them # so set them (included here, set in update_account()). for username in ['imap_username', 'smtp_username']: if username not in response: response[username] = email_address for password in ['imap_password', 'smtp_password']: if password not in response: response[password] = response['password'] return self.update_account(account, response)
def create_account(self, account_data): namespace = Namespace() account = GenericAccount(namespace=namespace) account.provider = "custom" account.create_emailed_events_calendar() account.sync_should_run = False return self.update_account(account, account_data)
def generic_account(db): import platform from inbox.models.backends.generic import GenericAccount from inbox.models import Namespace ns = Namespace() account = GenericAccount(email_address="*****@*****.**", sync_host=platform.node(), provider="custom") account.namespace = ns account.create_emailed_events_calendar() account.password = "******" db.session.add(account) db.session.commit() return account
def generic_account(db): import platform from inbox.models.backends.generic import GenericAccount from inbox.models import Namespace ns = Namespace() account = GenericAccount(email_address='*****@*****.**', sync_host=platform.node(), provider='custom') account.namespace = ns account.create_emailed_events_calendar() account.password = '******' db.session.add(account) db.session.commit() return account