#!/bin/bash

set -e
set -x

case "$1" in
    up)
        docker-compose up --build
        ;;
    run)
        docker-compose run --service-ports web
        ;;
    initdb)
        docker-compose exec web python manage.py migrate
        docker-compose exec web python manage.py shell -c 'import init_db'
        ;;
    resetdb)
        docker-compose stop web
        docker-compose exec db dropdb -U fedireads fedireads
        docker-compose exec db createdb -U fedireads fedireads
        docker-compose start web
        docker-compose exec web python manage.py migrate
        docker-compose exec web python manage.py shell -c 'import init_db'
        ;;
    makemigrations)
        docker-compose exec web python manage.py makemigrations
        ;;
    migrate)
        docker-compose exec web python manage.py migrate
        ;;
    shell)
        docker-compose exec web python manage.py shell
        ;;
    dbshell)
        docker-compose exec db psql -U fedireads fedireads
        ;;
    restart_celery)
        docker-compose restart celery_worker
        ;;
    test)
        shift 1
        docker-compose exec web coverage run --source='.' --omit="*/test*,celerywyrm*,bookwyrm/migrations/*" manage.py test "$@"
        ;;
    test_report)
        docker-compose exec web coverage report
        ;;
    collectstatic)
        docker-compose exec web python manage.py collectstatic --no-input
        ;;
    *)
        echo "Unrecognised command. Try: up, initdb, resetdb, makemigrations, migrate, shell, dbshell, restart_celery, test, test_report"
        ;;
esac