#!/bin/bash
# $Id: madmin.sh,v fc290d860b42 2022/01/24 09:19:54 grin $
#(c)Peter Gervai, 2019-21
#
# A simple tool to query the admin API
#
# Require token.sh with a content:
#  export T="MDAxNWxvY2F0aW..."
#

. ./_config.sh

MODE="$1"
CMD="$2"
JSON="$3" || '{}'


if [ "x" = "x$CMD" ]; then
	echo "Usage: $0 <METHOD> <CMD> [<json>]"
	echo "Example: $0 GET /_matrix/client/r0/admin/whois/@grin:grin.hu"
	echo "         $0 GET /_synapse/admin/v1/reset_password/@example:grin.hu '{ \"new_password\": \"12345\" }'"
	echo "         $0 POST /_synapse/admin/v1/send_server_notice '{\"user_id\": \"@grin:matrix.org\", \"content\":{\"msgtype\":\"m.text\",\"body\": \"Hello from server!\"}}'"
	echo "         $0 POST /_synapse/admin/v1/deactivate/@spammer:grin.hu"
	echo "         $0 DELETE '/_synapse/admin/v2/rooms/!YDqJPFEKtBIEGBHqZE:matrix.org' '{ \"block\": true, \"purge\": true }'"
	echo "         $0 GET '/_synapse/admin/v2/rooms/!YDqJPFEKtBIEGBHqZE:matrix.org/delete_status'  | jq"

	exit
fi


#set -x
curl -d "$JSON" -X${MODE} "${SRV}${CMD}?access_token=$T"
#set +x
echo ' '
