public async void UpdateAttack([FromBody] object attack) { Attack parsed = null; User context = await GetContextUser(); if (context is null) { Response.StatusCode = 403; return; } try { parsed = (Attack)attack; UserDatabaseInterface.updateAttack(context.username, parsed); } catch (Exception ex) { if (ex is ArgumentException || ex is InvalidCastException) { Response.StatusCode = 400; } else { throw; } } }
public IActionResult AttackList() { string username = HttpContext.Session.GetString("username"); User user = UserDatabaseInterface.readUser(username); if (username is null || user is null) { return(RedirectToAction("Index", "Home")); }
public async void DeleteUser() { User context = await GetContextUser(); if ((context is null)) { Response.StatusCode = 403; return; } UserDatabaseInterface.deleteUser(context.username); }
public async Task <string> ReadUser() { User context = await GetContextUser(); if ((context is null)) { Response.StatusCode = 403; return(null); } return(new JavaScriptSerializer().Serialize(UserDatabaseInterface.readUser(context.username))); }
public IActionResult Login(string username, string password) { User check = UserDatabaseInterface.readUser(username); if (!(check is null) && check.validPassword(password, username)) { HttpContext.Session.SetString("username", username); return(RedirectToAction("Index", "Home")); } return(View()); }
public void CreateUser([FromBody] object user) { User parsed; try { parsed = (User)user; UserDatabaseInterface.createUser(parsed); } catch (InvalidCastException) { Response.StatusCode = 400; } }
public IActionResult CreateAccount(string username, string password, string passwordcon) { User check = UserDatabaseInterface.readUser(username); if ((check is null) && password.Equals(passwordcon)) { UserDatabaseInterface.createUser(new Models.User { username = username, password = Models.User.hashPassword(password, username) }); HttpContext.Session.SetString("username", username); return(RedirectToAction("Index", "Home")); } return(View()); }
public async void DeleteAttack(int id) { User context = await GetContextUser(); if (context is null) { Response.StatusCode = 403; return; } try { UserDatabaseInterface.deleteAttack(context.username, id); } catch (ArgumentException ex) { Response.StatusCode = 400; } }
public async Task <string> ReadAttacks() { User context = await GetContextUser(); if (context is null) { Response.StatusCode = 403; return(null); } try { return(new JavaScriptSerializer().Serialize(UserDatabaseInterface.readAttacks(context.username))); } catch (ArgumentException ex) { Response.StatusCode = 400; return(null); } }
public async Task <string> getDPRCalculationForAttack(int id) { User context = await GetContextUser(); if (context is null) { Response.StatusCode = 403; return(null); } try { var attack = UserDatabaseInterface.readAttack(context.username, id); return(new JavaScriptSerializer().Serialize(attack.DPRCaclulation())); } catch (ArgumentException ex) { Response.StatusCode = 400; return(null); } }
public async void UpdateUser([FromBody] object user) { User context = await GetContextUser(); User parsed; try { parsed = (User)user; if ((context is null) || !context.username.Equals(parsed.username)) { Response.StatusCode = 403; return; } parsed.attacks = context.attacks; UserDatabaseInterface.updateUser(parsed); } catch (InvalidCastException) { Response.StatusCode = 400; } }
public async Task <User> Authenticate(HttpContext context) { string authHeader = context.Request.Headers["Authorization"]; if (authHeader != null && authHeader.StartsWith("Basic")) { string encodedUsernamePassword = authHeader.Substring("Basic ".Length).Trim(); Encoding encoding = Encoding.GetEncoding("iso-8859-1"); string usernamePassword = encoding.GetString(Convert.FromBase64String(encodedUsernamePassword)); int seperatorIndex = usernamePassword.IndexOf(':'); string username = usernamePassword.Substring(0, seperatorIndex); string password = usernamePassword.Substring(seperatorIndex + 1); User user = UserDatabaseInterface.readUser(username); if (!(user is null)) { if (user.validPassword(password, username)) { return(user); } } } return(null); }