#!/usr/bin/env bash
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/config"
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/functions"

service-info-cmd() {
  #E get connection information as follows:
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop
  #E you can also retrieve a specific piece of service info via flags:
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --config-dir
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --data-dir
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --dsn
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --exposed-ports
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --id
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --internal-ip
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --initial-network
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --links
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --post-create-network
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --post-start-network
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --service-root
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --status
  #E dokku $PLUGIN_COMMAND_PREFIX:info lollipop --version
  #A service, service to run command against
  #F --config-dir, show the service configuration directory
  #F --data-dir, show the service data directory
  #F --dsn, show the service DSN
  #F --exposed-ports, show service exposed ports
  #F --id, show the service container id
  #F --internal-ip, show the service internal ip
  #F --initial-network, show the initial network being connected to
  #F --links, show the service app links
  #F --post-create-network, show the networks to attach to after service container creation
  #F --post-start-network, show the networks to attach to after service container start
  #F --service-root, show the service root directory
  #F --status, show the service running status
  #F --version, show the service image version
  declare desc="print the service information"
  local cmd="$PLUGIN_COMMAND_PREFIX:info" argv=("$@")
  [[ ${argv[0]} == "$cmd" ]] && shift 1
  declare SERVICE="$1" INFO_FLAG="$2"

  [[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a valid name for the service"
  verify_service_name "$SERVICE"
  service_info "$SERVICE" "$INFO_FLAG"
}

service-info-cmd "$@"
