#!/bin/sh

# Script estricto para archivos nuevos - falla el job si hay problemas
set -eu

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

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

if [ -z "${PHP_FILES}" ]; then
    echo "No hay archivos PHP nuevos para validar malas prácticas."
    exit 0
fi

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

echo "=== VERIFICACIÓN ESTRICTA - Archivos nuevos ==="
echo "Validando malas prácticas en: ${PHP_FILES}"

ERRORS=0
for file in ${PHP_FILES}; do
    if ! vendor/bin/phpcs --standard=PSR12 "${file}"; then
        ERRORS=$((ERRORS + 1))
        echo "❌ ERROR en archivo nuevo: ${file}"
    fi
done

if [ ${ERRORS} -gt 0 ]; then
    echo ""
    echo "❌ Se encontraron errores en ${ERRORS} archivo(s) nuevo(s)."
    echo "Los archivos nuevos deben cumplir con el estándar PSR12."
    exit 1
fi

echo "✅ Todos los archivos nuevos cumplen con PSR12."
