diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-02-25 18:18:35 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-02-25 18:18:35 +0200 |
| commit | e112866a2cf44ddeb5b40e8ffc84614ecfe6abdf (patch) | |
| tree | 48614b95fe9e3d549a465a7b381f432c21a0fef8 /Software/Visual_Studio/Web | |
| parent | 08d9858ecd0d4adb0c9c6076d7d2b1216e8f64c3 (diff) | |
| download | Tango-e112866a2cf44ddeb5b40e8ffc84614ecfe6abdf.tar.gz Tango-e112866a2cf44ddeb5b40e8ffc84614ecfe6abdf.zip | |
Implemented auto installer release for machine studio and PPC.
Diffstat (limited to 'Software/Visual_Studio/Web')
4 files changed, 37 insertions, 13 deletions
diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs index 1a66d0fe6..b718887af 100644 --- a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs +++ b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs @@ -162,11 +162,11 @@ namespace Tango.MachineService.Controllers if (user != null && user.HasPermission(Permissions.PublishMachineStudioVersions)) { var latestVersion = db.MachineStudioVersions.ToList().OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault(); - Version currentVersion = Version.Parse(request.Version); + Version local_version = Version.Parse(request.Version); - if (latestVersion == null || currentVersion > Version.Parse(latestVersion.Version)) + if (latestVersion == null || local_version > Version.Parse(latestVersion.Version)) { - String newVersionFileName = "Machine Studio Version" + " " + currentVersion.ToString() + ".zip"; + String newVersionFileName = "Machine Studio v" + local_version.ToString() + ".zip"; var manager = new BlobStorageManager(); var container = manager.GetContainer(MachineServiceConfig.MACHINE_STUDIO_VERSIONS_CONTAINER); @@ -175,14 +175,24 @@ namespace Tango.MachineService.Controllers response.Token = Guid.NewGuid().ToString(); response.BlobAddress = blob.GenerateWriteSignature(TimeSpan.FromMinutes(30)); - _pendingUploads.Add(new MachineStudioPendingUpload() + MachineStudioPendingUpload pending_upload = new MachineStudioPendingUpload() { UserGuid = user.Guid, Comments = request.Comments, Token = response.Token, Version = request.Version, BlobName = blob.Name, - }); + }; + + if (request.WithInstaller) + { + String installerVersionFileName = "Machine Studio v" + local_version.ToString() + ".exe"; + var installerBlob = container.CreateEmptyBlob(installerVersionFileName); + response.InstallerBlobAddress = installerBlob.GenerateWriteSignature(TimeSpan.FromMinutes(30)); + pending_upload.InstallerBlobName = installerBlob.Name; + } + + _pendingUploads.Add(pending_upload); } else { @@ -220,6 +230,7 @@ namespace Tango.MachineService.Controllers { Comments = upload.Comments, BlobName = upload.BlobName, + InstallerBlobName = upload.InstallerBlobName, UserGuid = upload.UserGuid, Version = upload.Version, }); diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/PPCController.cs b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/PPCController.cs index b937afbb0..a2016d4e0 100644 --- a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/PPCController.cs +++ b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/PPCController.cs @@ -325,11 +325,11 @@ namespace Tango.MachineService.Controllers latestVersion = versions.FirstOrDefault(); } - Version currentVersion = Version.Parse(request.Version); + Version local_version = Version.Parse(request.Version); - if (currentVersion > Version.Parse(latestVersion.Version)) + if (local_version > Version.Parse(latestVersion.Version)) { - String newVersionFileName = $"{machine_version.Name} - Tango Version {currentVersion.ToString()}.tup"; + String newVersionFileName = $"{machine_version.Name} - Tango Version {local_version.ToString()}.tup"; var manager = new BlobStorageManager(); var container = manager.GetContainer(MachineServiceConfig.TANGO_VERSIONS_CONTAINER); @@ -338,7 +338,7 @@ namespace Tango.MachineService.Controllers response.Token = Guid.NewGuid().ToString(); response.BlobAddress = blob.GenerateWriteSignature(TimeSpan.FromMinutes(30)); - _pendingUploads.Add(new PPCPendingUpload() + PPCPendingUpload pending_upload = new PPCPendingUpload() { UserGuid = user.Guid, Comments = request.Comments, @@ -346,7 +346,17 @@ namespace Tango.MachineService.Controllers Version = request.Version, BlobName = blob.Name, MachineVersionGuid = request.MachineVersionGuid, - }); + }; + + if (request.WithInstaller) + { + String installerVersionFileName = Path.ChangeExtension(newVersionFileName, ".exe"); + var installerBlob = container.CreateEmptyBlob(installerVersionFileName); + response.InstallerBlobAddress = installerBlob.GenerateWriteSignature(TimeSpan.FromMinutes(30)); + pending_upload.InstallerBlobName = installerBlob.Name; + } + + _pendingUploads.Add(pending_upload); } else { @@ -378,9 +388,10 @@ namespace Tango.MachineService.Controllers { Comments = upload.Comments, BlobName = upload.BlobName, + InstallerBlobName = upload.InstallerBlobName, UserGuid = upload.UserGuid, Version = upload.Version, - MachineVersionGuid = upload.MachineVersionGuid + MachineVersionGuid = upload.MachineVersionGuid, }); db.SaveChanges(); diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Models/MachineStudioPendingUpload.cs b/Software/Visual_Studio/Web/Tango.MachineService/Models/MachineStudioPendingUpload.cs index e537d7d44..871f926d6 100644 --- a/Software/Visual_Studio/Web/Tango.MachineService/Models/MachineStudioPendingUpload.cs +++ b/Software/Visual_Studio/Web/Tango.MachineService/Models/MachineStudioPendingUpload.cs @@ -15,8 +15,8 @@ namespace Tango.MachineService.Models public String Comments { get; set; } - public String FilePath { get; set; } - public String BlobName { get; set; } + + public String InstallerBlobName { get; set; } } }
\ No newline at end of file diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Models/PPCPendingUpload.cs b/Software/Visual_Studio/Web/Tango.MachineService/Models/PPCPendingUpload.cs index 10797e758..b97d8b6c8 100644 --- a/Software/Visual_Studio/Web/Tango.MachineService/Models/PPCPendingUpload.cs +++ b/Software/Visual_Studio/Web/Tango.MachineService/Models/PPCPendingUpload.cs @@ -18,5 +18,7 @@ namespace Tango.MachineService.Models public String MachineVersionGuid { get; set; } public String BlobName { get; set; } + + public String InstallerBlobName { get; set; } } }
\ No newline at end of file |
