Files
BeWoPlaner/Service/ServiceUtils/Update/UpdateFileResponseBuilder.cs
rene 4fbfdbaf2c Unit Tests erstellt
Informationen ausgelagert
Kleines Spy/Test Programm erstellt
Mehr Exceptions/InvalidUpdateFileRequestException.cs
Launcher Host in Download Server geändert
Download Server macht zusätzlich Abfrage an den Hauptserver
Download geht jetzt stückweise von statten
2022-12-28 16:36:59 +01:00

105 lines
3.3 KiB
C#

using BeWo.Service.ServiceUtils.Paths;
using BS.SharedLauncher.DataContract;
using BS.SharedLauncher.Exceptions;
using BS.SharedLauncher.Extensions;
using BS.SharedLauncher.Logic;
using BS.SharedLauncher.Update;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Service.ServiceUtils.Update
{
public static class UpdateFileResponseBuilder
{
private static string _Version;
private static string _Tenant;
private static UpdateFileRequest _Request;
private static UpdateFileResponse _Response;
public static UpdateFileResponse GetUpdateFileResponse(UpdateFileRequest request, string tenant)
{
_Response = new UpdateFileResponse();
_Tenant = tenant;
_Request = request;
_Version = request.Version;
calculate();
return _Response;
}
private static void calculate()
{
var path = Path.Combine(getSourceFolderPath(), _Request.UpdateFile.RelativePath);
_Response.FileData = File.ReadAllBytes(path);
}
private static string getSourceFolderPath()
{
switch (_Request.UpdateFile.Source)
{
case BS.SharedLauncher.Enums.UpdateFileSource.Invalid:
throw new UpdateException("Invalid UpdateFileSource");
case BS.SharedLauncher.Enums.UpdateFileSource.VersionDefault:
return ServerFilePaths.GetVersionDefaultFolderPath(_Version);
case BS.SharedLauncher.Enums.UpdateFileSource.VersionTenant:
return ServerFilePaths.GetVersionTenantFolderPath(_Version, _Tenant);
case BS.SharedLauncher.Enums.UpdateFileSource.VersionUser:
break;
case BS.SharedLauncher.Enums.UpdateFileSource.OverrideTenant:
return ServerFilePaths.GetOverrideTenantFolderPath(_Tenant);
case BS.SharedLauncher.Enums.UpdateFileSource.OverrideUser:
break;
default:
break;
}
// User bekommt eigene Daten Feature
throw new NotImplementedException("#479839129");
}
//public static UpdateResponse GetUpdatePlanResponse(UpdateRequest request, string tenant)
//{
// var reader = new UpdateConfigReader(ServerFilePaths.GetVersionConfigFilePath(), tenant);
// _Tenant = tenant;
// _Request = request;
// _Response = new UpdateResponse
// {
// CurrentPackage = new PlanerPackageInfoDC
// {
// DefaultVersion = reader.GetDefaultVersion(),
// TenantVersion = reader.GetSpecificVersion()
// }
// };
// _Version = _Response.CurrentPackage.Version;
// // Lädt komplettes Paket ohne Hash
// CalcFullPackage();
// // Lade Hash Werte
// _Response.CurrentPackage.LoadHash();
// CalcFilesToRequest();
// CalcFilesToDeleteInApply();
// CalcFilesToIgnoreInDownload();
// return _Response;
//}
}
}