mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralsec.git
synced 2025-10-29 09:52:29 +00:00
590 lines
19 KiB
Bash
Executable File
590 lines
19 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#
|
|
# License type: BSD 3-Clause License
|
|
# License copy: https://github.com/Telecominfraproject/wlan-cloud-UCENTRALSEC/blob/master/LICENSE
|
|
#
|
|
# Created by Stephane Bourque on 2021-03-04.
|
|
# Arilia Wireless Inc.
|
|
#
|
|
|
|
if [[ "$(which jq)" == "" ]]
|
|
then
|
|
echo "You need the package jq installed to use this script."
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "$(which curl)" == "" ]]
|
|
then
|
|
echo "You need the package curl installed to use this script."
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "${OWSEC}" == "" ]]
|
|
then
|
|
echo "You must set the variable OWSEC in order to use this script. Something like"
|
|
echo "OWSEC=myauthgateway.isp.com:16001"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "${FLAGS}" == "" ]]
|
|
then
|
|
FLAGS="-s"
|
|
fi
|
|
|
|
token=""
|
|
result_file=result.json
|
|
browser_list=(firefox sensible-browser xdg-open w3m links links2 lynx youtube-dl)
|
|
browser=""
|
|
|
|
if [ -z ${OWSEC_USERNAME+x} ]; then
|
|
username="script.runner@arilia.com"
|
|
else
|
|
username=${OWSEC_USERNAME}
|
|
fi
|
|
if [ -z ${OWSEC_PASSWORD+x} ]; then
|
|
password="Snoopy99!!!"
|
|
else
|
|
password=${OWSEC_PASSWORD}
|
|
fi
|
|
|
|
login() {
|
|
payload="{ \"userId\" : \"$username\" , \"password\" : \"$password\" }"
|
|
token=$(curl ${FLAGS} -X POST -H "Content-Type: application/json" -d "$payload" "https://${OWSEC}/api/v1/oauth2" | jq -r '.access_token')
|
|
|
|
if [[ "${token}" == "" ]]
|
|
then
|
|
echo "Could not login. Please verify the host and username/password."
|
|
exit 13
|
|
fi
|
|
echo "${token}" > token.json
|
|
}
|
|
|
|
testlogin() {
|
|
payload="{ \"userId\" : \"$1\" , \"password\" : \"$2\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/oauth2" \
|
|
-H "Content-Type: application/json" \
|
|
-d "$payload" > ${result_file}
|
|
userMustChangePassword=$(cat ${result_file} | jq -r '.ErrorCode')
|
|
if [[ ${userMustChangePassword} == "1" ]]
|
|
then
|
|
echo "User must change password to login..."
|
|
if [[ "$3" == "" ]]
|
|
then
|
|
echo "Please supply your new password too..."
|
|
exit 1
|
|
fi
|
|
payload="{ \"userId\" : \"$1\" , \"password\" : \"$2\", \"newPassword\" : \"$3\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/oauth2" \
|
|
-H "Content-Type: application/json" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
elif [[ "$3" != "" ]]
|
|
then
|
|
payload="{ \"userId\" : \"$1\" , \"password\" : \"$2\", \"newPassword\" : \"$3\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/oauth2" \
|
|
-H "Content-Type: application/json" \
|
|
-d "$payload" > ${result_file}
|
|
token=$(cat ${result_file} | jq -r '.access_token')
|
|
else
|
|
payload="{ \"userId\" : \"$1\" , \"password\" : \"$2\" }"
|
|
token=$(curl ${FLAGS} -X POST -H "Content-Type: application/json" -d "$payload" "https://${OWSEC}/api/v1/oauth2" | jq -r '.access_token')
|
|
fi
|
|
jq < ${result_file}
|
|
}
|
|
|
|
emailtest() {
|
|
payload="{ \"userId\" : \"$1\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/oauth2?forgotPassword=true" \
|
|
-H "Content-Type: application/json" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
findbrowser() {
|
|
if [[ "${browser}" != "" ]]
|
|
then
|
|
echo
|
|
elif [[ "$(uname)" == "Darwin" ]]
|
|
then
|
|
browser=open
|
|
else
|
|
BROWSER_LIST=(firefox sensible-browser xdg-open w3m links links2 lynx youtube-dl)
|
|
for br_name in "${browser_list[@]}"
|
|
do
|
|
if [[ $(which ${br_name}) != "" ]]
|
|
then
|
|
browser=${br_name}
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
}
|
|
|
|
logout() {
|
|
curl ${FLAGS} -X DELETE -H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
"https://${OWSEC}/api/v1/oauth2/${token}"
|
|
token=""
|
|
rm -rf token.json
|
|
}
|
|
|
|
me() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/oauth2?me=true" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
listendpoints() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/systemEndpoints" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" > ${result_file}
|
|
jq < ${result_file}
|
|
|
|
for index in {0..10}
|
|
do
|
|
endpointlocation=".endpoints[${index}].uri"
|
|
endpointlocationtype=".endpoints[${index}].type"
|
|
rawurl="$(cat ${result_file} | jq -r ${endpointlocation})"
|
|
svctype="$(cat ${result_file} | jq -r ${endpointlocationtype})"
|
|
proto="$(echo $rawurl | grep :// | sed -e's,^\(.*://\).*,\1,g')"
|
|
url="$(echo ${rawurl/$proto/})"
|
|
user="$(echo $url | grep @ | cut -d@ -f1)"
|
|
hostport="$(echo ${url/$user@/} | cut -d/ -f1)"
|
|
host="$(echo $hostport | sed -e 's,:.*,,g')"
|
|
port="$(echo $hostport | sed -e 's,^.*:,:,g' -e 's,.*:\([0-9]*\).*,\1,g' -e 's,[^0-9],,g')"
|
|
path="$(echo $url | grep / | cut -d/ -f2-)"
|
|
if [[ ${url} != "null" ]]
|
|
then
|
|
if [[ ${svctype} == "ucentralgw" ]]
|
|
then
|
|
echo "url: $url"
|
|
echo " proto: $proto"
|
|
echo " user: $user"
|
|
echo " host: $host"
|
|
echo " port: $port"
|
|
echo " path: $path"
|
|
UCENTRALGW=$host
|
|
break
|
|
fi
|
|
fi
|
|
done
|
|
}
|
|
|
|
getlogo() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/wwwassets/logo.png"
|
|
}
|
|
|
|
createuser() {
|
|
case $3 in
|
|
root|admin|subscriber|csr|system|installer|noc|accounting)
|
|
payload="{ \"id\": \"0\", \"email\" : \"$1\", \"currentPassword\" : \"$2\", \"changePassword\" : true, \"userRole\" : \"$3\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/user/0" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file} ;;
|
|
*)
|
|
echo "Error: userRole has to be one of root|admin|subscriber|csr|system|installer|noc|accounting"
|
|
exit 1 ;;
|
|
esac
|
|
}
|
|
|
|
createsub() {
|
|
payload="{ \"id\": \"0\", \"email\" : \"$1\", \"currentPassword\" : \"$2\", \"changePassword\" : false, \"userRole\" : \"subscriber\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/subuser/0" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
createuser_v() {
|
|
case $3 in
|
|
root|admin|subscriber|csr|system|installer|noc|accounting)
|
|
payload="{ \"id\": \"0\", \"email\" : \"$1\", \"currentPassword\" : \"$2\", \"changePassword\" : true, \"userRole\" : \"$3\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/user/0?email_verification=true" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file} ;;
|
|
*)
|
|
echo "Error: userRole has to be one of root|admin|subscriber|csr|system|installer|noc|accounting"
|
|
exit 1 ;;
|
|
esac
|
|
}
|
|
|
|
deleteuser() {
|
|
curl ${FLAGS} -X DELETE "https://${OWSEC}/api/v1/user/$1" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
deletesub() {
|
|
curl ${FLAGS} -X DELETE "https://${OWSEC}/api/v1/subuser/$1" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
getuser() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/user/$1" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
getsub() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/subuser/$1" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
getuserbyemail() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/user/${1}?byEmail=true" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
getsubbyemail() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/subuser/${1}?byEmail=true" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
listusers() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/users" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
listsubs() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/subusers" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
policies() {
|
|
payload="{}"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/oauth2?requirements=true" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
setavatar() {
|
|
curl ${FLAGS} -F 'data=@$2' "https://${OWSEC}/api/v1/avatar/$1" \
|
|
-H "Authorization: Bearer ${token}" > ${result_file};
|
|
jq < ${result_file}
|
|
}
|
|
|
|
getavatar() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/avatar/$1" \
|
|
-H "accept: application/octet-stream" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-o "user.svg"
|
|
}
|
|
|
|
deleteavatar() {
|
|
curl ${FLAGS} -X DELETE "https://${OWSEC}/api/v1/avatar/$1" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
sendemail() {
|
|
payload="{ \"recipients\" : [ \"$1\" ] , \"subject\" : \"test1\" , \"from\" : \"$2\" , \"text\" : \"This is a test from SES.\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/email" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
sendsms() {
|
|
payload="{ \"to\" : \"$1\" , \"text\" : \"$2\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/sms" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
setpreferences() {
|
|
payload="{ \"data\" : [ { \"tag\" : \"${1}\" , \"value\" : \"${2}\" } ] }"
|
|
echo ${payload}
|
|
curl ${FLAGS} -X PUT "https://${OWSEC}/api/v1/preferences" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
getpreferences() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/preferences" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
getauthqrcode() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/totp" \
|
|
-H "Accept: application/json" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${token}" > ${result_file}
|
|
-o qrcode.svg
|
|
}
|
|
|
|
testlogout() {
|
|
echo "Logged in..."
|
|
oldtoken=${token}
|
|
listusers
|
|
logout
|
|
echo "Logged out..."
|
|
token=${oldtoken}
|
|
echo "This should be en error"
|
|
listusers
|
|
}
|
|
|
|
setloglevel() {
|
|
payload="{ \"command\" : \"setloglevel\" , \"subsystems\" : [ { \"tag\" : \"$1\" , \"value\" : \"$2\" } ] }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/system" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Accept: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload"
|
|
}
|
|
|
|
getloglevels() {
|
|
payload="{ \"command\" : \"getloglevels\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/system" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Accept: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload"
|
|
}
|
|
|
|
getloglevelnames() {
|
|
payload="{ \"command\" : \"getloglevelnames\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/system" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Accept: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload"
|
|
}
|
|
|
|
getsubsystemnames() {
|
|
payload="{ \"command\" : \"getsubsystemnames\" }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/system" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Accept: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload"
|
|
}
|
|
|
|
systeminfo() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/system?command=info" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Accept: application/json" \
|
|
-H "Authorization: Bearer ${token}" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
reloadsubsystem() {
|
|
payload="{ \"command\" : \"reload\", \"subsystems\" : [ \"$1\" ] }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/system" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Accept: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload"
|
|
}
|
|
|
|
check_response() {
|
|
|
|
if [ -s "$1" ]; then
|
|
ERROR_CODE="$(jq -r '.ErrorCode' < $1)"
|
|
|
|
if [[ -n "$ERROR_CODE" && "$ERROR_CODE" != 'null' ]]; then
|
|
echo "Error: got HTTP error code $ERROR_CODE, exiting"
|
|
exit 1
|
|
fi
|
|
|
|
else
|
|
echo "Error: result file not found or empty"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
createapikey() {
|
|
payload="{ \"name\" : \"test1\" , \"expiresOn\" : 1699393386 }"
|
|
curl ${FLAGS} -X POST "https://${OWSEC}/api/v1/apiKey/$1" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Accept: application/json" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-d "$payload" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
deleteapikey() {
|
|
curl ${FLAGS} -X DELETE "https://${OWSEC}/api/v1/apiKey/$1?keyUuid=$2" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Accept: application/json" \
|
|
-H "Authorization: Bearer ${token}" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
getapikey() {
|
|
curl ${FLAGS} -X GET "https://${OWSEC}/api/v1/apiKey/$1" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Accept: application/json" \
|
|
-H "Authorization: Bearer ${token}" > ${result_file}
|
|
jq < ${result_file}
|
|
}
|
|
|
|
|
|
test_service() {
|
|
echo
|
|
echo "----------------------"
|
|
echo "Get system information"
|
|
echo "----------------------"
|
|
systeminfo
|
|
check_response $result_file
|
|
|
|
echo
|
|
echo "----------------"
|
|
echo "Create test user"
|
|
echo "----------------"
|
|
createuser testuser@mail.telecominfraproject.com 'Test123!' accounting
|
|
check_response $result_file
|
|
USER_ID="$(jq -r '.id' < $result_file)"
|
|
|
|
if [[ $USER_ID == null ]]; then
|
|
USER_ID="$(jq -r '.Id' < $result_file)"
|
|
fi
|
|
|
|
echo
|
|
echo "-------------"
|
|
echo "Get test user"
|
|
echo "-------------"
|
|
getuser $USER_ID
|
|
check_response $result_file
|
|
|
|
echo
|
|
echo "----------------"
|
|
echo "Delete test user"
|
|
echo "----------------"
|
|
deleteuser $USER_ID
|
|
# check_response $result_file
|
|
USER_STATUS="$(jq -r '.ErrorCode' < $result_file)"
|
|
|
|
if [ "$USER_STATUS" == 404 ]; then
|
|
echo "Error: failed to delete test user, HTTP error code 404"
|
|
else
|
|
echo "Successfully deleted test user"
|
|
fi
|
|
}
|
|
|
|
help() {
|
|
echo
|
|
echo "Usage: cli <cmd> [args]"
|
|
echo
|
|
echo "listendpoints Get all the system endpoints."
|
|
echo "emailtest Generate a forgot Password e-amil to the logged in user."
|
|
echo "me Show information about the logged user."
|
|
echo "createuser <email> <password> <userrole> Create a user with an initial password and force the user to change password."
|
|
echo "createuser_v <email> <password> <userrole> Same as create user but also force an e-mail verification."
|
|
echo "deleteuser <user UUID> Delete the user."
|
|
echo "getuser <user UUID> Get the user information."
|
|
echo "listusers List users."
|
|
echo "policies List the login and access policies."
|
|
echo "setavatar <user UUID> <filename> Sets the avatar for user to the image in filename."
|
|
echo "getavatar <user UUID> Get the avatar for the user."
|
|
echo "deleteavatar <user UUID> Remove the avatar for a user."
|
|
echo "sendemail <recipient> <from> Sends a test email to see if the e-mail system is working."
|
|
echo "setloglevel <subsystem> <loglevel> Set the log level for s specific subsystem."
|
|
echo "getloglevels Get the current log levels for all subsystems."
|
|
echo "getloglevelnames Get the log level names available."
|
|
echo "getsubsystemnames Get the list of subsystems."
|
|
echo "systeminfo Get basic system information."
|
|
echo "reloadsubsystem <subsystem name> Reload the configuration for a subsystem."
|
|
echo "test_service Run a set of CLI commands for testing purposes"
|
|
echo
|
|
}
|
|
|
|
shopt -s nocasematch
|
|
|
|
case "$1" in
|
|
"createuser") login; createuser "$2" "$3" "$4"; logout;;
|
|
"createsub") login; createsub "$2" "$3"; logout;;
|
|
"createuser_v") login; createuser_v "$2" "$3" "$4"; logout;;
|
|
"createsub_v") login; createsub_v "$2" "$3"; logout;;
|
|
"deleteuser") login; deleteuser "$2" ; logout;;
|
|
"deletesub") login; deletesub "$2" ; logout;;
|
|
"getuser") login; getuser "$2" ; logout;;
|
|
"getsub") login; getsub "$2" ; logout;;
|
|
"getuserbyemail") login; getuserbyemail "$2" ; logout;;
|
|
"getsubbyemail") login; getsubbyemail "$2" ; logout;;
|
|
"listusers") login; listusers ; logout ;;
|
|
"listsubs") login; listsubs ; logout ;;
|
|
"me") login; me ; logout ;;
|
|
"listendpoints") login; listendpoints ; logout ;;
|
|
"testlogin") testlogin "$2" "$3" "$4";;
|
|
"emailtest") emailtest "$2";;
|
|
"getlogo") getlogo ;;
|
|
"policies") policies ;;
|
|
"setavatar") login; setavatar "$2"; logout;;
|
|
"getavatar") login; getavatar "$2"; logout;;
|
|
"deleteavatar") login; deleteavatar "$2"; logout;;
|
|
"sendemail") login; sendemail "$2" "$3"; logout;;
|
|
"sendsms") login; sendsms "$2" "$3" ; logout;;
|
|
"testlogout") login; testlogout ;;
|
|
"setloglevel") login; setloglevel "$2" "$3" ; logout ;;
|
|
"getloglevels") login; getloglevels; logout ;;
|
|
"getloglevelnames") login; getloglevelnames; logout ;;
|
|
"getsubsystemnames") login; getsubsystemnames; logout ;;
|
|
"reloadsubsystem") login; reloadsubsystem "$2"; logout ;;
|
|
"systeminfo") login; systeminfo ; logout;;
|
|
"setpreferences") login; setpreferences "$2" "$3" ; logout;;
|
|
"getpreferences") login; getpreferences ; logout;;
|
|
"getauthqrcode") login; getauthqrcode; logout;;
|
|
"test_service") login; test_service; logout;;
|
|
"createapikey") login; createapikey "$2" ; logout;;
|
|
"deleteapikey") login; deleteapikey "$2" "$3"; logout;;
|
|
"getapikey") login; getapikey "$2" ; logout;;
|
|
"help") login; help ; logout ;;
|
|
*) help ;;
|
|
esac
|
|
|