.PHONY: build run dev stop logs test migrate clean install

APP_NAME := esp32-web
PORT := 5500

install:
	pip install -e ".[dev]"

dev:
	flask --app src/esp32_web run --port $(PORT) --debug

test:
	pytest -v

migrate:
	flask --app src/esp32_web db upgrade

migrate-init:
	flask --app src/esp32_web db init

migrate-create:
	flask --app src/esp32_web db migrate -m "$(msg)"

build:
	podman build -t $(APP_NAME) .

run:
	podman run -d --name $(APP_NAME) \
		-p $(PORT):$(PORT) \
		-p $(PORT):$(PORT)/udp \
		-v ./instance:/app/instance:Z \
		$(APP_NAME)

stop:
	podman stop $(APP_NAME) && podman rm $(APP_NAME)

logs:
	podman logs -f $(APP_NAME)

clean:
	rm -rf __pycache__ .pytest_cache .ruff_cache
	find . -type d -name __pycache__ -exec rm -rf {} +
	find . -type f -name "*.pyc" -delete
