#! /bin/bash

# shellcheck source=../scripts/helpers/index.sh
source /usr/local/bin/helpers/index.sh

function _main
{
  [[ ${1:-} == 'help' ]] && { __usage ; exit 0 ; }

  local MAIL_ACCOUNT="${1}"
  shift
  local PASSWD="${*}"

  _manage_accounts_update "${MAIL_ACCOUNT}" "${PASSWD}"
}

function __usage
{
  printf '%s' "${PURPLE}updatemailuser${RED}(${YELLOW}8${RED})

${ORANGE}USAGE${RESET}
    ./setup.sh email update <MAIL ACCOUNT> [<PASSWORD>]

${ORANGE}OPTIONS${RESET}
    ${BLUE}Generic Program Information${RESET}
        help       Print the usage information.

${ORANGE}DESCRIPTION${RESET}
    Update the password for a mail account.

    To avoid a password being logged in the command history of your shell,
    you may omit it, you'll be prompted to input the password instead.

${ORANGE}EXAMPLES${RESET}
    ${LWHITE}./setup.sh email update user@example.com${RESET}
        You will be prompted to input a password afterwards since no password was supplied.

${ORANGE}EXIT STATUS${RESET}
    Exit status is 0 if command was successful. If wrong arguments are provided
    or arguments contain errors, the script will exit early with exit status 1.

"
}

_main "${@}"