Beispiel #1
0
def signup():
    req_data = request.get_json()
    res = {'status': '', 'data': {}, 'error': {}}
    email = req_data['email']
    name = req_data['name']
    password = req_data['password']
    secret_word = req_data['secret_word']
    if not re.match(email_regexp, email):
        res['status'] = app_constants.notok_status
        res['error'] = 'Email pattern not ok !'
        return api_response(res, 400)
    elif validate_password(
            password) != True:  #poate ar trebui sa scriu altfel asta :)
        res['status'] = app_constants.notok_status
        res['error'] = validate_password(password)
        return api_response(res, 400)
    elif secret_word != current_app.config['SECRET_WORD_REGISTRATION']:
        res['status'] = app_constants.notok_status
        res['error'] = 'Wrong secret word !'
        return api_response(res, 400)
    else:
        user = UserModel.query.filter_by(email=email).first()
        if not user:
            new_user = UserModel(name=name, email=email, password=password)
            role = RoleModel.query.get(app_constants.ROLE_USER)
            new_user.roles.append(role)
            new_user.set_password(password)
            db.session.add(new_user)
            db.session.commit()
            res['status'] = app_constants.ok_status
            return api_response(res)
        else:
            res['status'] = app_constants.notok_status
            res['error'] = 'User already exist !'
            return api_response(res, 400)