aboutsummaryrefslogtreecommitdiff
path: root/app/views/api.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/api.py')
-rw-r--r--app/views/api.py17
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())