Example #1
0
def login_user():
    with app.app_context():
        db = get_db()
        req_data = request.get_json()
        uname = req_data['username']
        pwrd = req_data['password']
        user = User.query.filter_by(username=uname).first()
        if user is None:
            return bad_request('invalid username')
        if user.check_password(pwrd):
            access_jwt = create_access_token(identity=uname)
            refresh_jwt = create_refresh_token(identity=uname)
            resp = ok({'access_token': access_jwt, 'username': uname})
            set_refresh_cookies(resp, refresh_jwt)
            return resp
        return bad_request('invalid password')
Example #2
0
def gen_usrPg():
    with app.app_context():
        db = get_db()
        heads = request.headers
        if 'date' not in heads:
            date = str(datetime.now(EST))
        else:
            date = heads['date']
        uname = heads['username']
        matches = User.query.filter_by(username=uname).all()
        if not matches:
            return bad_request('no such user')
        user_obj = matches[0]
        uid = user_obj.id
        all_purchases = get_active_holdings(uid, db, date=date)
        payload = {'available_funds': user_obj.available_funds}
        payload['holdings'] = all_purchases
        total = user_obj.available_funds
        for abr, item in all_purchases.items():
            for p in item:
                t = Team.query.filter(Team.abr == abr).first()
                total += p['num_shares'] * t.price
        payload['total_assets'] = total
        payload['graphData'] = get_user_graph_points(uid, db)
        return ok(payload)
Example #3
0
def make_sale():
    uname = get_jwt_identity()
    with app.app_context():
        db = get_db()
        usr = User.query.filter(User.username == uname).first()
        js = request.get_json()
        try:
            sell_shares(usr, js['abr'], int(js['num_shares']), db)
        except ValueError as e:
            return bad_request(str(e))
        return ok({})
Example #4
0
def create_user():
    with app.app_context():
        db = get_db()
        req_data = request.get_json()
        pwrd = req_data['password']
        pwrd_c = req_data['confirm-password']
        if pwrd != pwrd_c:
            return bad_request('passwords do not match')
        uname = req_data['userName']
        email = req_data['email']
        try:
            u = User(username=uname, email=email, password=pwrd)
            db.session.add(u)
            db.session.commit()
            access_jwt = create_access_token(identity=uname)
            refresh_jwt = create_refresh_token(identity=uname)
            resp = ok({'access_token': access_jwt, 'username': uname})
            set_refresh_cookies(resp, refresh_jwt)
            return resp
        except:
            return bad_request('username/email is already in use')