public IActionResult Input() { if (_context.User.Count() == 0) { var collab = new User { LastName = "Collab", FirstName = "User", MailAdress = "*****@*****.**", Password = "******" }; _context.User.Add(collab); var admin = new User { LastName = "Admin", FirstName = "Sys", MailAdress = "*****@*****.**", Password = "******" }; _context.User.Add(admin); var list = new TodoList() { Name = "List42", OwnerID = admin.Id }; _context.TodoList.Add(list); list.TodoItems.Add(new TodoItem() { Name = "Item1", ListID = list.Id }); var todoListuser = new TodoListUser() { CollaboratorID = collab.Id, TodoListID = list.Id }; list.Collaborators.Add(todoListuser); _context.TodoList.Add(list); _context.SaveChanges(); var ret = new List <Object>() { admin, collab }; return(new ObjectResult(ret)); } return(BadRequest()); }
public IActionResult Create([FromBody] CollabRequest collabRequest) { if (collabRequest == null) { return(BadRequest()); } var list = _context.TodoList.First(l => l.Id.Equals(collabRequest.TodoListID)); if (list == null) { return(NotFound()); } var fUser = _context.User.First(u => u.MailAdress.Equals(collabRequest.MailAdress)); if (fUser == null) { return(NotFound()); } if (fUser.Id.Equals(list.OwnerID)) { return(BadRequest()); } var currentUser = HttpContext.User; if (currentUser.HasClaim(c => c.Type == JwtRegisteredClaimNames.Jti)) { string guidstring = currentUser.Claims.FirstOrDefault(c => c.Type == JwtRegisteredClaimNames.Jti).Value; if (list.OwnerID.ToString().Equals(guidstring)) { try{ var Col = new TodoListUser() { TodoListID = collabRequest.TodoListID, CollaboratorID = fUser.Id }; list.Collaborators.Add(Col); _context.SaveChanges(); return(new NoContentResult()); }catch (InvalidOperationException ex) { return(BadRequest(ex.Message)); } } } return(BadRequest()); }
public IActionResult Delete([FromBody] TodoListUser user) { if (user == null) { return(BadRequest()); } var list = _context.TodoList.First(l => l.Id.Equals(user.TodoListID)); if (list == null) { return(NotFound()); } var fUser = _context.User.First(u => u.Id.Equals(user.CollaboratorID)); if (fUser == null) { return(NotFound()); } var collaberator = _context.TodoListUser.Find(user.CollaboratorID, user.TodoListID); if (collaberator == null) { return(NotFound()); } var currentUser = HttpContext.User; if (currentUser.HasClaim(c => c.Type == JwtRegisteredClaimNames.Jti)) { string guidstring = currentUser.Claims.FirstOrDefault(c => c.Type == JwtRegisteredClaimNames.Jti).Value; if (list.OwnerID.ToString().Equals(guidstring) || user.CollaboratorID.ToString().Equals(guidstring)) { list.Collaborators.Remove(collaberator); _context.SaveChanges(); return(new NoContentResult()); } } return(BadRequest()); }
public Task <bool> UpdateAsync(TodoListUser entity) { throw new NotImplementedException(); }
public async Task <bool> DeleteAsync(TodoListUser entity) { db.Remove(entity); return(await RepositoryHelper.ValidateCorectnessAsync(db)); }