#!/bin/sh

set -eu

. "$(dirname "$0")/common.sh"

PHP_FILES="$(list_changed_files \
    '*.php' \
    ':!vendor/**' \
    ':!node_modules/**' \
    ':!storage/**' \
    ':!bootstrap/cache/**' \
    ':!public/**' | tr '\n' ' ')"

if [ -z "${PHP_FILES}" ]; then
    echo "No hay archivos PHP modificados para validar estilo."
    exit 0
fi

if ! command -v php-cs-fixer >/dev/null 2>&1; then
    echo "php-cs-fixer no esta instalado en la imagen del job."
    exit 1
fi

echo "Validando estilo en: ${PHP_FILES}"
for file in ${PHP_FILES}; do
    php-cs-fixer fix \
        --dry-run \
        --diff \
        --using-cache=no \
        --allow-risky=yes \
        --rules='@PSR12,array_syntax,no_unused_imports,ordered_imports,single_quote,trailing_comma_in_multiline' \
        "${file}"
done
