More calls to admin API which need access token (list user, list rooms, list room members)
This commit is contained in:
@@ -1,4 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Location of synapse virtual environment
|
||||||
MATRIX_HOME="/opt/synapse"
|
MATRIX_HOME="/opt/synapse"
|
||||||
|
# Corresponds to "server_name" in synapse config
|
||||||
MATRIX_DOMAIN="matrix.example.com"
|
MATRIX_DOMAIN="matrix.example.com"
|
||||||
|
# Provide an admin access token for API calls
|
||||||
|
MATRIX_ACCESS=""
|
||||||
|
131
seqs/matrix.sh
131
seqs/matrix.sh
@@ -182,16 +182,53 @@ step_14() {
|
|||||||
if [ ! -z $1 ]; then
|
if [ ! -z $1 ]; then
|
||||||
synapseIP="$1"
|
synapseIP="$1"
|
||||||
fi
|
fi
|
||||||
exe curl http://${synapseIP}:8008/_synapse/admin/v1/server_version
|
|
||||||
|
local apiCall="http://${synapseIP}:8008/_synapse/admin/v1/server_version"
|
||||||
|
# -sS to suppress download progress of curl
|
||||||
|
exep "curl -sS \"$apiCall\" | python -m json.tool | grep _version"
|
||||||
}
|
}
|
||||||
|
|
||||||
step_16_info() { echo "Create new user"; }
|
step_16_info() {
|
||||||
step_16_alias() { ALIAS="adduser"; }
|
echo "List all registered users [OPTION] [IP]:8008"
|
||||||
|
echoinfo "[OPTION]"
|
||||||
|
echoinfo " -r : Raw json output"
|
||||||
|
}
|
||||||
|
step_16_alias() { ALIAS="listuser"; }
|
||||||
step_16() {
|
step_16() {
|
||||||
|
adminTokenCheck
|
||||||
|
endReturn -o $? "Admin token needed. Check $SEQ_CONFIG_FILE"
|
||||||
|
|
||||||
|
shift
|
||||||
|
local synapseIP=localhost
|
||||||
|
local grepOut=" | grep -E '(\"total\":|\"name\":)'"
|
||||||
|
|
||||||
|
for arg in "$@" ; do
|
||||||
|
case "$1" in
|
||||||
|
-r)
|
||||||
|
grepOut=""
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! -z $1 ]; then
|
||||||
|
synapseIP="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local apiCall="http://${synapseIP}:8008/_synapse/admin/v2/users"
|
||||||
|
exep "curl -sS --header \"Authorization: Bearer $MATRIX_ACCESS\" \"$apiCall\" | python -m json.tool $grepOut"
|
||||||
|
}
|
||||||
|
|
||||||
|
step_18_info() { echo "Create new user"; }
|
||||||
|
step_18_alias() { ALIAS="adduser"; }
|
||||||
|
step_18() {
|
||||||
exe /opt/synapse/env/bin/register_new_matrix_user -c "$MATRIX_HOME/homeserver.yaml" $toolUrlLocal
|
exe /opt/synapse/env/bin/register_new_matrix_user -c "$MATRIX_HOME/homeserver.yaml" $toolUrlLocal
|
||||||
}
|
}
|
||||||
|
|
||||||
step_18_info() {
|
step_20_info() {
|
||||||
shift
|
shift
|
||||||
echo -n "Reset user password"
|
echo -n "Reset user password"
|
||||||
if [ -z $1 ]; then
|
if [ -z $1 ]; then
|
||||||
@@ -200,8 +237,8 @@ step_18_info() {
|
|||||||
echo " for $1"
|
echo " for $1"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
step_18_alias() { ALIAS="resetpw"; }
|
step_20_alias() { ALIAS="resetpw"; }
|
||||||
step_18() {
|
step_20() {
|
||||||
shift
|
shift
|
||||||
local user=
|
local user=
|
||||||
|
|
||||||
@@ -222,6 +259,80 @@ step_18() {
|
|||||||
exep "echo \"$string\" | su postgres -c 'psql -d synapse -f -'"
|
exep "echo \"$string\" | su postgres -c 'psql -d synapse -f -'"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
step_22_info() {
|
||||||
|
echo "List all rooms [OPTION] [IP]:8008"
|
||||||
|
echoinfo "[OPTION]"
|
||||||
|
echoinfo " -r : Raw json output"
|
||||||
|
}
|
||||||
|
step_22_alias() { ALIAS="listrooms"; }
|
||||||
|
step_22() {
|
||||||
|
adminTokenCheck
|
||||||
|
endReturn -o $? "Admin token needed. Check $SEQ_CONFIG_FILE"
|
||||||
|
|
||||||
|
shift
|
||||||
|
local synapseIP=localhost
|
||||||
|
local grepOut=" | grep -E '(\"total\":|\"name\":|\"room_id\":)'"
|
||||||
|
|
||||||
|
for arg in "$@" ; do
|
||||||
|
case "$1" in
|
||||||
|
-r)
|
||||||
|
grepOut=""
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! -z $1 ]; then
|
||||||
|
synapseIP="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local apiCall="http://${synapseIP}:8008/_synapse/admin/v1/rooms"
|
||||||
|
exep "curl -sS --header \"Authorization: Bearer $MATRIX_ACCESS\" \"$apiCall\" | python -m json.tool $grepOut"
|
||||||
|
}
|
||||||
|
|
||||||
|
step_24_info() {
|
||||||
|
echo "List all room members [OPTION] [ROOM ID] [IP]:8008"
|
||||||
|
echoinfo "[OPTION]"
|
||||||
|
echoinfo " -r : Raw json output"
|
||||||
|
}
|
||||||
|
step_24_alias() { ALIAS="listmember"; }
|
||||||
|
step_24() {
|
||||||
|
adminTokenCheck
|
||||||
|
endReturn -o $? "Admin token needed. Check $SEQ_CONFIG_FILE"
|
||||||
|
|
||||||
|
shift
|
||||||
|
local roomId=""
|
||||||
|
local synapseIP=localhost
|
||||||
|
local grepOut=" | grep -E '(\"total\":|\"members\":|\"@)'"
|
||||||
|
|
||||||
|
for arg in "$@" ; do
|
||||||
|
case "$1" in
|
||||||
|
-r)
|
||||||
|
grepOut=""
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! -z $1 ]; then
|
||||||
|
roomId="$1"
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z $1 ]; then
|
||||||
|
synapseIP="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local apiCall="http://${synapseIP}:8008/_synapse/admin/v1/rooms/$roomId/members"
|
||||||
|
exep "curl -sS --header \"Authorization: Bearer $MATRIX_ACCESS\" \"$apiCall\" | python -m json.tool $grepOut"
|
||||||
|
}
|
||||||
|
|
||||||
step_30_info() { echo "Drop postgres database for $toolName"; }
|
step_30_info() { echo "Drop postgres database for $toolName"; }
|
||||||
step_30_alias() { ALIAS="dropdb"; }
|
step_30_alias() { ALIAS="dropdb"; }
|
||||||
step_30() {
|
step_30() {
|
||||||
@@ -288,5 +399,13 @@ toolScript() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# End step if no admin access token is configured
|
||||||
|
adminTokenCheck() {
|
||||||
|
if [ -z $MATRIX_ACCESS ] ; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
VERSION_SEQREV=11
|
VERSION_SEQREV=11
|
||||||
. /usr/local/bin/sequencer.sh
|
. /usr/local/bin/sequencer.sh
|
||||||
|
Reference in New Issue
Block a user