#!/usr/bin/env bash
# 创建宿主机数据目录 /var/container/data/datahub/
# 所有运行期产物（数据卷 + env 配置）统一放在此根目录下
#
# 用法：bash setup-data-dirs.sh

set -euo pipefail

DATA_BASE=/var/container/data/datahub
SUBDIRS=(postgres rabbitmq backend-runtime env)

# 1. 父目录需要 root 创建并把所有权移交给当前用户
if [ ! -d "$DATA_BASE" ]; then
    echo "[*] $DATA_BASE 不存在，需要 sudo 创建"
    sudo mkdir -p "$DATA_BASE"
    sudo chown "$USER:$USER" "$DATA_BASE"
fi

# 2. 创建子目录
for d in "${SUBDIRS[@]}"; do
    full="$DATA_BASE/$d"
    if [ -d "$full" ]; then
        echo "[=] $full 已存在，跳过"
    else
        mkdir -p "$full"
        echo "[+] 创建 $full"
    fi
done

echo
echo "完成。当前结构："
ls -la "$DATA_BASE"

echo
echo "说明："
echo "  - postgres / rabbitmq 目录在容器首次启动时由 podman 自动 chown 给容器内用户（:U 标志）"
echo "  - backend-runtime 容器以 root 运行，无需额外 chown"
echo "  - env/ 存放 datahub-backend.env / datahub-frontend.env（由 configure-env.sh 生成）"
