#!/usr/bin/env bash
# Split admin bundle into full directory tree

set -e

BUNDLE="surface.admin.bundle.txt"

if [ ! -f "$BUNDLE" ]; then
    echo "Bundle file not found: $BUNDLE"
    exit 1
fi

current_file=""

while IFS= read -r line; do

    if [[ "$line" == ===FILE:*=== ]]; then
        # Extract path
        current_file=$(echo "$line" | sed -e 's/===FILE: //' -e 's/===//')
        echo "Writing: $current_file"

        # Ensure directory exists
        dir=$(dirname "$current_file")
        mkdir -p "$dir"

        # Clear file before writing
        : > "$current_file"
        continue
    fi

    # Append content
    if [ -n "$current_file" ]; then
        echo "$line" >> "$current_file"
    fi

done < "$BUNDLE"

echo "Admin system successfully split into directory tree."

