diff --git a/RMuseum/Controllers/GanjoorController.cs b/RMuseum/Controllers/GanjoorController.cs
index 7fa02249..cd6d9634 100644
--- a/RMuseum/Controllers/GanjoorController.cs
+++ b/RMuseum/Controllers/GanjoorController.cs
@@ -1929,19 +1929,19 @@ namespace RMuseum.Controllers
///
- /// get poem user bookmarks
+ /// get poem user bookmarks (only Id, CoupletIndex and DateTime are valid in the output view model)
///
///
///
[HttpGet]
[Route("bookmark/{poemId}")]
[Authorize]
- [ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(GanjoorUserBookmark[]))]
+ [ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(GanjoorUserBookmarkViewModel[]))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
public async Task GetPoemUserBookmarks(int poemId)
{
Guid loggedOnUserId = new Guid(User.Claims.FirstOrDefault(c => c.Type == "UserId").Value);
- RServiceResult res = await _ganjoorService.GetPoemUserBookmarks(loggedOnUserId, poemId);
+ RServiceResult res = await _ganjoorService.GetPoemUserBookmarks(loggedOnUserId, poemId);
if (!string.IsNullOrEmpty(res.ExceptionString))
return BadRequest(res.ExceptionString);
return Ok(res.Result);
diff --git a/RMuseum/RMuseum.xml b/RMuseum/RMuseum.xml
index da64922e..db4d7bb7 100644
--- a/RMuseum/RMuseum.xml
+++ b/RMuseum/RMuseum.xml
@@ -1227,7 +1227,7 @@
- get poem user bookmarks
+ get poem user bookmarks (only Id, CoupletIndex and DateTime are valid in the output view model)
@@ -8703,7 +8703,7 @@
- get user ganjoor bookmarks
+ get user ganjoor bookmarks (only Id, CoupletIndex and DateTime are valid)
@@ -9790,7 +9790,7 @@
- get user ganjoor bookmarks
+ get user ganjoor bookmarks (only Id, CoupletIndex and DateTime are valid)
diff --git a/RMuseum/Services/IGanjoorService.cs b/RMuseum/Services/IGanjoorService.cs
index 7c2d5e02..61a7b558 100644
--- a/RMuseum/Services/IGanjoorService.cs
+++ b/RMuseum/Services/IGanjoorService.cs
@@ -585,12 +585,12 @@ namespace RMuseum.Services
Task> DeleteGanjoorBookmark(Guid bookmarkId, Guid userId);
///
- /// get user ganjoor bookmarks
+ /// get user ganjoor bookmarks (only Id, CoupletIndex and DateTime are valid)
///
///
///
///
- Task> GetPoemUserBookmarks(Guid userId, int poemId);
+ Task> GetPoemUserBookmarks(Guid userId, int poemId);
///
/// get verse bookmarks
diff --git a/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-Bookmarking.cs b/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-Bookmarking.cs
index d65992f1..e7fd472e 100644
--- a/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-Bookmarking.cs
+++ b/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-Bookmarking.cs
@@ -82,15 +82,26 @@ namespace RMuseum.Services.Implementation
}
///
- /// get user ganjoor bookmarks
+ /// get user ganjoor bookmarks (only Id, CoupletIndex and DateTime are valid)
///
///
///
///
- public async Task> GetPoemUserBookmarks(Guid userId, int poemId)
- {
- GanjoorUserBookmark[] bookmarks = await _context.GanjoorUserBookmarks.Where(b => b.PoemId == poemId && b.UserId == userId).ToArrayAsync();
- return new RServiceResult(bookmarks);
+ public async Task> GetPoemUserBookmarks(Guid userId, int poemId)
+ {
+ GanjoorUserBookmarkViewModel[] bookmarks =
+ await _context.GanjoorUserBookmarks
+ .Where(b => b.PoemId == poemId && b.UserId == userId)
+ .Select(b =>
+ new GanjoorUserBookmarkViewModel()
+ {
+ Id = b.Id,
+ CoupletIndex = b.CoupletIndex,
+ DateTime = b.DateTime,
+ }
+ )
+ .ToArrayAsync();
+ return new RServiceResult(bookmarks);
}
///