feat(storage): implement storage management API and enhance storage mode handling

This commit is contained in:
shiyu
2025-06-09 12:12:15 +08:00
parent 4ef4b2056b
commit 0a6fe70537
43 changed files with 2449 additions and 907 deletions

View File

@@ -8,18 +8,18 @@ namespace Foxel.Services.Storage;
public interface IStorageService
{
/// <summary>
/// 在指定存储类型上执行操作
/// 在指定存储模式上执行操作
/// </summary>
/// <typeparam name="TResult">操作结果类型</typeparam>
/// <param name="storageType">存储类型</param>
/// <param name="storageModeId">存储模式的ID</param>
/// <param name="operation">要执行的操作</param>
/// <returns>操作结果</returns>
Task<TResult> ExecuteAsync<TResult>(StorageType storageType, Func<IStorageProvider, Task<TResult>> operation);
Task<TResult> ExecuteAsync<TResult>(int storageModeId, Func<IStorageProvider, Task<TResult>> operation);
/// <summary>
/// 在指定存储类型上执行无返回值的操作
/// 在指定存储模式上执行无返回值的操作
/// </summary>
/// <param name="storageType">存储类型</param>
/// <param name="storageModeId">存储模式的ID</param>
/// <param name="operation">要执行的操作</param>
Task ExecuteAsync(StorageType storageType, Func<IStorageProvider, Task> operation);
Task ExecuteAsync(int storageModeId, Func<IStorageProvider, Task> operation);
}