def remove_user_favorite(username, favorite_type, **_): """ Remove a favorite from the user's favorites. Variables: username => Name of the user to remove the favorite from favorite_type => Type of favorite to remove Arguments: None Data Block: "name_of_favorite" # Name of the favorite to remove Result example: { "success": true # Was the remove successful? } """ if favorite_type not in ALLOWED_FAVORITE_TYPE: return make_api_response({}, "%s is not a valid favorite type" % favorite_type, 500) name = request.data or "None" try: favorites = STORAGE.get_user_favorites(username) for fav in favorites[favorite_type]: if fav['name'] == name: favorites[favorite_type].remove(fav) except Exception: return make_api_response({}, "Favorite does not exists, (%s)" % name, 404) return make_api_response( {"success": STORAGE.set_user_favorites(username, favorites)})
def get_user_favorites(username, **kwargs): """ Loads the user's favorites. Variables: username => Name of the user you want to get the avatar for Arguments: None Data Block: None Result example: { # Dictionary of "<name_of_query>": # Named queries "*:*", # The actual query to run ... } """ user = kwargs['user'] favorites = { "alert": [], "search": [], "signature": [], "submission": [], "error": [] } res_favorites = STORAGE.get_user_favorites(username) if res_favorites: if username == "__global__" or username != user['uname']: for key in favorites.keys(): for fav in res_favorites[key]: if 'classification' in fav: if CLASSIFICATION.is_accessible( user['classification'], fav['classification']): favorites[key].append(fav) else: favorites[key].append(fav) else: favorites.update(res_favorites) return make_api_response(favorites)
def add_to_user_favorite(username, favorite_type, **_): """ Add an entry to the user's favorites Variables: username => Name of the user you want to add a favorite to favorite_type => Type of favorite you want to add Arguments: None Data Block: { "text": "Name of query", "query": "*:*" } Result example: { "success": true } """ if favorite_type not in ALLOWED_FAVORITE_TYPE: return make_api_response({}, "%s is not a valid favorite type" % favorite_type, 500) data = request.json if 'name' not in data or 'query' not in data: return make_api_response({}, "Wrong format for favorite.", 500) favorites = { "alert": [], "search": [], "signature": [], "submission": [], "error": [] } res_favorites = STORAGE.get_user_favorites(username) if res_favorites: favorites.update(res_favorites) favorites[favorite_type].append(data) return make_api_response( {"success": STORAGE.set_user_favorites(username, favorites)})