#!/usr/bin/env bash
set -euo pipefail

if [[ $# -lt 2 ]]; then
  echo "Uso: $0 <usuario> <grupo> [caminho_server]" >&2
  exit 1
fi

APP_USER="$1"
APP_GROUP="$2"
SERVER_PATH="${3:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/server}"

LOGS_DIR="$SERVER_PATH/logs"
UPDATES_DIR="$SERVER_PATH/updates"
REQUIRED_DIRS=(
  "$LOGS_DIR"
  "$UPDATES_DIR"
  "$UPDATES_DIR/backups"
  "$UPDATES_DIR/current"
  "$UPDATES_DIR/incoming"
  "$UPDATES_DIR/old"
)

echo "==> Garantindo diretórios essenciais em $SERVER_PATH"
for dir in "${REQUIRED_DIRS[@]}"; do
  mkdir -p "$dir"
done

echo "==> Aplicando permissões para $APP_USER:$APP_GROUP"
chown -R "$APP_USER":"$APP_GROUP" "$LOGS_DIR" "$UPDATES_DIR"
chmod 750 "$LOGS_DIR" "$UPDATES_DIR"
find "$UPDATES_DIR" -type d -exec chmod 750 {} +

echo "? Permissões ajustadas com sucesso."
