#!/bin/bash

set -eu

dir="${1}"
user_group="${2}"
perms="${3}"

die() {
  echo "ERROR: $*" >&2
  exit 1
}

usage() {
  echo "usage: $0 DIR USER:GROUP PERMS_MODE"
  echo "   eg: $0 /ngcp-data/some-service some:some 0750"
}

if [[ -z "${1:-}" ]] || [[ -z "${2:-}" ]] || [[ -z "${3:-}" ]]; then
  usage
  echo
  die "missing or empty arguments: 1='${1}' 2='${2}' 3='${3}'"
fi

if [[ ! -d "${dir}" ]]; then
  die "does not exist or not a dir: ${dir}"
fi

chown -v "${user_group}" "${dir}"

if [[ -n "${perms}" ]]; then
  chmod -v "${perms}" "${dir}"
fi
