PGSQL_CONTAINER_ID=`cat postgres.container.id`
DB_NAME="personal_measure"
SOURCES=$(wildcard src/main/nim/*.nim) $(wildcard src/main/nim/personal_measure_apipkg/*.nim)

serve: personal_measure_api start-postgres
	./personal_measure_api serve

postgres.container.id:
	docker run --name postgres-$(DB_NAME) -e POSTGRES_PASSWORD=password -p 5500:5432 -d postgres > postgres.container.id
	sleep 5
	PGPASSWORD=password psql -p 5500 -U postgres -h localhost -c "CREATE DATABASE $(DB_NAME);"
	db_migrate up -c database-local.json

start-postgres: postgres.container.id
	docker start $(PGSQL_CONTAINER_ID)
	sleep 1
	db_migrate up -c database-local.json

stop-postgres: postgres.container.id
	docker stop $(PGSQL_CONTAINER_ID)

delete-postgres-container:
	-docker stop $(PGSQL_CONTAINER_ID)
	docker container rm $(PGSQL_CONTAINER_ID)
	rm postgres.container.id

connect:
	PGPASSWORD=password psql -p 5500 -U postgres -h localhost ${DB_NAME}

personal_measure_api: $(SOURCES)
	nimble build