#!/bin/bash

#  Copyright (c) 2016, Oracle and/or its affiliates.  All rights reserved.
#  
#  This software is dual-licensed to you under the MIT License (MIT) and
#  the Universal Permissive License (UPL).  See the LICENSE file in the root
#  directory for license terms.  You may choose either license, or both.
#  

# REGISTER A NEW DEVICE
# other fields like manufactory, serialNumber etc. can be added in payload 
if [[ "$1" == '--help' || "$1" == '-h' ]]
	then
	echo "register-device usage: ./register-device ACTIVATION_ID SECRET DEVICE_NAME IOT_USERNAME IOT_PASSWORD IOTSERVER PORT"
	exit 0
fi

echo "============================================================================================"
echo "Step 2: Register a single device"
echo "Generating a new device...You can find your device either in 'json/device.json' or iot dashboard->Devices->Management"
if [ -n "$ACTIVATION_ID" ] && [ -n "$SHARED_SECRET_BASE64" ] && [ -n "DEVICE_NAME" ] && [ -n "$IOT_USERNAME" ] && [ -n "$IOT_PASSWORD" ] && [ -n "$IOTSERVER" ] && [ -n "$PORT" ]
then
	echo -e '\nPayload: '
	echo '{"hardwareId":"'"$ACTIVATION_ID"'","sharedSecret":"'"$SHARED_SECRET_BASE64"'","name":"'"$DEVICE_NAME"'"}' | tee ../json/device_payload.json
	echo -e '\ncURL command: '
	echo -e "curl -s -X POST -H \"Accept:application/json\" -H \"Content-Type: application/json\" -u $IOT_USERNAME:$IOT_PASSWORD --data @../json/device_payload.json \"$IOTSERVER:$PORT/iot/api/v2/devices/\" | tee ../json/device.json"
	echo -e '\nResponse: '
	curl -s -X POST -H "Accept:application/json" -H "Content-Type: application/json" -u $IOT_USERNAME:$IOT_PASSWORD --data @../json/device_payload.json "$IOTSERVER:$PORT/iot/api/v2/devices/"  | tee ../json/device.json
elif [ $# -eq 7 ]
then
	echo -e '\nPayload: '
	SHARED_SECRET_BASE64=$(echo -n $2 | base64)
	echo '{"hardwareId":"'"$1"'","sharedSecret":"'"$SHARED_SECRET_BASE64"'","name":"'"$3"'"}' | tee ../json/device_payload.json
	echo -e '\ncURL command: '
	echo -e "curl -s -X POST -H \"Accept:application/json\" -H \"Content-Type: application/json\" -u $4:$5 --data @../json/device_payload.json \"$6:$7/iot/api/v2/devices/\" | tee ../json/device.json"
	echo -e '\nResponse: '
	curl -s -X POST -H "Accept:application/json" -H "Content-Type: application/json" -u $4:$5 --data @../json/device_payload.json "$6:$7/iot/api/v2/devices/"  | tee ../json/device.json
	echo
else
	echo "register-device usage: ./register-device ACTIVATION_ID SECRET DEVICE_NAME IOT_USERNAME IOT_PASSWORD IOTSERVER PORT"
	exit 1
fi
echo