From de762e7e5b346af5a12eff04cbaa0696eec15b8c Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 19 Dec 2018 12:57:04 +0200 Subject: Moved all web transport to json :/ --- .../Controllers/VersionUpdateController.cs | 168 --------------------- 1 file changed, 168 deletions(-) delete mode 100644 Software/Visual_Studio/Web/Tango.MachineService/Controllers/VersionUpdateController.cs (limited to 'Software/Visual_Studio/Web/Tango.MachineService/Controllers/VersionUpdateController.cs') diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/VersionUpdateController.cs b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/VersionUpdateController.cs deleted file mode 100644 index 2ad8bd735..000000000 --- a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/VersionUpdateController.cs +++ /dev/null @@ -1,168 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net; -using System.Net.Http; -using System.Security.Authentication; -using System.Web.Http; -using Tango.BL; -using Tango.BL.Entities; -using Tango.BL.Enumerations; -using Tango.Logging; -using Tango.MachineService.Helpers; -using Tango.PPC.Common.Update; - -namespace Tango.MachineService.Controllers -{ - public class VersionUpdateController : JsonController - { - private class PendingUpload - { - public String Token { get; set; } - - public String Version { get; set; } - - public String UserGuid { get; set; } - - public String Comments { get; set; } - - public String MachineVersionGuid { get; set; } - - public String BlobName { get; set; } - } - - private static List _pendingUploads; - - static VersionUpdateController() - { - _pendingUploads = new List(); - } - - [HttpPost] - public LatestVersionResponse GetLatestVersion(LatestVersionRequest request) - { - LatestVersionResponse response = new LatestVersionResponse(); - - using (ObservablesContext db = ObservablesContextHelper.CreateContext()) - { - var versions = db.TangoVersions.ToList(); - - if (versions.Count == 0) - { - return new LatestVersionResponse() - { - Version = "0.0.0.0", - }; - } - - var machine_versions = versions.Where(x => x.MachineVersionGuid == request.MachineVersionGuid).ToList(); - - if (machine_versions.Count > 0) - { - response.Version = db.TangoVersions.Where(x => x.MachineVersionGuid == request.MachineVersionGuid).ToList().OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault().Version; - } - else - { - throw new ArgumentException("The specified machine version was not found!"); - } - } - - return response; - } - - [HttpPost] - public UploadVersionResponse UploadVersion(UploadVersionRequest request) - { - UploadVersionResponse response = new UploadVersionResponse(); - - using (ObservablesContext db = ObservablesContextHelper.CreateContext()) - { - //Load relations first... - db.Roles.ToList(); - db.Permissions.ToList(); - db.UsersRoles.ToList(); - db.RolesPermissions.ToList(); - - var user = db.Users.SingleOrDefault(x => x.Email.ToLower() == request.Email.ToLower() && x.Password == request.Password); - - if (user != null && user.HasPermission(Permissions.PublishMachineStudioVersion)) - { - var versions = db.TangoVersions.ToList().Where(x => x.MachineVersionGuid == request.MachineVersionGuid).OrderByDescending(x => Version.Parse(x.Version)).ToList(); - - TangoVersion latestVersion = new TangoVersion(); - latestVersion.Version = "0.0.0.0"; - - if (versions.Count > 0) - { - latestVersion = versions.FirstOrDefault(); - } - - Version currentVersion = Version.Parse(request.Version); - - if (currentVersion > Version.Parse(latestVersion.Version)) - { - String newVersionFileName = "Tango Version" + " " + currentVersion.ToString() + ".zip"; - - var client = StorageHelper.GetStorageBlobClient(); - var container = StorageHelper.GetTangoVersionsContainer(client); - var blob = StorageHelper.CreateEmptyBlob(container, newVersionFileName); - - response.Token = Guid.NewGuid().ToString(); - response.BlobAddress = StorageHelper.GenerateBlobWriteSignature(blob, TimeSpan.FromMinutes(30)); - - _pendingUploads.Add(new PendingUpload() - { - UserGuid = user.Guid, - Comments = request.Comments, - Token = response.Token, - Version = request.Version, - BlobName = blob.Name, - MachineVersionGuid = request.MachineVersionGuid, - }); - } - else - { - throw new ArgumentException("New version must be greater than latest version."); - } - } - else - { - throw new AuthenticationException("Invalid user credentials."); - } - } - - return response; - } - - [HttpPost] - public UploadCompletedResponse NotifyUploadCompleted(UploadCompletedRequest request) - { - PendingUpload upload = _pendingUploads.FirstOrDefault(x => x.Token == request.Token); - - if (upload != null) - { - _pendingUploads.RemoveAll(x => x.Token == upload.Token); - - using (ObservablesContext db = ObservablesContextHelper.CreateContext()) - { - db.TangoVersions.Add(new TangoVersion() - { - Comments = upload.Comments, - BlobName = upload.BlobName, - UserGuid = upload.UserGuid, - Version = upload.Version, - MachineVersionGuid = upload.MachineVersionGuid - }); - - db.SaveChanges(); - } - - return new UploadCompletedResponse(); - } - else - { - throw new AuthenticationException("Invalid upload token."); - } - } - } -} -- cgit v1.3.1