diff options
Diffstat (limited to 'Software/Visual_Studio/Web/Tango.MachineService/Controllers/FSEController.cs')
| -rw-r--r-- | Software/Visual_Studio/Web/Tango.MachineService/Controllers/FSEController.cs | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/FSEController.cs b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/FSEController.cs index b9dacfcf9..38c75934a 100644 --- a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/FSEController.cs +++ b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/FSEController.cs @@ -84,6 +84,16 @@ namespace Tango.MachineService.Controllers throw new AuthenticationException("Your account has been disabled. Please contact your administrator."); } + if (request.Build == BuildVariants.FSE && !user.HasPermission(Permissions.FSE_RunFSE)) + { + throw new AuthenticationException("You do not have permission to access Tango FSE. Please contact your administrator."); + } + + if (request.Build == BuildVariants.TwineStudio && !user.HasPermission(Permissions.TwineStudioAccess)) + { + throw new AuthenticationException("You do not have permission to access Twine Studio. Please contact your administrator."); + } + user.LastLogin = DateTime.UtcNow; db.SaveChanges(); } @@ -190,7 +200,7 @@ namespace Tango.MachineService.Controllers using (ObservablesContext db = ObservablesContextHelper.CreateContext()) { - var versions = db.FseVersions.ToList(); + var versions = db.FseVersions.ToList().Where(x => x.BuildVariant == request.Build.ToInt32()).ToList(); FseVersion latestVersion = null; @@ -336,7 +346,7 @@ namespace Tango.MachineService.Controllers { using (ObservablesContext db = ObservablesContextHelper.CreateContext()) { - var version = db.FseVersions.ToList().OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault(); + var version = db.FseVersions.ToList().Where(x => x.BuildVariant == request.Build.ToInt32()).OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault(); return new LatestVersionResponse() { Version = version != null ? version.Version : "0.0.0.0" }; } } @@ -356,7 +366,7 @@ namespace Tango.MachineService.Controllers if (user != null && user.HasPermission(Permissions.PublishMachineStudioVersions)) { - var latestVersion = db.FseVersions.ToList().OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault(); + var latestVersion = db.FseVersions.ToList().Where(x => x.BuildVariant == request.Build.ToInt32()).ToList().OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault(); Version local_version = Version.Parse(request.Version); if (latestVersion == null || local_version > Version.Parse(latestVersion.Version)) @@ -375,7 +385,8 @@ namespace Tango.MachineService.Controllers Token = response.Token, Version = request.Version, BlobName = "BLOB", - InstallerBlobName = installerBlob.Name + InstallerBlobName = installerBlob.Name, + BuildVariant = request.Build.ToInt32() }; _pendingUploads.Add(pending_upload); @@ -413,6 +424,7 @@ namespace Tango.MachineService.Controllers InstallerBlobName = upload.InstallerBlobName, UserGuid = upload.UserGuid, Version = upload.Version, + BuildVariant = upload.BuildVariant }); db.SaveChanges(); |
