#!/usr/bin/env bash

export APP_PORT=${APP_PORT:-80}
export DB_PORT=${DB_PORT:-3306}
export DIR_NAME=${PWD##*/}
export SITE_NAME=${SITE_NAME:-$DIR_NAME}
export COMPOSE_PROJECT_NAME=$SITE_NAME
export ENSO_VERSION=2-0

if [ $# -gt 0 ]; then

    if [ "$1" == "start" ]; then
        docker-compose up -d

    elif [ "$1" == "stop" ]; then
        docker-compose down

    elif [ "$1" == "artisan" ] || [ "$1" == "art" ]; then
        shift 1
        docker-compose exec \
            app \
            php artisan "$@"

    elif [ "$1" == "composer" ] || [ "$1" == "comp" ]; then
        shift 1
        docker-compose exec \
            app \
            composer "$@"

    elif [ "$1" == "test" ]; then
        shift 1
        docker-compose exec \
            app \
            ./vendor/bin/phpunit "$@"

    elif [ "$1" == "npm" ]; then
        shift 1
        docker-compose run --rm \
            node \
            npm "$@"

    elif [ "$1" == "yarn" ]; then
        shift 1
        docker-compose run --rm \
            node \
            yarn "$@"

    elif [ "$1" == "ngrok" ]; then
        docker run \
          --rm \
          -it \
          -p 4040:4040 \
          --network "$SITE_NAME"_appnet \
          --link "$SITE_NAME"_app_1:http \
          --name www_ngrok \
          wernight/ngrok ngrok http "$SITE_NAME"_app_1:80

    elif [ "$1" == "bash" ]; then
        docker-compose exec app bash
    else
        docker-compose "$@"
    fi

else
    docker-compose ps
fi
