45 lines
1.7 KiB
C#
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);
|
|
}
|
|
} |