params := $(wordlist 2,100,$(MAKECMDGOALS))
migrations_root := /tmp/fes-dev-migrations-root

UNAME_S := $(shell uname -s)

.EXPORT_ALL_VARIABLES:

FES_CONFIG = ./config/dev/dev.yaml
SQS_PORT = 8771

# build
build:
	ya make -DCGO_ENABLED=0 $(params)

build_docker:
	ya package --docker --docker-repository spirit package/package.json

# test
test: start-db _test-start

_test-start:
	YDB_CONNECTION_STRING=grpc://localhost:2135?database=local ya test -DLOCAL_TESTING_DB --test-stdout $(params)

# lint
yo:
	ya tool yo fix . $(params)

yoimports:
	ya tool yoimports -local "a.yandex-team.ru/payplatform/fes" -w . $(params)

lint:
	golangci-lint run $(params)

# run
runcreateloadgroup:
	./cmd/create_load_group/create_load_group $(params)

runserver:
	./cmd/runserver/runserver $(params)

swagger:
	ya tool swagger generate spec --scan-models | tee package/swagger.json

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

stop-db:
	docker-compose down

exec-db:
# make exec-db -- "table query execute -q 'select 1;'"
	docker exec -it fes-db /ydb -e localhost:2135 -d /local $(params)

script-db:
# make script-db -- "-f /fes/ydb/migrations/000001_init.up.sql"
# make script-db -- "-s '<some DDL query>'"
	docker exec -it fes-db /ydb -e localhost:2135 -d /local scripting yql $(params)

rm-exec:
	find . -type l -delete

%:
	@:
