fix(structure): Correct case-sensitivity for Linux compatibility
Rename folders to match PHP PSR-4 autoloading conventions: - schemas → Schemas - shared → Shared - Wordpress → WordPress (in all locations) Fixes deployment issues on Linux servers where filesystem is case-sensitive. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace ROITheme\Shared\Domain\Contracts;
|
||||
|
||||
/**
|
||||
* Interface para el repositorio de configuraciones de componentes
|
||||
*
|
||||
* Domain Layer - Define el contrato para acceso a datos de configuraci<63>n
|
||||
* Trabaja con la tabla wp_roi_theme_component_settings (normalizada)
|
||||
*
|
||||
* Esta interfaz es gen<65>rica y funciona para todos los componentes del tema.
|
||||
*
|
||||
* @package ROITheme\Shared\Domain\Contracts
|
||||
*/
|
||||
interface ComponentSettingsRepositoryInterface
|
||||
{
|
||||
/**
|
||||
* Obtiene todas las configuraciones de un componente agrupadas por grupo
|
||||
*
|
||||
* @param string $componentName Nombre del componente (ej: 'top-notification-bar')
|
||||
* @return array<string, array<string, mixed>> Configuraciones agrupadas
|
||||
* Ejemplo: [
|
||||
* 'visibility' => ['enabled' => true, 'show_on_mobile' => true, ...],
|
||||
* 'content' => ['icon_class' => 'bi-star', 'label_text' => 'Nuevo', ...],
|
||||
* 'styles' => ['background_color' => '#0E2337', ...]
|
||||
* ]
|
||||
*/
|
||||
public function getComponentSettings(string $componentName): array;
|
||||
|
||||
/**
|
||||
* Guarda las configuraciones de un componente
|
||||
*
|
||||
* @param string $componentName Nombre del componente
|
||||
* @param array<string, array<string, mixed>> $settings Configuraciones agrupadas
|
||||
* Ejemplo: [
|
||||
* 'visibility' => ['enabled' => true],
|
||||
* 'content' => ['icon_class' => 'bi-star']
|
||||
* ]
|
||||
* @return int N<>mero de campos actualizados
|
||||
*/
|
||||
public function saveComponentSettings(string $componentName, array $settings): int;
|
||||
|
||||
/**
|
||||
* Obtiene el valor de un campo espec<65>fico
|
||||
*
|
||||
* @param string $componentName Nombre del componente
|
||||
* @param string $groupName Nombre del grupo
|
||||
* @param string $attributeName Nombre del atributo
|
||||
* @return mixed|null Valor del campo o null si no existe
|
||||
*/
|
||||
public function getFieldValue(string $componentName, string $groupName, string $attributeName): mixed;
|
||||
|
||||
/**
|
||||
* Guarda el valor de un campo espec<65>fico
|
||||
*
|
||||
* @param string $componentName Nombre del componente
|
||||
* @param string $groupName Nombre del grupo
|
||||
* @param string $attributeName Nombre del atributo
|
||||
* @param mixed $value Valor a guardar
|
||||
* @return bool True si se guard<72> correctamente
|
||||
*/
|
||||
public function saveFieldValue(string $componentName, string $groupName, string $attributeName, mixed $value): bool;
|
||||
|
||||
/**
|
||||
* Restaura un componente a sus valores por defecto desde el schema JSON
|
||||
*
|
||||
* @param string $componentName Nombre del componente
|
||||
* @param string $schemaPath Ruta al archivo schema JSON
|
||||
* @return int N<>mero de campos restaurados
|
||||
*/
|
||||
public function resetToDefaults(string $componentName, string $schemaPath): int;
|
||||
}
|
||||
Reference in New Issue
Block a user