using FileShare_Common.Core; using FileShare_Services.Core; namespace FileShare_Services.Services.FileLibrary { /// /// 文件库 HTTP 端点服务接口,将 HTTP 请求适配到 业务层。 /// public interface IFileLibraryEndpointService { /// /// 获取服务器所有磁盘驱动器。 /// /// 端点上下文。 /// API 响应。 Task GetDrivesAsync(ServiceEndpointContext ctx); /// /// 查询指定路径下的子目录。 /// /// 包含路径的查询请求。 /// API 响应。 Task GetDirectoriesAsync(DirectoryQueryRequest request); /// /// 获取所有已注册的文件库根目录。 /// /// 端点上下文。 /// API 响应。 Task GetRootsAsync(ServiceEndpointContext ctx); /// /// 添加新的文件库根目录。 /// /// 包含路径和配置的请求。 /// API 响应。 Task AddRootAsync(AddLibraryRootRequest request); /// /// 启用或禁用指定的文件库根目录。 /// /// 包含根目录 ID 和目标状态的请求。 /// API 响应。 Task SetRootEnabledAsync(UpdateLibraryRootRequest request); /// /// 删除指定的文件库根目录。 /// /// 包含根目录 ID 的请求。 /// API 响应。 Task DeleteRootAsync(DeleteLibraryRootRequest request); /// /// 立即扫描指定文件库根目录。 /// /// 包含根目录 ID 的请求。 /// API 响应。 Task ScanRootAsync(ScanLibraryRootRequest request); /// /// 分页搜索已扫描的文件记录。 /// /// 包含分页和过滤条件的请求。 /// API 响应。 Task SearchFilesAsync(SearchFilesRequest request); /// /// 根据 ID 获取文件详情。 /// /// 包含文件 ID 的请求。 /// API 响应。 Task GetFileAsync(FileQueryRequest request); /// /// 获取文本文件预览内容。 /// /// 包含文件 ID 的请求。 /// API 响应。 Task GetTextPreviewAsync(FileQueryRequest request); /// /// 浏览文件库目录结构。 /// /// 包含根目录 ID 和路径的请求。 /// API 响应。 Task BrowseDirectoryAsync(BrowseDirectoryRequest request); Task GetRecentFilesAsync(RecentFilesRequest request); Task MarkFilePlayedAsync(MarkFilePlayedRequest request); } }