diff options
author | rubenwardy <rw@rubenwardy.com> | 2018-12-23 23:49:49 +0000 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2018-12-23 23:54:20 +0000 |
commit | 50889ccca57cea9166ab7c64a83d540d6c0a20ce (patch) | |
tree | 57d757bc7250517b8f4b5e38251b9dfc8422bf8c /app/views/api.py | |
parent | b8ca5d24c50f108ea574c89405e2ce2e70ea18af (diff) | |
download | cheatdb-50889ccca57cea9166ab7c64a83d540d6c0a20ce.tar.xz |
Add topic searching and topic discarding
Diffstat (limited to 'app/views/api.py')
-rw-r--r-- | app/views/api.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/app/views/api.py b/app/views/api.py index 9223c8b..04f58d6 100644 --- a/app/views/api.py +++ b/app/views/api.py @@ -19,7 +19,7 @@ from flask import * from flask_user import * from app import app from app.models import * -from app.utils import is_package_page +from app.utils import is_package_page, rank_required from .packages import QueryBuilder @app.route("/api/packages/") @@ -43,3 +43,18 @@ def api_topics_page(): .order_by(db.asc(ForumTopic.wip), db.asc(ForumTopic.name), db.asc(ForumTopic.title)) pkgs = [t.getAsDictionary() for t in query.all()] return jsonify(pkgs) + + +@app.route("/api/topic_discard/", methods=["POST"]) +@rank_required(UserRank.EDITOR) +def topic_set_discard(): + tid = request.args.get("tid") + discard = request.args.get("discard") + if tid is None or discard is None: + abort(400) + + topic = ForumTopic.query.get(tid) + topic.discarded = discard == "true" + db.session.commit() + + return jsonify(topic.getAsDictionary()) |