Esempio n. 1
0
def login():
    """Login a user: recieve JSON form data and authenticate username/password."""

    success = {'user':{}}
    form = LoginForm()

    if form.validate_on_submit():

        username = request.json["username"]
        password = request.json["password"]

        user = User.authenticate(username, password)
        if user: 
            session['username'] = user.username
            session['user_id'] = user.id
            log = Login.record_login(user.id)
            db.session.commit()
            success['user']['login'] = True
            success['user']['username'] = session['username']
            success['user']['userId'] = session['user_id']

            return jsonify(success)
        else:
            success['login'] = False
            success['message'] = "The username/password is incorrect"
        
            return jsonify(success), 401
    else:
        success['login'] = False
        success['message'] = "The username/password is incorrect"
        return jsonify(success), 401
Esempio n. 2
0
def register():
    """Register a user:  receive JSON form data and submit to DB"""
    
    success = {'user':{}}
    form = RegisterForm()

    if form.validate_on_submit():

        username = request.json["username"]
        password = request.json["password"]

        try:
            user = User.register(username, password)
            db.session.add(user)
            db.session.commit()

            prefs = Preference(user_id=user.id)
            log = Login.record_login(user.id)
            db.session.add(prefs)
            db.session.commit()
            
        
            session['username'] = user.username
            session['user_id'] = user.id

            success['user']['login'] = True
            success['user']['username'] = session['username']
            success['user']['userId'] = session['user_id']
    
            return jsonify(success), 201
        except exc.IntegrityError:
            db.session.rollback()
            success['login'] = False
            success['message'] = "taken"
        return jsonify(success), 400
    else:
        success['login'] = False
        success['message'] = "invalid"
        return jsonify(success), 400