#!/bin/sh
# shellcheck disable=SC1091
# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :

set -e

. /lib/overthebox

otb_info "Subscribing to the overthebox service..."

ret="$(ubus call network.interface dump | jq \
	--arg board "$(cat /tmp/sysinfo/board_name)" \
	--arg macaddr "$(cat /sys/class/net/eth0/address)" \
	'.interface // []
		| map(select(.interface == "lan" or .device == "lan"))
		| map(."ipv4-address"[0].address)
		| {private_ips: .}
		+ {board: $board, macaddr: $macaddr}' \
			| otb_call POST subscribe -d@-)"

device_id="$(echo "$ret" | jq '.device_id')"
if [ "$device_id" = "null" ] || [ -z "$device_id" ]; then
	otb_crit "Failed to get device_id"
	exit
fi

echo "$ret" | jq -r '"
set overthebox.me=config
set overthebox.me.service=\(.service // "")
set overthebox.me.device_id=\(.device_id)
set overthebox.me.token=\(.token)
set overthebox.me.jwt=\(.jwt)
commit overthebox
"' | uci -q batch
