feat(integration): administrar instancias y asociaciones con permisos

Agrega endpoints para crear, editar y asociar instancias a clientes y tipos de sitio. Valida las credenciales contra el esquema del catalogo y devuelve metadatos sin secretos.

Restringe la administracion al rol admin autenticado y mantiene inmutables los codigos de integracion. Incluye pruebas de API, permisos, prioridad de resolucion, edicion compartida y renovacion de tokens.
This commit is contained in:
2026-09-04 12:48:06 -03:00
parent c0057c237a
commit ab5ea7dd33
15 changed files with 457 additions and 16 deletions

View File

@@ -12,7 +12,7 @@ class StoreClientIntegrationRequest extends FormRequest
public function authorize(): bool
{
return true;
return $this->user()?->can('manage', Integration::class) ?? false;
}
protected function prepareForValidation(): void
@@ -31,7 +31,7 @@ class StoreClientIntegrationRequest extends FormRequest
public function rules(): array
{
$rules = [];
$rules = ['integration_data' => ['present', 'array']];
foreach ($this->integrationModel?->integration_data_schema ?? [] as $field => $rule) {
$rules['integration_data.'.$field] = $rule;