41 lines
1.1 KiB
Dart
41 lines
1.1 KiB
Dart
import '../../domain/entities/image_folder.dart';
|
|
|
|
/// 文件夹仓库接口 - 定义文件夹数据操作的抽象接口
|
|
/// 负责管理文件夹的增删改查等操作
|
|
abstract class FolderRepository {
|
|
/// 获取所有文件夹
|
|
Future<List<ImageFolder>> getAllFolders();
|
|
|
|
/// 根据ID获取文件夹
|
|
Future<ImageFolder?> getFolderById(String id);
|
|
|
|
/// 创建新文件夹
|
|
Future<String> createFolder({
|
|
required String name,
|
|
required String icon,
|
|
String? coverImageId,
|
|
});
|
|
|
|
/// 更新文件夹信息
|
|
Future<void> updateFolder({
|
|
required String id,
|
|
required String name,
|
|
required String icon,
|
|
String? coverImageId,
|
|
});
|
|
|
|
/// 删除文件夹
|
|
Future<void> deleteFolder(String id);
|
|
|
|
/// 更新文件夹最后使用时间
|
|
Future<void> updateFolderLastUsed(String id);
|
|
|
|
/// 获取文件夹中的图片数量
|
|
Future<int> getFolderImageCount(String id);
|
|
|
|
/// 获取最近使用的文件夹
|
|
Future<List<ImageFolder>> getRecentFolders({int limit = 10});
|
|
|
|
/// 搜索文件夹
|
|
Future<List<ImageFolder>> searchFolders(String keyword);
|
|
} |