#!/bin/bash

source "$(dirname $0)/vars"

case "$1" in
  redis:create)
    redis_for_app "$2"
    verify_max_args 2 "$@"

    touch "$DB_VOLUME"
    info "Redis database created: $DB_CONTAINER"
    redeploy_app "$APP"
    ;;

  redis:delete|redis:destroy)
    redis_for_app "$2"
    verify_max_args 2 "$@"

    stop_and_remove_container "$DB_CONTAINER" "$DB_DATA_CONTAINER"
    rm -f "$DB_VOLUME"
    info "Redis database deleted: $DB_CONTAINER"
    redeploy_app "$APP"
    ;;

  redis:info)
    redis_for_app "$2"
    verify_max_args 2 "$@"

    [[ ! -f "$DB_VOLUME" ]] && fail "$DB_CONTAINER: database is not linked to $APP"

    echo
    cat <<EOF
echo "       Host: $DB_HOST"
echo "       Port: $DB_PORT"
echo
echo "       REDIS_URL=$DB_URL"
EOF
    echo
    ;;

  help)
    cat && cat<<EOF
    redis:create <app>          Create a Redis database
    redis:delete <app>          Delete specified Redis database
    redis:info <app>            Display application information
EOF
    ;;

esac
