#!/bin/bash
#
# JetBackup @ package
# List currently-active authentication lockouts.
#
# Any extra arguments are forwarded to jetbackup5api unchanged so that
# pagination flags such as `-D 'limit=20&skip=0'` keep working.
#

JBAPI=/usr/bin/jetbackup5api

RESPONSE=$( "$JBAPI" -F Panel/ListAuthThrottle "$@" )
RESULT=$( echo "${RESPONSE}" | grep '^success:' | sed 's/^success:\s//' )

if [[ $RESULT -ne 1 ]]; then
	echo "${RESPONSE}" | grep '^message:' | sed 's/^message:\s//'
	exit 1
fi

TOTAL=$( echo "${RESPONSE}" | grep '^\s\+total:' | sed 's/^\s\+total:\s//' | head -n1 )

if [[ -z "${TOTAL}" ]] || [[ "${TOTAL}" -eq 0 ]]; then
	echo "No active authentication lockouts."
	exit 0
fi

echo "Active authentication lockouts: ${TOTAL}"

echo "${RESPONSE}" | awk '
	/^    [0-9]+:[[:space:]]*$/ { print ""; next }
	/^      / { sub(/^      /, "  "); print }
'
