68 lines
1.2 KiB
Python
68 lines
1.2 KiB
Python
import vona.config as config
|
|
|
|
import base64
|
|
import os
|
|
|
|
from flask import (
|
|
Blueprint,
|
|
jsonify,
|
|
request,
|
|
)
|
|
|
|
citadel = Blueprint("citadel", __name__)
|
|
|
|
# These are endpoints made by Thales Citadel
|
|
|
|
# TODO: Add more endpoints, this likely
|
|
# isn't all of them
|
|
|
|
|
|
@citadel.route("/_matrix/client/r0/citadel/stats/m.news/<event>", methods=["GET", "PUT"])
|
|
async def news_stats(event):
|
|
if request.method == "PUT":
|
|
return jsonify({"success": True})
|
|
|
|
return jsonify({
|
|
"total_clicks": config.the_funny_number,
|
|
"user_readings": config.the_funny_number
|
|
})
|
|
|
|
|
|
@citadel.route("/_matrix/client/r0/citadel/rooms/<room>/closeRoom", methods=["POST"])
|
|
async def close_room(room):
|
|
store_response = request.json.get("store_response", True)
|
|
|
|
operation_id = base64.b64encode(
|
|
bytes(
|
|
os.urandom(8).hex(),
|
|
"utf-8"
|
|
)
|
|
).decode("utf-8")[:14]
|
|
|
|
|
|
if store_response:
|
|
resp = {"operation_id": operation_id}
|
|
else:
|
|
resp = {
|
|
"operation_id": operation_id,
|
|
"previous_state": {
|
|
"progress": {
|
|
"steps": {
|
|
"step_kick_users": {
|
|
"status": "complete"
|
|
},
|
|
"step_purge_history": {
|
|
"status": "complete"
|
|
},
|
|
"step_purge_media": {
|
|
"status": "complete"
|
|
}
|
|
}
|
|
},
|
|
"status": "complete"
|
|
}
|
|
}
|
|
|
|
|
|
return jsonify(resp)
|