#!make
SHELL := /bin/bash

include .env
-include .env.local
export

.PHONY: help

help: ## Help command
	@echo
	@cat Makefile | grep -E '^[a-zA-Z\/_-]+:.*?## .*$$' | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
	@echo

backend-up: ## Start the backend containers
	@docker compose --profile backend up -d

backend-down: ## Stop the backend containers
	@docker compose --profile backend down

run: ## Run the project
	@echo "Running project..."
	@cargo run
	@echo "Run complete"

format: ## Format code
	@echo "Formatting code..."
	@cargo fmt
	@echo "Format complete"

clean: ## Clean the project
	@echo "Cleaning project..."
	@cargo clean
	@echo "Clean complete"

docker-up: ## Start the app
	@docker compose --profile backend --profile bot up -d

docker-down: ## Stop the app
	@docker compose --profile backend --profile bot down

docker-build: ## Build the docker image
	@docker compose build

docker-clean: ## Stop the docker containers and remove volumes
	@echo "Stopping docker container and removing volumes..."
	@docker compose --profile backend --profile bot down -v
	@echo "Docker container stopped and volumes removed"

docker-refresh: docker-clean backend-up ## Refresh the docker containers

psql: ## Connect to the database
	@docker exec -it siren-postgres psql -U ${DATABASE_USER} -P pager=off