#!/usr/bin/env bash

if (($# != 3)); then
  echo "usage: $0 <cache/cache group> <cache pattern> <token type>"
  exit 1
fi

cache="$1"
cache_pattern="$2"
token_type="$3"

case $token_type in
"cache-creator")
  atticd-atticadm make-token --sub "$cache-cache-creator" --validity "1y" \
    --pull "$cache_pattern" --push "$cache_pattern" --delete "$cache_pattern" \
    --create-cache "$cache_pattern" --configure-cache "$cache_pattern" \
    --configure-cache-retention "$cache_pattern" --destroy-cache "$cache_pattern"
  ;;
"admin")
  atticd-atticadm make-token --sub "$cache-admin" --validity "1y" --pull "$cache_pattern" \
    --push "$cache_pattern" --configure-cache "$cache_pattern" \
    --configure-cache-retention "$cache_pattern"
  ;;
"writer")
  atticd-atticadm make-token --sub "$cache-writer" --validity "1y" --pull "$cache_pattern" \
    --push "$cache_pattern"
  ;;
"reader")
  atticd-atticadm make-token --sub "$cache-reader" --validity "1y" --pull "$cache_pattern"
  ;;
*)
  echo "invalid token type: $token_type"
  echo "available options: cache-creator, admin, writer, reader"
  exit 1
  ;;
esac