def delete_category(cat_id): """Delete a category""" if 'username' not in login_session: return render_template('forbidden.html') crud.delete_category(cat_id) flash(u'Category Successfully Deleted', 'success') return redirect(url_for('main'))
async def delete_category(id: int, db: Session = Depends(get_db)): return crud.delete_category(id=id, db=db)
async def mutate(root, info, id): try: category = crud.delete_category(db=database.SessionLocal(), id=id) return DeleteCategory(success=True, category=category) except: raise GraphQLError('The category could not be deleted!')
def Destroy(self, request, context): response = category_pb2.Category() response = crud.delete_category(request.id, request.user_id) return response
def get_and_update_categories(): """Gets or updates a user's categories""" if session.get("user_id"): user_id = session["user_id"] if request.method == "GET": categories = [] category_objects = crud.get_all_user_categories(user_id) for category_object in category_objects: dict_category = category_object.to_dict() categories.append(dict_category) return jsonify({"categories": categories}) elif request.method == "POST": if request.json.get("label"): label = request.json.get("label") user = crud.get_user_by_id(user_id) if crud.get_category_by_label(user_id, label): return ({ "error": f"{label} is already in {user.first_name}'s bookshelf!" }) new_category = crud.create_category(user_id, label) return jsonify({ "success": f"{new_category.label} has been added to {user.first_name}'s bookshelf!" }) else: old_label = request.json.get("old_label") new_label = request.json.get("new_label") crud.update_category_label(user_id, old_label, new_label) return jsonify({ "success": f"{old_label} has been changed to {new_label}!", "label": new_label }) elif request.method == "PUT": label = request.json.get("label") book_dict = request.json.get("book") isbn = book_dict["id"] book = crud.get_book_by_isbn(isbn) category = crud.get_category_by_label(user_id, label) if not book: authors = "" for author in book_dict["volumeInfo"]["authors"]: authors += f"{author} " page_count = book_dict["volumeInfo"].get("pageCount") if not page_count: page_count = 000 book = crud.create_book( isbn, book_dict["volumeInfo"]["title"], authors, book_dict["volumeInfo"]["description"], page_count, book_dict["volumeInfo"]["imageLinks"]["thumbnail"]) if not category: category = crud.create_category(user_id, label) added_books = crud.create_book_category(book, category) return jsonify({ "success": f"""A new category, {category.label}, has been added to your bookshelf and {book.title} has been added to it""" }) if book in crud.get_all_books_in_category(user_id, label): return jsonify({ "error": f"{book.title} is already in your {category.label} books" }) added_books = crud.create_book_category(book, category) return jsonify({ "success": f"{book.title} has been added to {category.label} books" }) elif request.method == "DELETE": if request.json.get("label"): label = request.json.get("label") crud.delete_category(label, user_id) return jsonify({ "success": f"{label} has successfully been removed from your bookshelf.", "label": "" }) else: label = request.json.get("category") isbn = request.json.get("isbn") title = request.json.get("title") this_category = crud.get_category_by_label(user_id, label) crud.remove_book_from_category(isbn, this_category.id) return jsonify({ "success": f"{title} has successfully been removed from {label}.", }) else: return jsonify({"error": "User must be logged in to view this page."})