diff options
Diffstat (limited to '')
| -rw-r--r-- | pysite/views/staff/jams/actions.py | 24 | 
1 files changed, 21 insertions, 3 deletions
| diff --git a/pysite/views/staff/jams/actions.py b/pysite/views/staff/jams/actions.py index ba5a66e9..c6e55931 100644 --- a/pysite/views/staff/jams/actions.py +++ b/pysite/views/staff/jams/actions.py @@ -1,9 +1,9 @@  from flask import jsonify, request  from pysite.base_route import APIView -from pysite.constants import ALL_STAFF_ROLES, ErrorCodes +from pysite.constants import ALL_STAFF_ROLES, ErrorCodes, BotEventTypes, JAMMERS_ROLE  from pysite.decorators import csrf, require_roles -from pysite.mixins import DBMixin +from pysite.mixins import DBMixin, RMQMixin  GET_ACTIONS = ["questions"]  POST_ACTIONS = [ @@ -16,7 +16,7 @@ KEYS = ["action"]  QUESTION_KEYS = ["optional", "title", "type"] -class ActionView(APIView, DBMixin): +class ActionView(APIView, DBMixin, RMQMixin):      path = "/jams/action"      name = "jams.action" @@ -221,6 +221,15 @@ class ActionView(APIView, DBMixin):                  jam_obj["participants"] = participants                  self.db.insert(self.table_name, jam_obj, conflict="replace") +            self.rmq_bot_event( +                BotEventTypes.add_role, +                { +                    "reason": "Code jam application approved", +                    "role_id": JAMMERS_ROLE, +                    "target": snowflake, +                } +            ) +              return jsonify({"result": "success"})          if action == "unapprove_application": @@ -253,6 +262,15 @@ class ActionView(APIView, DBMixin):                  self.db.insert(self.table_name, jam_obj, conflict="replace") +            self.rmq_bot_event( +                BotEventTypes.remove_role, +                { +                    "reason": "Code jam application unapproved", +                    "role_id": JAMMERS_ROLE, +                    "target": snowflake, +                } +            ) +              return jsonify({"result": "success"})      @csrf | 
