#!/bin/bash
# Deploy all projects in the correct dependency order

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(dirname "$SCRIPT_DIR")"

cd "$ROOT_DIR"

echo "================================"
echo "LocalStack Full Deployment"
echo "================================"
echo ""

# Check if LocalStack is running
if ! aws --endpoint-url=http://localhost:4566 s3 ls >/dev/null 2>&1; then
    echo "LocalStack is not running. Starting..."
    make start
    echo ""
fi

echo "Deploying all projects..."
echo ""

# Deploy Lambda dependencies first
echo "[1/3] Deploying lambda-av-scan..."
make tf-init tf-apply PROJECT=lambda-av-scan
echo ""

echo "[2/3] Deploying lambda-abacus..."
make tf-init tf-apply PROJECT=lambda-abacus
echo ""

# Deploy workflows
echo "[3/3] Deploying ows-royalties-workflows..."
make tf-init tf-apply PROJECT=ows-royalties-workflows
echo ""

echo "================================"
echo "Deployment Complete!"
echo "================================"
echo ""
echo "Deployed resources:"
aws --endpoint-url=http://localhost:4566 lambda list-functions --query 'Functions[*].FunctionName' --output table
echo ""
aws --endpoint-url=http://localhost:4566 s3 ls
echo ""
aws --endpoint-url=http://localhost:4566 stepfunctions list-state-machines --query 'stateMachines[*].name' --output table
