This commit is contained in:
Zeeshaun
2026-04-28 10:57:36 -05:00
parent 4a540b30bb
commit a57846d9d1
7 changed files with 94 additions and 126 deletions
@@ -69,7 +69,7 @@ public class DirectFileOperationsController : ControllerBase
[ProducesResponseType(500)] [ProducesResponseType(500)]
public async Task<IActionResult> WriteBinaryFile([FromBody] WriteFileRequest request) public async Task<IActionResult> WriteBinaryFile([FromBody] WriteFileRequest request)
{ {
return await HandleRequestResponse(request, FileOperationType.WriteFile, _writeFileService); return await HandleRequestResponse(request, FileOperationType.WriteBinaryFile, _writeFileService);
} }
[HttpPost("CreateDirectory")] [HttpPost("CreateDirectory")]
@@ -243,16 +243,6 @@ public class FileOperationsController : ControllerBase
return await HandleRequestResponse(request, FileOperationType.WriteFile, _writeFileDataService); return await HandleRequestResponse(request, FileOperationType.WriteFile, _writeFileDataService);
} }
// POST api/WriteBinaryFileData
[HttpPost("WriteBinaryFileData")]
[ProducesResponseType(201)]
[ProducesResponseType(typeof(List<string>), 400)]
[ProducesResponseType(500)]
public async Task<IActionResult> WriteBinaryFileData([FromBody] WriteFileRequest request)
{
return await HandleRequestResponse(request, FileOperationType.WriteFile, _writeFileDataService);
}
[HttpPost("DeleteDirectory")] [HttpPost("DeleteDirectory")]
[ProducesResponseType(201)] [ProducesResponseType(201)]
[ProducesResponseType(typeof(List<string>), 400)] [ProducesResponseType(typeof(List<string>), 400)]
@@ -160,6 +160,7 @@ void AddServiceFactoryServices(IServiceCollection services)
services.AddScoped<IFileActionService, ExtractIndexFileDataService>(); services.AddScoped<IFileActionService, ExtractIndexFileDataService>();
services.AddScoped<IFileActionService, DeleteEmptyDirectoryService>(); services.AddScoped<IFileActionService, DeleteEmptyDirectoryService>();
services.AddScoped<IFileActionService, ValidateFileSizeInRangeService>(); services.AddScoped<IFileActionService, ValidateFileSizeInRangeService>();
services.AddScoped<IFileActionService, WriteBinaryFileService>();
} }
void AddFileActionServices(IServiceCollection services) void AddFileActionServices(IServiceCollection services)
@@ -44,13 +44,6 @@ namespace LCU.Api.Internal.FileOperations.Services.FileActionServices
{ {
try try
{ {
if (string.Equals(request.Extension?.TrimStart('.'), "wav", StringComparison.OrdinalIgnoreCase))
{
var fileBytes = Convert.FromBase64String(request.FileData);
File.WriteAllBytes(request.FullFilePath, fileBytes);
return;
}
File.WriteAllText(request.FullFilePath, request.FileData); File.WriteAllText(request.FullFilePath, request.FileData);
} }
catch (Exception exception) catch (Exception exception)
@@ -20,92 +20,96 @@
"ServiceFactoryRegistrations": [ "ServiceFactoryRegistrations": [
{ {
"ServiceInterfaceName": "IFileActionService", "ServiceInterfaceName": "IFileActionService",
"ServiceRegistrations": [ "ServiceRegistrations": [
{ {
"ServiceName": "MoveFileService", "ServiceName": "MoveFileService",
"ServiceId": "0" "ServiceId": "0"
}, },
{ {
"ServiceName": "CopyFileService", "ServiceName": "CopyFileService",
"ServiceId": "1" "ServiceId": "1"
}, },
{ {
"ServiceName": "DeleteFileService", "ServiceName": "DeleteFileService",
"ServiceId": "2" "ServiceId": "2"
}, },
{ {
"ServiceName": "RenameFileService", "ServiceName": "RenameFileService",
"ServiceId": "3" "ServiceId": "3"
}, },
{ {
"ServiceName": "ZipDirectoryService", "ServiceName": "ZipDirectoryService",
"ServiceId": "4" "ServiceId": "4"
}, },
{ {
"ServiceName": "CreateDirectoryService", "ServiceName": "CreateDirectoryService",
"ServiceId": "5" "ServiceId": "5"
}, },
{ {
"ServiceName": "RenameDirectoryService", "ServiceName": "RenameDirectoryService",
"ServiceId": "6" "ServiceId": "6"
}, },
{ {
"ServiceName": "BulkOperationService`1", "ServiceName": "BulkOperationService`1",
"ServiceId": "7" "ServiceId": "7"
}, },
{ {
"ServiceName": "UnzipFileService", "ServiceName": "UnzipFileService",
"ServiceId": "8" "ServiceId": "8"
}, },
{ {
"ServiceName": "EncryptFileDataService", "ServiceName": "EncryptFileDataService",
"ServiceId": "9" "ServiceId": "9"
}, },
{ {
"ServiceName": "DecryptFileDataService", "ServiceName": "DecryptFileDataService",
"ServiceId": "10" "ServiceId": "10"
}, },
{ {
"ServiceName": "ModifyFileService", "ServiceName": "ModifyFileService",
"ServiceId": "11" "ServiceId": "11"
}, },
{ {
"ServiceName": "UnzipPasswordProtectedFileService", "ServiceName": "UnzipPasswordProtectedFileService",
"ServiceId": "12" "ServiceId": "12"
}, },
{ {
"ServiceName": "BatchPdfParserService", "ServiceName": "BatchPdfParserService",
"ServiceId": "13" "ServiceId": "13"
}, },
{ {
"ServiceName": "WriteFileService", "ServiceName": "WriteFileService",
"ServiceId": "14" "ServiceId": "14"
}, },
{ {
"ServiceName": "DeleteDirectoryService", "ServiceName": "DeleteDirectoryService",
"ServiceId": "15" "ServiceId": "15"
}, },
{ {
"ServiceName": "ValidateFileService", "ServiceName": "ValidateFileService",
"ServiceId": "16" "ServiceId": "16"
}, },
{ {
"ServiceName": "AppendFileService", "ServiceName": "AppendFileService",
"ServiceId": "17" "ServiceId": "17"
}, },
{ {
"ServiceName": "ExtractIndexFileDataService", "ServiceName": "ExtractIndexFileDataService",
"ServiceId": "18" "ServiceId": "18"
}, },
{ {
"ServiceName": "DeleteEmptyDirectoryService", "ServiceName": "DeleteEmptyDirectoryService",
"ServiceId": "19" "ServiceId": "19"
}, },
{ {
"ServiceName": "ValidateFileSizeInRangeService", "ServiceName": "ValidateFileSizeInRangeService",
"ServiceId": "20" "ServiceId": "20"
} },
] {
"ServiceName": "WriteFileService",
"ServiceId": "21"
}
]
} }
] ]
}, },
@@ -75,27 +75,6 @@ public class FileOperationsControllerTest
_mockDirectFileService.Object); _mockDirectFileService.Object);
} }
[Fact]
public async Task WriteBinaryFileDataPost_OK()
{
var request = new WriteFileRequest
{
FileData = Convert.ToBase64String(new byte[] { 0x52, 0x49, 0x46, 0x46 }),
DestinationPath = "SomePath",
Extension = ".wav",
FileName = "FileName"
};
var validRequestResponse = new RequestResponse() { MessageStack = new List<string>(), IsSuccessful = true };
_mockWriteFileDataService.Setup(service => service.PreQueueValidation(It.IsAny<WriteFileRequest>())).Returns(validRequestResponse);
var result = await _controller.WriteBinaryFileData(request);
var okResult = result as OkResult;
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact] [Fact]
public void GetFile_OK() public void GetFile_OK()
{ {
@@ -21,5 +21,6 @@ public enum FileOperationType
AppendFile = 17, AppendFile = 17,
ExtractIndexFileData = 18, ExtractIndexFileData = 18,
DeleteEmptyDirectory = 19, DeleteEmptyDirectory = 19,
ValidateFileSizeInRange = 20 ValidateFileSizeInRange = 20,
WriteBinaryFile = 21
} }