Implement MSC4367 room directory
This commit is contained in:
@@ -24,9 +24,9 @@ synapse = Blueprint("synapse", __name__)
|
||||
@synapse.route("/_synapse/admin/v1/media/unquarantine/<s>/<media_id>", methods=["POST"])
|
||||
@synapse.route("/_synapse/admin/v1/federation/destinations/<destination>/reset_connection", methods=["POST"])
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room>")
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room_id>/timestamp_to_event")
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room>/timestamp_to_event")
|
||||
@synapse.route("/_synapse/admin/v2/rooms/delete_status/<delete_id>")
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room_id_or_alias>/make_room_admin", methods=["POST"])
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room>/make_room_admin", methods=["POST"])
|
||||
async def response(**kwargs):
|
||||
return jsonify({})
|
||||
|
||||
@@ -118,9 +118,24 @@ async def account_data(user_id):
|
||||
@synapse.route("/_synapse/admin/v1/users/<user_id>/media", methods=["GET", "DELETE"])
|
||||
async def account_media(user_id):
|
||||
if request.method == "GET":
|
||||
return jsonify({"media": [{"created_ts":config.the_funny_number,"last_access_ts":config.the_funny_number,"media_id":"cat","media_length":config.the_funny_number,"media_type":"image/jpeg","quarantined_by":"null","safe_from_quarantine":False,"upload_name":"cat.jpg"}], "total": config.the_funny_number})
|
||||
return jsonify({
|
||||
"media": [{
|
||||
"created_ts": config.the_funny_number,
|
||||
"last_access_ts": config.the_funny_number,
|
||||
"media_id": "cat",
|
||||
"media_length": config.the_funny_number,
|
||||
"media_type": "image/jpeg",
|
||||
"quarantined_by": None,
|
||||
"safe_from_quarantine": False,
|
||||
"upload_name": "cat.jpg"
|
||||
}],
|
||||
"total": config.the_funny_number
|
||||
})
|
||||
|
||||
return jsonify({"deleted_media": ["cat"], "total": config.the_funny_number})
|
||||
return jsonify({
|
||||
"deleted_media": ["cat"],
|
||||
"total": config.the_funny_number
|
||||
})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/users/<user_id>/login", methods=["POST"])
|
||||
async def account_login(user_id):
|
||||
@@ -137,7 +152,7 @@ async def device_list(user_id):
|
||||
"devices": [{
|
||||
"device_id": "VVOONNAA",
|
||||
"display_name": "Vona",
|
||||
"last_seen_ip": "127.0.0.1",
|
||||
"last_seen_ip": config.addr,
|
||||
"last_seen_ts": config.the_funny_number,
|
||||
"last_seen_user_agent": f"Vona/{globals.version}"
|
||||
}],
|
||||
@@ -152,7 +167,7 @@ async def device_info(user_id, device_id):
|
||||
return jsonify({
|
||||
"device_id": "VVOONNAA",
|
||||
"display_name": "Vona",
|
||||
"last_seen_ip": "127.0.0.1",
|
||||
"last_seen_ip": config.addr,
|
||||
"last_seen_ts": config.the_funny_number,
|
||||
"last_seen_user_agent": f"Vona/{globals.version}"
|
||||
})
|
||||
@@ -169,11 +184,11 @@ async def username_available():
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/threepid/<medium>/users/<addr>")
|
||||
@synapse.route("/_synapse/admin/v1/auth_providers/<provider>/users/<ext>")
|
||||
async def threepid(p, a):
|
||||
async def threepid(**kwargs):
|
||||
return jsonify({"user_id": f"@vona:{config.server_name}"})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/<user_id>/redact")
|
||||
def redact(user_id):
|
||||
async def redact(user_id):
|
||||
return jsonify({"redact_id": os.urandom(16).hex()})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/user/redact_status/<redact_id>")
|
||||
@@ -191,8 +206,8 @@ async def register():
|
||||
|
||||
return jsonify({"access_token": "vona"})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/join/<roomId>", methods=["POST"])
|
||||
async def membership_manipulation(roomId):
|
||||
@synapse.route("/_synapse/admin/v1/join/<room>", methods=["POST"])
|
||||
async def membership_manipulation(room):
|
||||
return jsonify({"room_id": globals.make_event_id().replace("$", "!")})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/account_validity/validity", methods=["POST"])
|
||||
@@ -204,8 +219,8 @@ async def account_validity():
|
||||
async def server_notice(**kwargs):
|
||||
return jsonify({"event_id": globals.make_event_id()})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/purge_history/<room_id>/<event_id>", methods=["POST"])
|
||||
@synapse.route("/_synapse/admin/v1/purge_history/<room_id>", methods=["POST"])
|
||||
@synapse.route("/_synapse/admin/v1/purge_history/<room>/<event_id>", methods=["POST"])
|
||||
@synapse.route("/_synapse/admin/v1/purge_history/<room>", methods=["POST"])
|
||||
async def purge_event(**kwargs):
|
||||
return jsonify({"purge_id": os.urandom(16).hex()})
|
||||
|
||||
@@ -213,12 +228,12 @@ async def purge_event(**kwargs):
|
||||
async def purge_status(purge_id):
|
||||
return jsonify({"status":"active"})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/room/<room_id>/media")
|
||||
async def room_media(room_id):
|
||||
@synapse.route("/_synapse/admin/v1/room/<room>/media")
|
||||
async def room_media(room):
|
||||
return jsonify({"local": [f"mxc://{config.server_name}/cat"], "remote": []})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/room/<room_id>/media/quarantine", methods=["POST"])
|
||||
async def quarantine_room_media(room_id):
|
||||
@synapse.route("/_synapse/admin/v1/room/<room>/media/quarantine", methods=["POST"])
|
||||
async def quarantine_room_media(room):
|
||||
return jsonify({"num_quarantined": config.the_funny_number})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/media/<s>/delete", methods=["POST"])
|
||||
@@ -233,7 +248,15 @@ async def delete_remote_media():
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/statistics/users/media")
|
||||
async def media_stats():
|
||||
return jsonify({"users":[{"displayname":"Vona","media_count":config.the_funny_number,"media_length":config.the_funny_number,"user_id":f"@vona:{config.server_name}"}],"total":config.the_funny_number})
|
||||
return jsonify({
|
||||
"users": [{
|
||||
"displayname": "Vona",
|
||||
"media_count": config.the_funny_number,
|
||||
"media_length": config.the_funny_number,
|
||||
"user_id": f"@vona:{config.server_name}"
|
||||
}],
|
||||
"total": config.the_funny_number
|
||||
})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/statistics/database/rooms")
|
||||
async def room_stats():
|
||||
@@ -302,7 +325,7 @@ async def interact_with_reported_event(report_id):
|
||||
@synapse.route("/_synapse/admin/v1/federation/destinations")
|
||||
async def federation_destinations():
|
||||
return jsonify({
|
||||
"destinations": [{}],
|
||||
"destinations": [],
|
||||
"total": 0
|
||||
})
|
||||
|
||||
@@ -366,7 +389,7 @@ async def rooms():
|
||||
"total_rooms": 0
|
||||
})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room_id>/members")
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room>/members")
|
||||
async def room_members(room):
|
||||
return jsonify({
|
||||
"members": [
|
||||
@@ -375,11 +398,11 @@ async def room_members(room):
|
||||
"total": 1
|
||||
})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room_id>/state")
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room>/state")
|
||||
async def room_state(room):
|
||||
return jsonify({"state": []})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room_id>/state")
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room>/state")
|
||||
async def room_messages(room):
|
||||
return jsonify({
|
||||
"chunk": [],
|
||||
@@ -387,11 +410,11 @@ async def room_messages(room):
|
||||
"start": "vona"
|
||||
})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room_id>/block", methods=["GET", "PUT"])
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room>/block", methods=["GET", "PUT"])
|
||||
async def block_room(room):
|
||||
return jsonify({"block": False})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room_id>", methods=["DELETE"])
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room>", methods=["DELETE"])
|
||||
async def room_delete(room):
|
||||
return jsonify({
|
||||
"kicked_users": [
|
||||
@@ -399,18 +422,18 @@ async def room_delete(room):
|
||||
],
|
||||
"failed_to_kick_users": [],
|
||||
"local_aliases": [],
|
||||
"new_room_id": f"!vona:{config.server_name}"
|
||||
"new_room_id": globals.make_event_id(seed=room)
|
||||
})
|
||||
|
||||
@synapse.route("/_synapse/admin/v2/rooms/<room_id>", methods=["DELETE"])
|
||||
@synapse.route("/_synapse/admin/v2/rooms/<room>", methods=["DELETE"])
|
||||
async def room_delete_v2(room):
|
||||
return jsonify({"delete_id": "vona"})
|
||||
|
||||
@synapse.route("/_synapse/admin/v2/rooms/<room_id>/delete_status")
|
||||
@synapse.route("/_synapse/admin/v2/rooms/<room>/delete_status")
|
||||
async def room_delete_status(room):
|
||||
return jsonify({"results": []})
|
||||
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room_id_or_alias>/forward_extremities", methods=["GET"])
|
||||
@synapse.route("/_synapse/admin/v1/rooms/<room>/forward_extremities", methods=["GET"])
|
||||
async def forward_extremities(room):
|
||||
if request.method == "DELETE":
|
||||
return jsonify({"deleted": 0})
|
||||
|
||||
Reference in New Issue
Block a user