#!/bin/bash

if [ $# -ne 1 ]; then
    echo $0: usage: create-controller url
    exit 1
fi
file=/home/pi/device-id
if IFS= read -r varname; then
    url=$1
    parameters="?updloader=1"
    if [ -e conf ] || [ -e wpa_supplicant ] || [ -e controller ]; then
    	    echo "conf, wpa_supplicant or controller directory already exist - clean up first"
    else
    	    if [ -e network ]; then
		    mkdir conf
		    echo 0 > state
		    echo 2 > power
		    mkdir wpa_supplicant
		    sudo touch wpa_supplicant/reboot
		    sudo chmod 666 wpa_supplicant/reboot
		    sudo echo 0 > wpa_supplicant/reboot
		    sudo touch wpa_supplicant/wpa_supplicant.conf
		    sudo chmod 666 wpa_supplicant/wpa_supplicant.conf
		    echo "country=GP" > wpa_supplicant/wpa_supplicant.conf
		    echo "ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev" >> wpa_supplicant/wpa_supplicant.conf
		    echo "update_config=1" >> wpa_supplicant/wpa_supplicant.conf
		    cd /home/pi/network
		    ln -s ./interfaces-normal ./interfaces
		    ln -s ./dhcpcd-normal.conf ./dhcpcd.conf
		    ln -s ./dnsmasq-normal.conf ./dnsmasq.conf
		    chmod u+x toapd.sh
		    chmod u+x tonormal.sh
		    cd /home/pi
		    #mkdir network-bu
		    #cp -d network/* network-bu/
		    mkdir controller
		    cd controller
		    wget -O updater-loader.py $url$parameters
		    python3 updater-loader.py
		    python3 update.py $varname
		    if [[ $? == 0 ]]; then
			cd code
			ln -s ../../conf
			ln -s ../../state
			ln -s ../../power
			ln -s ../../network
			ln -s ../../wpa_supplicant
			ln -s ../../features.json
			ln -s ../../device-id
			ln -s /var/run/lirc lircpid
			chmod u+x record.sh
			chmod u+x update.sh
			cd www
			sudo ln -s ../../../wpa_supplicant
			sudo ln -s ../../../device-id
			cd html
			sudo touch accesspoints.json
			sudo echo "{}" > accesspoints.json
			sudo chown www-data:www-data accesspoints.json
			cd ../../../../
			#cp -d network-bu/* network/
		    else
			echo UpdateFailed
		    fi
	else
		echo "network directory missing, re-install scripts"
	fi
    fi    
fi < "$file"
