snap_wish/lib/data/repositories/folder_repository.dart
2025-10-09 17:10:38 +08:00

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);
}