def create_new_user(self, request): validator = Validator(request) email = validator.email() password = validator.new_password() check_validator(validator) user = None action = None with self.create_storage() as storage: by_email = storage.get_user_by_email(email) if by_email and by_email.email == email: raise servicesexceptions.parameter_error( 'email', 'Email is already registered') user = User(email, util.hash(password), not self.activate_by_email) if self.activate_by_email: action = user.enable_action(ActionType.ACTIVATE) storage.add(user) if self.activate_by_email: self.mail.send_activate(self.main_domain, user.email, action.token) return user
def authenticate(self, request): validator = Validator(request) email = validator.email() password = validator.password() check_validator(validator) user = self.get_user(email) if not user or not user.active or not util.hash(password) == user.password_hash: raise servicesexceptions.bad_request('Authentication failed') return user
def authenticate(self, request): validator = Validator(request) email = validator.email() password = validator.password() check_validator(validator) user = self.get_user(email) if not user or not user.active or not util.hash( password) == user.password_hash: raise servicesexceptions.bad_request('Authentication failed') return user
def user_reset_password(self, request): validator = Validator(request) email = validator.email() check_validator(validator) with self.create_storage() as storage: user = storage.get_user_by_email(email) if user and user.active: action = user.enable_action(ActionType.PASSWORD) self.mail.send_reset_password(user.email, action.token)
def authenticate(self, request): validator = Validator(request) email = validator.email() password = validator.password() errors = validator.errors if errors: message = ", ".join(errors) raise servicesexceptions.bad_request(message) user = self.get_user(email) if not user or not user.active or not util.hash(password) == user.password_hash: raise servicesexceptions.forbidden('Authentication failed') return user
def user_reset_password(self, request): validator = Validator(request) email = validator.email() errors = validator.errors if errors: message = ", ".join(errors) raise servicesexceptions.bad_request(message) with self.create_storage() as storage: user = storage.get_user_by_email(email) if user and user.active: action = user.enable_action(ActionType.PASSWORD) self.mail.send_reset_password(user.email, action.token)
def delete_user(self, request): validator = Validator(request) email = validator.email() password = validator.password() check_validator(validator) with self.create_storage() as storage: user = storage.get_user_by_email(email) if not user or not user.active or not util.hash(password) == user.password_hash: raise servicesexceptions.bad_request('Authentication failed') for domain in user.domains: self.dns.delete_domain(self.main_domain, domain) storage.delete_user(user)
def delete_user(self, request): validator = Validator(request) email = validator.email() password = validator.password() check_validator(validator) with self.create_storage() as storage: user = storage.get_user_by_email(email) if not user or not user.active or not util.hash( password) == user.password_hash: raise servicesexceptions.bad_request('Authentication failed') for domain in user.domains: self.dns.delete_domain(self.main_domain, domain) storage.delete_user(user)
def create_new_user(self, request): validator = Validator(request) email = validator.email() password = validator.password() user_domain = validator.new_user_domain(error_if_missing=False) errors = validator.errors if errors: message = ", ".join(errors) raise servicesexceptions.bad_request(message) user = None action = None with self.create_storage() as storage: by_email = storage.get_user_by_email(email) if by_email and by_email.email == email: raise servicesexceptions.conflict('Email is already registered') if user_domain: by_domain = storage.get_domain_by_name(user_domain) if by_domain and by_domain.user_domain == user_domain: raise servicesexceptions.conflict('User domain name is already in use') update_token = util.create_token() user = User(email, util.hash(password), not self.activate_by_email) if user_domain: domain = Domain(user_domain, None, update_token) domain.user = user user.domains.append(domain) storage.add(domain) if self.activate_by_email: action = user.enable_action(ActionType.ACTIVATE) storage.add(user) if self.activate_by_email: self.mail.send_activate(self.main_domain, user.email, action.token) return user
def create_new_user(self, request): validator = Validator(request) email = validator.email() password = validator.new_password() check_validator(validator) user = None action = None with self.create_storage() as storage: by_email = storage.get_user_by_email(email) if by_email and by_email.email == email: raise servicesexceptions.parameter_error('email', 'Email is already registered') user = User(email, util.hash(password), not self.activate_by_email) if self.activate_by_email: action = user.enable_action(ActionType.ACTIVATE) storage.add(user) if self.activate_by_email: self.mail.send_activate(self.main_domain, user.email, action.token) return user