def wrapper(*args, **kwargs): if kwargs.get('mobile_number') is not None: mobile_number = kwargs.get('mobile_number') validator.validate_mobile(mobile_number) if kwargs.get('password') is not None: password_input = kwargs.get('password') new_password = password_input[0]['new_password'] validator.validate_password(new_password) if kwargs.get('email') is not None: email = kwargs.get('email') validator.validate_email(email) if kwargs.get('username') is not None: username = kwargs.get('username') validator.validate_username(username) if kwargs.get('outlet_id') is not None: outlets = kwargs.get('outlet_id') if len(outlets) < 1: raise GraphQLError('This user must be assigned ' 'to at least 1 (one) outlet') for outlet in outlets: if outlet == '': raise GraphQLError(ERROR_RESPONSES[ "empty_field_error"].format( "Outlet Id")) get_model_object(Outlet, 'id', outlet) return func(*args, **kwargs)
def validate_fields(cls, contacts, kwargs): fields = kwargs fields['supplier_id'] = kwargs.get('supplier_id') fields['email'] = validator.validate_email( fields['email']) if fields.get('email') else\ (contacts and contacts.email) or None fields['mobile_number'] = validator.validate_mobile( fields['mobile_number']) if fields.get('mobile_number') \ else (contacts and contacts.mobile_number) or None fields['address_line_1'] = fields.get('address_line_1') or ( contacts and contacts.address_line_1) or None fields['address_line_2'] = fields.get('address_line_2') or ( contacts and contacts.address_line_2) or None fields['lga'] = fields.get('lga') or (contacts and contacts.lga) or None fields['city_id'] = fields.get('city_id') or (contacts and contacts.city_id) or None fields['country_id'] = fields.get('country_id') or ( contacts and contacts.country_id) or None fields['edit_request_id'] = kwargs.get('edit_request_id') return fields
def validate_fields(cls, input): fields = input fields['email'] = validator.validate_email( input['email']) if input.get('email') else None fields['mobile_number'] = validator.validate_mobile( input.mobile_number) return fields
def validate_admin_fields(self, **kwargs): secondary_email = kwargs.get('secondary_email', None) secondary_phone_number = kwargs.get('secondary_phone_number', None) if secondary_email: secondary_email = self._validate_secondary_email(secondary_email) if secondary_phone_number: secondary_phone_number = validator.validate_mobile( secondary_phone_number) first_name = kwargs.get('first_name', '') last_name = kwargs.get('last_name', '') username = kwargs.get('username', '') email = kwargs.get('email', '') mobile_number = kwargs.get('mobile_number', '') return { "first_name": self._validate_name(first_name), "last_name": self._validate_name(last_name), "username": self._validate_name(username), "email": self._validate_secondary_email(email), "secondary_email": secondary_email, "mobile_number": validator.validate_mobile(mobile_number), "secondary_phone_number": secondary_phone_number }
def validate_customer_fields(customer, **kwargs): """ Customer Validation, This method takes in instance of customer model and kwargs, its validate user inputs, like email, firstname phone number, special character etc and raise a Graphql if a condition is not being met Args: Profile() instance kwargs returns: customer instance otherwise a GraphqlError is raised """ fields_to_validate = [ "first_name", "last_name", "emergency_contact_name", "local_government_area", "address_line_1", "address_line_2" ] numbers_to_validate = [ "primary_mobile_number", "secondary_mobile_number", "emergency_contact_number" ] emails_to_validate = ["email", "emergency_contact_email"] for key, value in kwargs.items(): if key in fields_to_validate: validator.special_character_validation(value) if value.strip() == "": raise GraphQLError( CUSTOMER_ERROR_RESPONSES["first_name_error"].format(key)) if key in emails_to_validate: validator.validate_email(value) if key in numbers_to_validate: validator.validate_mobile(value) setattr(customer, key, value) return customer
def validate_user_fields(self, email, password, mobile_number): return { "email": validator.validate_email(email), "mobile_number": validator.validate_mobile(mobile_number), "password": validator.validate_password(password) }