#ADDR=api-fema.ekatgortrans.ru:39080 #ADDR=https://api.fema.krbl.ru #ADDR=62.217.183.88:8080 ADDR=0.0.0.0:8080 LOGIN=admin PASSWORD=admin #PASSWORD=IR7?BoouErjhXsxg #PASSWORD=ra8KvcMxS2baUxe* #MASTER_CODE=685658 MASTER_CODE=111111 #set -x H="-H \"Authorization: Bearer $(cat tmp.token)\"" if [[ $1 == "login" ]]; then # Login RESP=$(curl -X POST -H "Content-Type: application/json" -d "{ \"login\": \"$LOGIN\", \"password\": \"$PASSWORD\" }" "$ADDR/auth/signin") # if [[ $(echo $RESP | jq '.message') != "\"OK\"" ]]; then # echo "Failed to login" # echo $RESP | jq '.error' # exit 1 # fi # # # 2FA # RESP=$(curl -X POST -H "Content-Type: application/json" "$ADDR/auth/2fa?login=$LOGIN&code=$MASTER_CODE") if [[ $(echo $RESP | jq '.message') != "\"OK\"" ]]; then echo "Failed to login" echo $RESP | jq '.error' exit 1 fi echo "Login success!" echo $RESP | jq ".data" | tr -d "\"" > tmp.token elif [[ $1 == "update-user" ]]; then curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" \ -d "{\"username\": \"admin\", \"email\": \"yotia@unprism.ru\", \"full_name\": \"oaf\", \"is_admin\": true}" \ "$ADDR/auth/updateUser" elif [[ $1 == "users" ]]; then curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" "$ADDR/system/getUsers" elif [[ $1 == "devices" ]]; then curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" "$ADDR/data/getDevices" elif [[ $1 == "devices-serial" ]]; then curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" "$ADDR/data/getDevices" | jq ".devices[] | .SERIAL" | tr -d "\"" elif [[ $1 == "devices-serial-with-reg" ]]; then curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" "$ADDR/data/getDevices" | jq ".devices[] | (.SERIAL) +\" -- \"+ (.REG_NUMBER)" | tr -d "\"" elif [[ $1 == "devices-status" ]]; then curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" "$ADDR/data/getDevices" | jq ".devices[] | (.SERIAL) +\" -- \"+ (.IS_CONNECTED|tostring)+\" -- \"+ (.REG_NUMBER)" | tr -d "\"" elif [[ $1 == "export-backup" ]]; then curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" \ -d '{ "startTime": 1758880189, "endTime": 1753024741 }' \ "$ADDR/data/backup/export" --output export.zip elif [[ $1 == "export-logs" ]]; then curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" \ -d '{ "devices": ["KerbClientEmulat"], "start": 1, "end": 1748442522, "timezone": "GMT+03:00"}' \ "$ADDR/data/logs/exportLogsReport" | jq elif [[ $1 == "get-from-redis" ]]; then curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" \ "$ADDR/data/getDataFromRedis?fileID=$2" elif [[ $1 == "alarms-amount" ]]; then curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" \ -d '{ "devices": ["A56AF66F17D902B8"], "start_time": 1757890398, "end_time": 1757892398 }' \ "$ADDR/data/alarms/getAlarmsAmount" | jq elif [[ $1 == "alarms" ]]; then curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" \ -d '{ "devices": ["A56AF66F17D902B8"], "start_time": 1757890398, "end_time": 1757892398, "page_number": 1, "page_size": 30}' \ "$ADDR/data/alarms/getAlarms" | jq elif [[ $1 == "sensor-data" ]]; then curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" \ -d "{ \"device\": \"A56AF66F17D902B8\", \"sensor\": \"TEMPERATURE/85\", \"start\": $(($(date +%s)-1000)), \"end\": $(date +%s), \"skip\": 1 }" \ "$ADDR/data/sensors/getDeviceSensorData" | jq elif [[ $1 == "factory-models" ]]; then if [[ $2 == "" ]]; then echo "No serial presented" exit 1 fi curl -X GET -s -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" -d "{ \"ids\": $2 }" "$ADDR/data/getFactoryModels" | jq elif [[ $1 == "grouped-sensors" ]]; then if [[ $2 == "" ]]; then echo "No serial presented" exit 1 fi curl -X POST -s -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" -d "{ \"devices\": [\"$2\"] }" "$ADDR/data/sensors/getGroupedDevicesSensors" | jq elif [[ $1 == "multi-device-sensors" ]]; then if [[ $2 == "" ]]; then echo "No group presented" exit 1 fi if [[ $3 == "" ]]; then echo "No devices presented" exit 1 fi curl -X POST -s -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" -d "{ \"group\": \"$2\", \"devices\": [$3] }" "$ADDR/data/sensors/getMultiDeviceSensors" | jq elif [[ $1 == "device-params-v2" ]]; then if [[ $2 == "" ]]; then echo "No serial presented" exit 1 fi curl -X POST -s -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" -d "{ \"serial\": \"$2\" }" "$ADDR/settings/deviceSettingsV2" | jq elif [[ $1 == "connected-chart" ]]; then curl -X POST -s -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" \ -d "{ \"start_time\": 1757867195, \"end_time\": 1757937195 }" "$ADDR/data/getConnectedDevicesChart" | jq elif [[ $1 == "connected-chart-v2" ]]; then curl -X GET -s -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" \ "$ADDR/data/getConnectedDevicesChartV2" | jq elif [[ $1 == "device-params" ]]; then if [[ $2 == "" ]]; then echo "No serial presented" exit 1 fi curl -X POST -s -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" -d "{ \"serial\": \"$2\" }" "$ADDR/settings/deviceSettings" | jq elif [[ $1 == "set-device-params" ]]; then if [[ $2 == "" ]]; then echo "No params file presenter" exit 1 fi SERIAL=$(cat $2 | jq ".SERIAL") if [[ $SERIAL == "" ]]; then echo "File does not contain serial" exit 1 fi echo "Settings device params for $SERIAL" curl -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" "$ADDR/settings/deviceSettings" --data-binary @"$2" elif [[ $1 == "set-device-params-v2" ]]; then if [[ $2 == "" ]]; then echo "No params file presenter" exit 1 fi SERIAL=$(cat $2 | jq ".serial") if [[ $SERIAL == "" ]]; then echo "File does not contain serial" exit 1 fi echo "Settings device params for $SERIAL" curl -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" "$ADDR/settings/deviceSettingsV2" --data-binary @"$2" elif [[ $1 == "set-ips" ]]; then if [[ $2 == "" ]]; then echo "No serial provided" exit 1 fi if [[ $3 == "" ]]; then echo "No ips provided" exit 1 fi curl -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer $(cat tmp.token)" -d "{ \"serial\": \"$2\", \"ips\": $3 }" "$ADDR/settings/ips" else echo "Invalid method" exit 1 fi