Esempio n. 1
0
def validate_password_recovery(user_id, token):
    recover_token_entry = RecoverUserToken.query.filter_by(
        id_user=user_id).first()
    recover_token_str = recover_token_entry.recover_token
    time_elapsed = datetime.now() - recover_token_entry.date_created
    if recover_token_str != token:
        raise UsersError.UserTokenRecoverError(user_id)
    if time_elapsed.total_seconds() > 5 * 60:
        raise UsersError.UserTokenRecoverExpiredError(user_id)
Esempio n. 2
0
def validate_user_password(user_password, stored_password=None):
    if user_password == '':
        raise UsersError.UserPasswordMustNotBeEmpty()
    if stored_password is not None:
        encoded_password = hashlib.md5(user_password.encode()).hexdigest()
        if stored_password != encoded_password:
            raise UsersError.UserPasswordInvalid
Esempio n. 3
0
def validate_modify_schema_not_empty(data, fields):
    valid = False
    for field in fields:
        if field in data and data[field] != '':
            valid = True
            break
    if not valid:
        raise UsersError.EmptyModifySchema()
Esempio n. 4
0
def validate_free_user_identifiers(new_user_mail, new_user_alias=None):
    mail_taken = Users.query.filter_by(email=new_user_mail).first() is not None
    alias_taken = Users.query.filter_by(
        alias=new_user_alias).first() is not None
    if new_user_alias is None:
        new_user_alias = ''
    if mail_taken or alias_taken:
        raise UsersError.UserIdentifierAlreadyTaken(new_user_mail + " or " +
                                                    new_user_alias)
Esempio n. 5
0
def validate_google_response(response):
    if "error" in response:
        raise UsersError.UserGoogleValidateFailed()
Esempio n. 6
0
def validate_user_type(user_type):
    if user_type not in valid_user_types:
        raise UsersError.UserTypeNotExistentError(user_type)
Esempio n. 7
0
def validate_user_is_admin(user_id):
    if not (profile_is_admin(get_profile_from_user_id(user_id))):
        raise UsersError.UserIsNotAnAdminError(user_id)
Esempio n. 8
0
def validate_user_id_exists(user_id):
    exists = db.session.query(
        db.exists().where(Users.id_user == user_id)).scalar()
    if not exists:
        raise UsersError.UserNotExistentError(user_id)
    return exists
Esempio n. 9
0
def validate_existent_user_by_mail(user_mail):
    mail_taken = Users.query.filter_by(email=user_mail).first() is not None
    if not mail_taken:
        raise UsersError.UserMailInvalid(user_mail)
Esempio n. 10
0
def validate_user_not_blocked(user_id):
    if Users.query.filter_by(id_user=user_id).first().blocked:
        raise UsersError.UserIsBlockedError(user_id)
Esempio n. 11
0
def validate_is_not_google_user_by_id(user_id):
    user = Users.query.filter_by(id_user=user_id).first()
    if user.password is None:
        raise UsersError.UserIsGoogleUserError()
Esempio n. 12
0
def validate_is_google_user(user):
    if user.password is not None:
        raise UsersError.UserIsNotGoogleUserError()