Ejemplo n.º 1
0
def logout():
    """ Logout """
    user_id = login_session['user_id']
    if user_id:
        user = get_user_by_id(user_id)
        if user:
            if user.user_provider == "Google":
                access_token = login_session['access_token']
                if access_token is None:
                    response = make_response(
                        json.dumps('Current user not connected.'), 401)
                    response.headers['Content-Type'] = 'application/json'
                    return response
                url = 'https://accounts.google.com/o/oauth2/revoke?token=%s' % access_token
                http_var = httplib2.Http()
                result = http_var.request(url, 'GET')[0]
                if result['status'] == '200':
                    # Reset the user's sesson.
                    del login_session['access_token']
                    del login_session['gplus_id']
                    del login_session['username']
                    del login_session['email']
                    del login_session['picture']

                    response = make_response(
                        json.dumps('Successfully disconnected.'), 200)
                    response.headers['Content-Type'] = 'application/json'
                    return response
                else:
                    # For whatever reason, the given token was invalid.
                    response = make_response(
                        json.dumps('Failed to revoke token for given user.',
                                   400))
                    response.headers['Content-Type'] = 'application/json'
                    return response
Ejemplo n.º 2
0
def create_transaction(c_id):
    c = dao.get_user_by_id(c_id)
    if c is None:
        return failure_response("User not found!")
    body = json.loads(request.data)
    cost = body.get("cost")
    transaction = dao.create_transaction(body.get("title"),
                                         body.get("buy_date"), cost, c_id)
    dao.update_user_spent(c_id, cost)
    return success_response(transaction)
Ejemplo n.º 3
0
def get_user(user_id):
    try:
        user = dao.get_user_by_id(user_id)
        if user is None:
            return failure_response("User not found!")
        return success_response(user)
    except Exception as e:
        return json.dumps({
            'success': False,
            'error': 'Exception: ' + str(e)
        }), 400
Ejemplo n.º 4
0
def get_user_by_id(user_id):
    successful, session_token = extract_token(request)
    if not successful:
        return session_token
    user = users_dao.get_user_by_session_token(session_token)
    if not user or not user.verify_session_token(session_token):
        return json.dumps({"error": "Invalid session token."})

    user = dao.get_user_by_id(user_id)
    if user is None:
        return failure_response("User not found.")
    return success_response(user)
Ejemplo n.º 5
0
Archivo: app.py Proyecto: MinaJP/CarPal
def create_ride(user_id):
    body = json.loads(request.data)
    verify_id = dao.get_user_by_id(user_id)
    if verify_id is None:
        return failure_response("invalid user id")

    key = ("origin", "destination", "scheduled")
    checkkey = check_key(key, body)
    if not check_key:
        return failure_response(checkkey)

    origin = body["origin"]
    destination = body["destination"]
    scheduled = body["scheduled"]
    return success_response(
        dao.create_ride(user_id, origin, destination, scheduled))
Ejemplo n.º 6
0
def accept_deny_request(request_id):
    body = json.loads(request.data)
    addreq = dao.get_request_by_id(request_id)
    if addreq is None:
        return failure_response("Request not found")
    current_state = addreq.get('accepted')
    if current_state is None:
        user_id = addreq.get("user_id")
        club_id = addreq.get("club_id")
        admin_response = body.get("accepted")
        if admin_response is True:
            # if accept member
            type = body.get('type')
            user = dao.adduser2club(user_id, club_id, type)
            return success_response(user)
        else:
            # if deny member
            user = dao.get_user_by_id(user_id)
            return success_response(user)
    # if accepted is not null, that means request is true or false
    return failure_response("Cannot change request already accepted/denied")
Ejemplo n.º 7
0
Archivo: app.py Proyecto: MinaJP/CarPal
def request_ride(user_id, ride_id):
    body = json.loads(request.data)
    #Check if ride exists
    ride = dao.get_ride_by_id(ride_id)
    if ride is None:
        return failure_response("ride not exist")

    #Check if user exists
    sender = dao.get_user_by_id(user_id)
    if sender is None:
        return failure_response("not valid user id")

    #Check if data contains all required fields
    key = ("message")
    checkkey = check_key(key, body)
    if not check_key:
        return failure_response(checkkey)

    message = body["message"]
    receiver_id = ride["creator"]

    return success_response(
        dao.create_request(ride_id, user_id, receiver_id, message))
Ejemplo n.º 8
0
def get_user(user_id):
    user = dao.get_user_by_id(user_id)
    if user is None:
        return failure_response("User not found!")
    return success_response(user)
Ejemplo n.º 9
0
def get_spec_user(user_id):
    get_user = dao.get_user_by_id(user_id)
    if get_user is None:
        return failure_response('User not found.')
    return success_response(get_user)
Ejemplo n.º 10
0
def delete_user(user_id):
    check_user = dao.get_user_by_id(user_id)
    if check_user is None:
        return failure_response('User not found, user cannot be deleted.')
    return success_response(dao.delete_user_by_id(user_id), 201)
Ejemplo n.º 11
0
def create_list(user_id):
    body = json.loads(request.data)
    user = dao.get_user_by_id(user_id)
    movie_list = dao.create_movie_list(name=body.get('name'), user_id=user_id)
    return success_response(movie_list, 201)
Ejemplo n.º 12
0
def get_user_by_id(user_id):
    user = dao.get_user_by_id(user_id)
    if user is not None:
        return success_response(user)
    return failure_response('User could not be found')