1964ea5fb4
Endpoint GET /api/share/search?q= parcourant tout le partage en largeur (garde-fous 200 résultats / 2000 dossiers). Le champ de l'explorateur déclenche une recherche globale debouncée dès 2 caractères (filtre local en deçà), avec affichage du dossier parent de chaque résultat.
28 lines
667 B
PHP
28 lines
667 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Service\Share;
|
|
|
|
interface FileSource
|
|
{
|
|
/**
|
|
* @return FileEntry[] dossiers d'abord, puis fichiers, triés par nom
|
|
*/
|
|
public function dir(string $relativePath): array;
|
|
|
|
/**
|
|
* Recherche récursive, par fragment de nom (insensible à la casse), dans tout le partage.
|
|
*
|
|
* @return FileEntry[] dossiers d'abord, puis fichiers, triés par nom (limités)
|
|
*/
|
|
public function search(string $query, int $limit = 200): array;
|
|
|
|
/**
|
|
* @return resource flux binaire en lecture
|
|
*/
|
|
public function read(string $relativePath);
|
|
|
|
public function test(): ShareTestResult;
|
|
}
|