def post(self): post_data = request.get_json() response_object = {'status': 'fail', 'message': 'Invalid payload.'} if not post_data: return response_object, 400 username = post_data.get('username') email = post_data.get('email') try: user = User.query.filter_by(email=email).first() if not user: db.session.add(User(username=username, email=email)) db.session.commit() response_object = { 'status': 'success', 'message': f'{email} was added!' } return response_object, 201 else: response_object['message'] = 'Sorry. ' \ 'That email already exists.' return response_object, 400 except exc.IntegrityError: db.session.rollback() return response_object, 400
def auth_register(): #response object resp = {} status = 200 try: username = validate_username(request.json['username']) password = validate_password(request.json['password']) email = validate_email(request.json['email']) if username[0] and password[0] and email[0]: user = User(email[2], username[2], password[2]) db.session.add(user) db.session.commit() resp['success'] = 'Account created successfully' else: resp['error'] = 'Registeration failed' resp['reason'] = { 'username': username[1], 'password': password[1], 'email': email[1] } status = 400 except KeyError: resp['error'] = 'Registeration failed' resp['reason'] = 'username, password and email required' status = 400 return jsonify(resp), status
def signup_user(): data = request.get_json() firstName = data.get('firstname') lastName = data.get('lastname') otherNames = data.get('othernames') email = data.get('email') phoneNumber = data.get('phonenumber') userName = data.get('username') userPassword = data.get('password') if not firstName or not lastName or not\ otherNames or not email or not phoneNumber or not \ userName or not userPassword: return jsonify({ 'status': 400, 'error': 'A required field is either missing or empty' }), 400 if not validateUser.validate_names(firstName) or not \ validateUser.validate_names(lastName) or not \ validateUser.validate_names(otherNames) or not \ validateUser.validate_names(userName): return jsonify({ 'status': 400, 'error': 'Name must be a string and must not contain spaces' }), 400 if not validateUser.validate_phoneNumber(phoneNumber): return jsonify({ 'status': 400, 'error': 'Only numbers are allowed for the phonenumber field' }), 400 if not validate_email(email): return jsonify({'status': 400, 'error': 'Invalid email'}), 400 if not validateUser.validate_password(userPassword): return jsonify({ 'status': 400, 'error': 'Password must be atleast 8 characters and should have atleast one number and one capital letter' }), 400 user = User(firstName, lastName, otherNames, email, phoneNumber, userName, generate_password_hash(userPassword)) if db_handler().select_one_record('user_table', 'useremail', email): return jsonify({ 'status': 400, 'error': 'User account already exists' }), 400 user = db_handler().add_user(user.firstname, user.lastname, user.othernames, user.username, user.email, user.phoneNumber, user.password, user.registered, user.isAdmin) data.pop('password') return jsonify({ 'status': 201, 'data': data, 'message': 'Your Account was created successfuly' }), 201
def new_user_with_token(init_database): new_user = User(username='******', password='******') token = Token(auth_token='secret_token_2', user=new_user) db.session.add(new_user) db.session.add(token) db.session.commit() return new_user
def index(): if request.method == 'POST': username = request.form['username'] email = request.form['email'] db.session.add(User(username=username, email=email)) db.session.commit() users = User.query.all() return render_template('auth/index.html', users=users)
def create_admin(self): user_info = User.query.filter_by(email='*****@*****.**').first() if not user_info: password = generate_password_hash('adminpassword123') add_admin = User(firstname='admin', lastname='admin', email='*****@*****.**', phone_number=706778714, password=password, account_type="admin") db.session.add(add_admin) db.session.commit()
def signup_user(self): data = request.get_json() # firstname = data.get('firstname') names = data.get('names') email = data.get('email') phone_number = data.get('phonenumber') password = data.get('password') confirm_password = data.get('confirmpassword') # Check missing fields user_validate.check_missing_field(names, email, phone_number, password, confirm_password) # seperate firstname and lastname split_names = names.split() # check split names user_validate.check_split_names(split_names) first_name = split_names[0] last_name = split_names[1] # validate names user_validate.check_names(split_names) # validate email if not validate_email(email, verify=False): return jsonify({'message': 'Email is not valid', 'status': 400}) # validate phonenumber if not user_validate.validate_phoneNumber(phone_number): return jsonify({'message': 'Phone number is not valid', 'status': 400}) new_number = user_validate.remove_zero_from_number(phone_number) if new_number: phone_number = new_number else: phone_number = phone_number # valid password if not user_validate.validate_password(password): return jsonify({ 'message': 'Password should be atleast 8 characters and should atleast one number', 'status': 400 }) # check if passwords match if not user_validate.verify_password(password, confirm_password): return jsonify({'message': "Passwords don't match", 'status': 400}) # hash the password to protect it password = generate_password_hash(password) # check if user exists user_info = User.query.filter_by(email=email).first() if user_info: return jsonify({'message': 'User account already exists', 'status': 400}) # create the user user_data = User(firstname=first_name, lastname=last_name, email=email, phone_number=phone_number, password=password, account_type="normal") db.session.add(user_data) db.session.commit() return jsonify({'message': 'Your account was successfuly created', 'status': 201})
def post_user(init_database): user = User(username='******', password='******') db.session.add(user) db.session.commit() yield user db.session.rollback() User.query.delete() db.session.commit()
def init_database(test_client): # Create the database and the database table db.create_all() # insert data user = User(username='******', password='******') token = Token(auth_token='secret_token_1', user=user) db.session.add(user) db.session.add(token) db.session.commit() yield db db.drop_all()
def new_user(init_database): new_user = User(username='******', password='******') db.session.add(new_user) db.session.commit() return new_user
def add_user(username, email): user = User(username=username, email=email) db.session.add(user) db.session.commit() return user