def gconnect(): # Check the state token if request.args.get('state') != login_session['state']: return make_json_response('Invalid state parameter.', 401) # Get authorization code code = request.data # Get Google credentials credentials = get_credentials(code, CLIENT_SEC_FILE) if credentials is None: return make_json_response('Failed to upgrade the authorization code.', 401) # Check if the credentials are valid and ok res = check_credentials(credentials, CLIENT_ID) if len(res) > 0: return make_json_response(res.message, res.code) # Check if the authenticated user is already connected gplus_id = credentials.id_token['sub'] stored_access_token = login_session.get('access_token') stored_gplus_id = login_session.get('gplus_id') if stored_access_token is not None and gplus_id == stored_gplus_id: return make_json_response('Current user is already connected.', 200) # Store the access token in the session for later use. name, email = get_user_name_and_email(credentials) # Check if the actual user name is present # If not, use the email address instead if len(name.strip()) == 0 or name is None: login_session['username'] = email else: login_session['username'] = name login_session['access_token'] = credentials.access_token login_session['gplus_id'] = gplus_id flash("You are now logged in as %s" % login_session['username'], "success") msgs = [("Authorized successfully."), ("Access token: {0}".format(login_session['access_token'])), ("User name: {0}".format(login_session['username']))] log_to_console(msgs) return make_json_response('Success', 200)
def get_product_json(id): product = session.query(Product).filter_by(id=id).first() if not product: return make_json_response("Product not found", 404) result = [ product.serialize, ] return jsonify(Product=result)
def get_category_json(id): result = [] category = session.query(Category).filter_by(id=id).first() if not category: return make_json_response("Category not found", 404) products = session.query(Product).filter_by(category_id=category.id) product_list = [p.serialize for p in products] result.append( dict(id=category.id, name=category.name, products=product_list)) return jsonify(Category=result)