#!/bin/sh

. "${IPKG_INSTROOT}"/lib/functions.sh

REMOVEDEFAULTNOTIFY=0
SKIPADDSYSLOG=0
SKIPADDEXEC=0
SKIPADDNOTIFYCMD=0

upsmon() {
	local cfg="$1"
	local val

	config_get val "$cfg" notifycmd
	if [ -n "$val" ]; then
		SKIPADDNOTIFYCMD=1
	fi

	config_get val "$cfg" defaultnotify
	if [ -n "$val" ]; then
		if echo "$val" |grep -q "IGNORE"; then
			REMOVEDEFAULTNOTIFY=1
		else
			SKIPADDSYSLOG=1
			if echo "$val" |grep -q "EXEC"; then
				SKIPADDEXEC=1
			fi
		fi
	fi
}

config_load nut_monitor
config_foreach upsmon upsmon

uci set nut_monitor.@upsmon[-1]=upsmon

if [ "$SKIPADDNOTIFYCMD" != "1" ]; then
	uci set nut_monitor.@upsmon[-1].notifycmd=/usr/sbin/upssched
fi

if [ "$REMOVEDEFAULTNOTIFY" = "1" ]; then
	uci delete nut_monitor.@upsmon[-1].defaultnotify || true
fi

if [ "$SKIPADDEXEC" != "1" ]; then
	uci add_list nut_monitor.@upsmon[-1].defaultnotify="EXEC"
fi

if [ "$SKIPADDSYSLOG" != "1" ]; then
	uci add_list nut_monitor.@upsmon[-1].defaultnotify="SYSLOG"
fi

uci commit nut_monitor