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
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)
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
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)
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))
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")
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))
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)
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)
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)
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)
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')