public async Task <IActionResult> OnPostExportAsync() { var bookmarks = await _context.GetBookmarksAsync(); var exportedBookmarks = new List <ExportBookmarkModel>(); foreach (var bookmark in bookmarks) { exportedBookmarks.Add(new ExportBookmarkModel { Id = bookmark.Id, Location = bookmark.Resource.Location, Title = bookmark.Title ?? "", Description = bookmark.Description ?? "", Public = bookmark.IsPublic, Favorite = bookmark.Favorited, Tags = BookmarkTagHelper.ListToString(bookmark.Tags), Username = bookmark.User.Username }); } return(new JsonResult(exportedBookmarks, new JsonSerializerOptions { WriteIndented = true, })); }
public async Task <IActionResult> OnGetAsync(int id) { string githubId = ""; foreach (Claim claim in User.Claims) { if (claim.Type == ClaimTypes.NameIdentifier) { githubId = claim.Value; } } ThisUser = await _context.GetUserByGithubId(githubId); Bookmark bookmark = await _context.GetBookmarkAsync(id); if (ThisUser == null || bookmark == null || !ThisUser.Id.Equals(bookmark.UserId)) { return(RedirectToPage("./Manage")); } Bookmark = new EditBookmarkModel { Id = bookmark.Id, Title = bookmark.Title ?? "", Location = bookmark.Resource.Location, Description = bookmark.Description ?? "", Tags = BookmarkTagHelper.ListToString(bookmark.Tags), IsPublic = bookmark.IsPublic, Favorited = bookmark.Favorited }; ReturnPage = Request.Query.ContainsKey("return") ? Request.Query["return"] : "./Manage"; return(Page()); }