arcadia_root := $(shell ya dump root)
migrations_root := /tmp/qtools_migrations_root
UNAME_S := $(shell uname -s)

# Code style
check-isort:
	isort --check-only --diff src/

check-flake8:
	flake8 src/

check-style: check-flake8 check-isort

sort-imports:
	isort src/

mypy:
	ARCADIA_ROOT=$(arcadia_root) mypy -p src

cc: sort-imports check-style mypy


# Tests
test-ya:
	ya make $(ARGS) -tt --test-stdout

test:
	QTOOLS_DB_USE_DOCKER_DB=True py.test -sv $(ARGS)

#
# Development
deps:
	ya make --checkout src

start_db:
ifeq ($(UNAME_S),Linux)
	# докер в убунте не может делать bind volume на директорию аркадии, смонтированной через arc
	rm -rf $(migrations_root) && mkdir -p $(migrations_root) && cp -r ./postgre $(migrations_root)
	QTOOLS_MIGRATIONS_ROOT=$(migrations_root) docker-compose up -d db_migrated
else
	docker-compose up -d db_migrated
endif

restart_db:
	docker-compose rm --force --stop -v db db_migrate db_migrated
	make start_db

pgcli:
	PGPASSWORD="P@ssw0rd" pgcli -h localhost -p 5442 -U sendr_qtools -d sendr_qtools

psql:
	docker-compose exec db psql -U sendr_qtools -d sendr_qtools
