.PHONY: build check test dev clean docker docker-up docker-down docker-logs docker-build health backup setup

build-server:
	cargo build --release -p eifeldc-server

build-bot-sdk:
	cargo build --release -p eifeldc-bot-sdk

build-frontend:
	cd client/src-ui && npm ci && npm run build

build: build-server build-frontend

check:
	cargo check -p eifeldc-server -p eifeldc-bot-sdk
	cd client/src-ui && npm ci && npm run build

test:
	cargo test -p eifeldc-server -p eifeldc-bot-sdk

clean:
	cargo clean
	rm -rf client/src-ui/node_modules client/src-ui/dist

dev:
	cargo run -p eifeldc-server

docker-build:
	docker build -t eifeldc:latest .

docker-up:
	cd infra && docker compose up -d

docker-down:
	cd infra && docker compose down

docker-logs:
	cd infra && docker compose logs -f eifeldc

docker-restart: docker-down docker-up

health:
	bash infra/scripts/healthcheck.sh

backup:
	bash infra/scripts/backup.sh

setup:
	bash infra/scripts/setup.sh