aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-12-24 17:39:01 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-12-24 17:39:01 +0200
commit795444f234f6b45bc83d5c7b28725bd7ebc7ee89 (patch)
tree7b2d86f0118c65316e0b9a965a60c1386749369a /Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
parent0fb83fb3abb456ee6707b7f3cabc6b0c1ab2281b (diff)
downloadTango-795444f234f6b45bc83d5c7b28725bd7ebc7ee89.tar.gz
Tango-795444f234f6b45bc83d5c7b28725bd7ebc7ee89.zip
Working on machine service and machine studio.
Diffstat (limited to 'Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs')
-rw-r--r--Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs22
1 files changed, 8 insertions, 14 deletions
diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
index 8d46ed7d9..18f8dbc0b 100644
--- a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
+++ b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
@@ -18,15 +18,18 @@ using Tango.MachineStudio.Common.Update;
using Tango.Web.Controllers;
using Tango.Web.Helpers;
using Tango.Web.Storage;
+using Tango.Web.Authentication;
namespace Tango.MachineService.Controllers
{
public class MachineStudioController : JsonController
{
+ private static TokensManager _tokens_manager;
private static List<MachineStudioPendingUpload> _pendingUploads;
static MachineStudioController()
{
+ _tokens_manager = new TokensManager();
_pendingUploads = new List<MachineStudioPendingUpload>();
}
@@ -41,15 +44,7 @@ namespace Tango.MachineService.Controllers
using (ObservablesContext db = ObservablesContextHelper.CreateContext())
{
- //Load relation 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.RunMachineStudio) || (request.Email == "ForceUpdate"))
+ if (_tokens_manager.Exists(request.Token))
{
var versions = db.MachineStudioVersions.ToList();
@@ -66,8 +61,6 @@ namespace Tango.MachineService.Controllers
Version currentVersion = Version.Parse(request.Version);
- bool isForcedUpdate = versions.Exists(x => x.ForceUpdate && Version.Parse(x.Version) > currentVersion);
-
String comments = String.Join(Environment.NewLine, versions.OrderBy(x => Version.Parse(x.Version)).Where(x => Version.Parse(x.Version) > currentVersion).Select(x => x.Comments));
if (latestVersion != null && Version.Parse(latestVersion.Version) > currentVersion)
@@ -81,13 +74,12 @@ namespace Tango.MachineService.Controllers
response.IsUpdateAvailable = true;
response.Version = latestVersion.Version;
response.Comments = latestVersion.Comments;
- response.ForcedUpdate = isForcedUpdate;
response.IsStable = latestVersion.Stable;
}
}
else
{
- throw new AuthenticationException("Invalid user credentials.");
+ throw new AuthenticationException("Invalid token.");
}
}
@@ -245,7 +237,9 @@ namespace Tango.MachineService.Controllers
IntegratedSecurity = false,
UserName = request.Email,
Password = request.Password,
- }
+ },
+
+ Token = _tokens_manager.CreateNew()
};
}