.PHONY: build run stop logs test clean dev

# Build the custom Caddy image
build:
	docker compose build --no-cache

# Run the stack
run:
	docker compose up -d

# Stop the stack
stop:
	docker compose down

# View logs
logs:
	docker compose logs -f

# Run with mock asterisk for testing
test:
	docker compose --profile testing up -d
	@echo "Testing SIP Guardian..."
	@sleep 3
	@curl -s http://localhost:2019/config/ | jq .
	@echo "\nSending test SIP packet..."
	@echo -e "OPTIONS sip:test@localhost SIP/2.0\r\nVia: SIP/2.0/UDP 127.0.0.1:5060\r\n\r\n" | nc -u -w1 localhost 5060
	@echo "Check logs for SIP Guardian activity"

# Clean up
clean:
	docker compose down -v
	docker rmi caddy-sip-guardian-caddy 2>/dev/null || true

# Development mode - rebuild and run
dev: build run logs

# Check ban list via admin API
bans:
	@curl -s http://localhost:2019/load | jq .

# Add test ban
test-ban:
	@curl -X POST http://localhost:2019/api/sip-guardian/ban/192.168.1.100 \
		-H "Content-Type: application/json" \
		-d '{"reason": "test_ban"}' | jq .

# View stats
stats:
	@curl -s http://localhost:2019/api/sip-guardian/stats | jq .
