#!/bin/sh

##
# Script to deploy a docker image. Must return exit code 0
#
do_exit() {
    message="$1"
    exit_code="$2"

    echo "$message"
    exit $exit_code
}


##
# Get file, get's a file, validates the SHA
# @param filename
# @param expected sha value
# @returns 0 if successful, -1 of checksum validation failed.
#
get_file () {
    [ -n "$1" ] && url=$1 || do_exit "url required" 1
    [ -n "$2" ] && dest=$2 || do_exit "destination required" 2
    sha=$3
    file=$(basename $dest)

    curl -fL "${url}" -o "$dest"
    if [ -n "$sha" ]; then
        echo "$sha  $dest" | sha256sum || do_exit "Checksum validation failed for $file. Exiting" 1
    fi
}

untar_file () {
    [ -n "$1" ] && src=$1 || do_exit "src required" 1
    [ -n "$2" ] && dest=$2 || dest="/usr/local"

    tar -C "$dest" -xf "$src" && /bin/rm -rf "$src"
}

##
# WIP: Just started this and not finished.
# The intent it to download a release from a git repo,
# compile, and install
get_latest_release () {
	tarsrc=$(curl -sL "https://api.github.com/repos/$1/$2/releases/latest" | jq ".tarball_url" | tr -d '"')
	curl -fL -o /tmp/autoretrieved.tar.gz "$tarsrc"
	origdir=$PWD
	reponame=$(tar zxvf autoretrieved.tar.gz | tail -1 | awk -F / '{print $1}')
	cd "/tmp/$reponame"
	#perform compile
	cd $origdir
}
