finished unit tests and docstrings

This commit is contained in:
Volodymyr Smirnov
2020-10-29 16:09:56 +02:00
parent b2902c128a
commit b68c285ce5
48 changed files with 910 additions and 194 deletions

View File

@@ -2,8 +2,10 @@ using Microsoft.Extensions.Hosting;
namespace MalwareMultiScan.Api.Services.Interfaces
{
/// <summary>
/// Receiver hosted service.
/// </summary>
public interface IReceiverHostedService : IHostedService
{
}
}

View File

@@ -4,10 +4,22 @@ using MalwareMultiScan.Api.Data.Models;
namespace MalwareMultiScan.Api.Services.Interfaces
{
/// <summary>
/// Scan backend service.
/// </summary>
public interface IScanBackendService
{
/// <summary>
/// Get list of parsed backends.
/// </summary>
ScanBackend[] List { get; }
/// <summary>
/// Queue URL for scan.
/// </summary>
/// <param name="result">Result entry.</param>
/// <param name="backend">Backend entry.</param>
/// <param name="fileUrl">Remote URL.</param>
Task QueueUrlScan(ScanResult result, ScanBackend backend, string fileUrl);
}
}

View File

@@ -4,19 +4,56 @@ using MalwareMultiScan.Api.Data.Models;
namespace MalwareMultiScan.Api.Services.Interfaces
{
/// <summary>
/// Scan result service.
/// </summary>
public interface IScanResultService
{
{
/// <summary>
/// Create scan result.
/// </summary>
/// <returns>Scan result entry with id.</returns>
Task<ScanResult> CreateScanResult();
/// <summary>
/// Get scan result.
/// </summary>
/// <param name="id">Result id.</param>
/// <returns>Scan result entry with id.</returns>
Task<ScanResult> GetScanResult(string id);
/// <summary>
/// Update scan result entry.
/// </summary>
/// <param name="resultId">Result id.</param>
/// <param name="backendId">Backend id.</param>
/// <param name="duration">Duration.</param>
/// <param name="completed">Completion status.</param>
/// <param name="succeeded">Indicates that scanning completed without error.</param>
/// <param name="threats">Detected names of threats.</param>
Task UpdateScanResultForBackend(string resultId, string backendId, long duration,
bool completed = false, bool succeeded = false, string[] threats = null);
/// <summary>
/// Queue URL for scanning.
/// </summary>
/// <param name="result">Result entry.</param>
/// <param name="fileUrl">Remote URL.</param>
Task QueueUrlScan(ScanResult result, string fileUrl);
/// <summary>
/// Store file.
/// </summary>
/// <param name="fileName">File name.</param>
/// <param name="fileStream">File stream.</param>
/// <returns>Unique file id.</returns>
Task<string> StoreFile(string fileName, Stream fileStream);
/// <summary>
/// Obtain file.
/// </summary>
/// <param name="id">Unique file id.</param>
/// <returns>Seekable file stream opened for reading.</returns>
Task<Stream> ObtainFile(string id);
}
}