remote_media_killer/matrix-synapse_purge-remote...

39 lines
707 B
Bash

#!/bin/bash
version=0.0.2
UserInput() {
read -r -p "$(echo -e 'Domain:\n')" domain
read -r -p "$(echo -e 'Time:\n')" time
read -r -p "$(echo -e 'Token:\n')" token
}
ExecutePurge() {
echo 'Purging remote media, please wait.'
UntilLoop "https://$1/_synapse/admin/v1/purge_media_cache?before_ts=$2&access_token=$3" "error"
echo 'Error encountered. Please try again.'
}
UntilLoop() {
until curl -X POST "$1" --data '{}' \
grep -m 1 "$2"; do
sleep 1
done
}
UnixTimeMs() {
unix_time_ms="$(($(date -d "$1" +'%s') * 1000))"
}
EchoVersion() {
echo $version
}
main() {
EchoVersion;
UserInput;
UnixTimeMs "$time";
ExecutePurge "$domain" "$unix_time_ms" "$token"
}
main