Files
monorepo/LCU.Api.Internal.DataCleanUp/LCU.Api.Internal.DataCleanUp/DataAccess/FileOperationsDao.cs
T
2026-03-13 09:28:55 -05:00

45 lines
1.7 KiB
C#

using LCU.Library.Internal.FileOperationsModels.Models;
using LCU.Api.Internal.DataCleanUp.Configuration;
using LCU.Library.Internal.LcuHttpClient.HttpRequest;
namespace LCU.Api.Internal.DataCleanUp.DataAccess;
public class FileOperationsDao : IFileOperationsDao
{
private readonly FileOperationsConfiguration _fileOperationsConfiguration;
private readonly IPostRequest _postRequest;
private readonly IGetRequest _getRequest;
private const string ClientKeyValue = "DataCleanUp";
public FileOperationsDao(
FileOperationsConfiguration fileOperationsConfiguration,
IPostRequest postRequest,
IGetRequest getRequest
)
{
_fileOperationsConfiguration = fileOperationsConfiguration;
_postRequest = postRequest;
_getRequest = getRequest;
}
public async Task<string> GetFileContent(string finalFilePath)
{
var uri = new Uri($"{_fileOperationsConfiguration.FileOperationsUrl}{finalFilePath}");
return await _getRequest.StringResponseAsync(uri, 0);
}
public async Task<List<string>> WriteFile(WriteFileRequest writeFileRequest)
{
var path = $"{_fileOperationsConfiguration.FileOperationsUrl}{_fileOperationsConfiguration.WriteFile}";
var uri = new Uri(path);
return await _postRequest.AsyncWithNewton<WriteFileRequest, List<string>>(uri, writeFileRequest, 0);
}
public async Task<List<string>> BuildDynamicFileList(DynamicFileListRequest fileRequest)
{
var path = $"{_fileOperationsConfiguration.FileOperationsUrl}{_fileOperationsConfiguration.BuildDynamicFileList}";
var uri = new Uri(path);
return await _postRequest.Async<DynamicFileListRequest, List<string>>(uri, fileRequest, 0);
}
}