public async Task <ActionResult <string> > Delete(Guid id) { try { var uuid = Guid.Parse(User.Identity.Name); var uuidFromQuery = id; User userFromDb = await _context.Users.FirstOrDefaultAsync(u => u.Id == uuidFromQuery); User userFromTokenId = await _context.Users.FirstOrDefaultAsync(u => u.Id == uuid); if ((userFromTokenId == null) || (userFromDb?.Id != userFromTokenId?.Id)) { return(Unauthorized()); } _context.Remove(userFromDb); await _context.SaveChangesAsync(); return(StatusCode(204)); } catch (Exception e) { return(StatusCode(500)); } }