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

@@ -0,0 +1,19 @@
using Foxel.Models; // For PaginatedResult
using Foxel.Models.Request.Storage;
using Foxel.Models.Response.Storage;
using Foxel.Services.Attributes; // For StorageType
namespace Foxel.Services.Management;
public interface IStorageManagementService
{
Task<PaginatedResult<StorageModeResponse>> GetStorageModesAsync(int page = 1, int pageSize = 10, string? searchQuery = null, StorageType? storageType = null, bool? isEnabled = null);
Task<StorageModeResponse> GetStorageModeByIdAsync(int id);
Task<StorageModeResponse> CreateStorageModeAsync(CreateStorageModeRequest request);
Task<StorageModeResponse> UpdateStorageModeAsync(UpdateStorageModeRequest request);
Task<bool> DeleteStorageModeAsync(int id);
Task<BatchDeleteResult> BatchDeleteStorageModesAsync(List<int> ids);
Task<IEnumerable<StorageTypeResponse>> GetStorageTypesAsync();
Task<int?> GetDefaultStorageModeIdAsync();
Task<bool> SetDefaultStorageModeAsync(int storageModeId);
}