#!/bin/bash

FILE="$PWD""/"docker-compose.yml
CMD=$1
SERVICE=$2

if test -f "$FILE"; then
    case "$CMD" in
        start | up)
                docker-compose --env-file=docker.env up -d
        ;;
        start-recreate | up-recreate)
                docker-compose --env-file=docker.env up -d --force-recreate
        ;;
        start-raw | up-raw)
                docker-compose --env-file=docker.env up
        ;;
        down)
                docker-compose down --volumes
        ;;
        stop)
                docker-compose stop
        ;;
        c | config)
                docker-compose --env-file=docker.env config
        ;;
        dv | drop-volumes)
                bash drop-docker-volumes.sh
        ;;
        e | exec)
                docker exec -it "$SERVICE" bash
        ;;
        b | build)
                docker-compose build "$SERVICE"
        ;;
        bn | build-no-cache)
                docker-compose build --no-cache "$SERVICE"
        ;;
        help)
                echo 'Available commands(as first parameter):'
                echo 'start | up, starts docker container'
                echo 'stop | down, stops docker container'
                echo 'c | config, show config'
                echo 'dv | drop volumes, alias for drop volumes, drop volumes via running drop-docker-volumes.sh script'
                echo 'e | exec, alias for exec, executing bash on docker container'
                echo 'b | build, alias for build, second parameter must be the service name'
                echo 'bn | build-no-cache, alias for build with no-cache option'
        ;;
        *)
                echo "Command not found: $CMD"
                bash -c "$PWD""/doc help"
        ;;
    esac
fi

exit 1
