#!/usr/bin/env bash

database_cli()
{
  local _ignored_args=()

  number_of_args=${#extension_args[@]}

  for (( index=0 ; index < $number_of_args ; index++ ))
  do
    token="${extension_args[$index]}"

    case "$token" in
      --data)
        data_path="${extension_args[$((++index))]}"
        ;;
      --trace)
        set -o xtrace
        ;;
      --help)
        database_usage
        ;;
      *)
        _ignored_args+=("${token}")
        ;;
    esac

    if (( ${#_ignored_args[@]} > 0 ))
    then
      extension_args=( "${_ignored_args[@]}" )
    fi
  done

  # explicitely reload the database module to pickup any CLI overrides.
  modules_reinitialize database
}

database_usage() {
  printf "
  Usage:

  $0 [options]

  options:

  --data)    - specify data directory
  --help)    - view this usage information

  "
  return 0
}

database_setup()
{
  ensure_paths_exist "${data_base_path}"

  if template_exists "/etc/conf.d/${service}.conf"
  then
    seed_template "/etc/conf.d/${service}.conf" \
      data_path "${data_path}"
  fi

  if command_exists "${extension}_database_setup"
  then
    "${extension}_database_setup"
  fi

  if command_exists "${extension}_initialize"
  then
    "${extension}_initialize"
  fi
}

# TODO: Should 'service_db_path' in service_{activate,deactivate} be moved into
# here with database_activate / database_deactivate
database_activate()
{
  true # NIY
}
