#!/bin/sh

while getopts ":r" opt; do
  case $opt in
    r)
      export APP_URL=`heroku info --raw | sed -n 's/^web_url=\(.*\)$/\1/p'`
      ;;
    \?)
      echo "Invalid option: -$OPTARG" >&2
      ;;
  esac
  shift
done

APP_URL=${APP_URL:="http://localhost:8080/"}
REST_ENDPOINT="${APP_URL}api/todos"
CURL_OPTS="--verbose --fail -H Accept:application/json -H Content-Type:application/json"

list() {
  curl ${CURL_OPTS} ${REST_ENDPOINT}
}

make() {
  TITLE=$1
  curl -d "{ \"title\" :\"${TITLE}\"}" ${CURL_OPTS} ${REST_ENDPOINT} 
}

remove() {
  ID=$1
  REST_ENDPOINT="${REST_ENDPOINT}/${ID}"
  curl -X DELETE ${CURL_OPTS} ${REST_ENDPOINT} 
}

usage() {
  echo "Usage: $0 { list | mk | rm }"
}

if [ "$1" == "" ]; then
  usage
  exit 1
fi


case "$1" in
  list)
    list
    ;;

  mk)
    if [ "$2" == "" ]; then usage; echo "  mk \"text\""; exit 1; fi
    make "$2"
    ;;
  rm)
    if [ "$2" == "" ]; then usage; echo "  rm {id}"; exit 1; fi
    remove "$2"
    ;;
  *)
    usage
    ;;
esac
