APP_PORT ?= 3000
DATABASE_URL ?= mysql://smm:smm_password@127.0.0.1:3306/smm

.PHONY: install db-up db-down migrate dev start test reconcile status-sync admin-create backup restore docker-build docker-up docker-down health

install:
	npm install

db-up:
	docker compose up -d db

db-down:
	docker compose down

migrate:
	DATABASE_URL="$(DATABASE_URL)" npm run migrate

dev:
	PORT="$(APP_PORT)" DATABASE_URL="$(DATABASE_URL)" npm run dev

start:
	PORT="$(APP_PORT)" DATABASE_URL="$(DATABASE_URL)" npm start

test:
	DATABASE_URL="$(DATABASE_URL)" npm test

reconcile:
	DATABASE_URL="$(DATABASE_URL)" npm run reconcile

status-sync:
	DATABASE_URL="$(DATABASE_URL)" npm run sync:order-status

admin-create:
	DATABASE_URL="$(DATABASE_URL)" npm run admin:create

backup:
	./scripts/db-backup.sh

restore:
	./scripts/db-restore.sh

docker-build:
	docker compose build app

docker-up:
	docker compose up --build

docker-down:
	docker compose down

health:
	curl -sS "http://127.0.0.1:$(APP_PORT)/health"
