Files
2026-06-26 10:29:23 +02:00

37 lines
2.1 KiB
C#

//using Microsoft.AspNetCore.Http;
using adas_core.Domain.Enums;
using adas_core.Domain.Models.DTO;
using Microsoft.AspNetCore.Http;
namespace adas_core.Application.Services.Interfaces;
public interface IFileService
{
/// <summary>
/// Copies the provided update files to the appropriate location for processing or deployment.
/// </summary>
/// <param name="files">The collection of update files to be copied.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains a boolean value indicating whether the copy operation succeeded.</returns>
Task<bool> CopyUpdateFiles(ICollection<IFormFile> files);
/// <summary>
/// Uploads the provided asset files categorized by the specified theme, returning a value indicating whether the operation completed successfully.
/// </summary>
/// <param name="files">The collection of uploaded form files to process and store as assets.</param>
/// <param name="themeParse">The asset theme used to classify and organize the uploaded files.</param>
/// <returns>A task that resolves to <c>true</c> if the asset files were uploaded successfully; otherwise, <c>false</c>.</returns>
Task<bool> UploadAssetFiles(ICollection<IFormFile> files, FileEnum.AssetTheme themeParse);
/// <summary>
/// Retrieves all asset files for the specified asset theme as a list of asset data transfer objects.
/// </summary>
/// <param name="themeParse">The asset theme used to retrieve the corresponding assets.</param>
/// <returns>A <see cref="List{AssetDto}"/> containing the asset data transfer objects for the specified theme.</returns>
List<AssetDto> GetAllAssetFile(FileEnum.AssetTheme themeParse);
/// <summary>
/// Retrieves a list of file names from the specified directory path.
/// </summary>
/// <param name="directoryPath">The path of the directory from which to retrieve the files.</param>
/// <returns>A list of strings representing the names of the files in the specified directory.</returns>
List<string> GetFilesInDirectory(string directoryPath);
}