aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Web/Tango.MachineService/Controllers/FSEController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Web/Tango.MachineService/Controllers/FSEController.cs')
-rw-r--r--Software/Visual_Studio/Web/Tango.MachineService/Controllers/FSEController.cs20
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();