public async Task <IActionResult> StopAndTakeAwayOnPromise(string apiKey, int sshServerId) { if (!HasAccess(apiKey)) { return(BadRequest("No AuthKey set or wrong auth key!")); } var sshServer = await _sshServerSerivce.FindOne(sshServerId); if (sshServer == null) { return(BadRequest("The ssh server does not exist!")); } sshServer.OldOwner = sshServer.Owner; sshServer.Owner = null; await _sshServerSerivce.Update(sshServer); return(Ok()); }
public void Update() { // arrange var sshServer = SshServerInsert(_sshServerSerivce); var sshServers = _sshServerSerivce.FindAll().GetAwaiter().GetResult(); sshServer.Should().NotBeNull(); // act sshServer.Name = "UpdateTest"; sshServer.SshPassword = ""; sshServer.SshPassphrase = ""; var sshServerResult = _sshServerSerivce.Update(sshServer, false).GetAwaiter().GetResult(); // assert var sshServersAfterUpdate = _sshServerSerivce.FindAll().GetAwaiter().GetResult(); var sshServerAfterUpdate = sshServersAfterUpdate.FirstOrDefault(); sshServerAfterUpdate.Should().NotBeNull(); sshServerAfterUpdate.Name.Should().Be("UpdateTest"); sshServerResult.Should().BeTrue(); }
public async Task <IActionResult> SaveServer(SshServer server) { if (!await CheckIfUserHasrights(server.Id)) { return(Forbid()); } var newServer = false; if (!ModelState.IsValid) { return(View("Server", server)); } server.LiteDbUsers = (await _userservice.FindAll()).ToList(); if (server.SshKeyFileNameForm != null) { await using var ms = new MemoryStream(); await server.SshKeyFileNameForm.CopyToAsync(ms); var fileBytes = ms.ToArray(); server.SshKeyFileName = fileBytes; // act on the Base64 data } if (server.SshKeyFileNameRootForHostingForm != null) { await using var ms = new MemoryStream(); await server.SshKeyFileNameRootForHostingForm.CopyToAsync(ms); var fileBytes = ms.ToArray(); server.SshKeyFileNameRootForHosting = fileBytes; // act on the Base64 data } server.Owner = (await _userservice.FindAll()) .FirstOrDefault(x => x.Id == new ObjectId(server.LiteDbUserId)); try { if (server.Id == 0) { newServer = true; server.Id = await _service.Insert(server); } else { if (server.SshKeyFileName == null) { var old = await _service.FindOne(server.Id); if (old.SshKeyFileName != null) { server.SshKeyFileName = old.SshKeyFileName; } } await _service.Update(server); } } catch (ValidateException e) { if (e.FieldName == "" && e.Message.ToLower().Contains("telnet")) { ModelState.AddModelError("Password", e.Message); } else if (e.FieldName == "" && e.Message.ToLower().Contains("ssh")) { ModelState.AddModelError("SshPassword", e.Message); } else if (e.FieldName == "") { ModelState.AddModelError("Id", e.Message); } else { ModelState.AddModelError(e.FieldName, e.Message); } } if (ModelState.ErrorCount > 0) { if (newServer) { return(await EditServer(server)); } return(await EditServer(server)); } if (newServer) { return(await Index()); } return(await Index()); }