fix: support multiple include folders in LoRA pool widget

- Add folder_include parameter support in backend API handlers
- Add folder_include to FilterCriteria and implement multi-folder filtering logic
- Update frontend to send all include folders instead of only the first
- Add tests for single/multiple include folders, include with exclude, and non-recursive filtering
This commit is contained in:
Will Miao
2026-01-15 15:17:33 +08:00
parent 5636437df2
commit 428a2ce420
7 changed files with 152 additions and 3 deletions

View File

@@ -68,6 +68,7 @@ class BaseModelService(ABC):
page_size: int,
sort_by: str = "name",
folder: str = None,
folder_include: list = None,
folder_exclude: list = None,
search: str = None,
fuzzy_search: bool = False,
@@ -101,6 +102,7 @@ class BaseModelService(ABC):
filtered_data = await self._apply_common_filters(
sorted_data,
folder=folder,
folder_include=folder_include,
folder_exclude=folder_exclude,
base_models=base_models,
model_types=model_types,
@@ -232,6 +234,7 @@ class BaseModelService(ABC):
self,
data: List[Dict],
folder: str = None,
folder_include: list = None,
folder_exclude: list = None,
base_models: list = None,
model_types: list = None,
@@ -243,6 +246,7 @@ class BaseModelService(ABC):
normalized_options = self.search_strategy.normalize_options(search_options)
criteria = FilterCriteria(
folder=folder,
folder_include=folder_include,
folder_exclude=folder_exclude,
base_models=base_models,
model_types=model_types,