From 6f2b405cf00d9713931c6f42cf83105f73030660 Mon Sep 17 00:00:00 2001 From: Hamid Reza Mohammadi Date: Fri, 11 Aug 2023 11:04:42 +0330 Subject: [PATCH] #407 parameter for omitting pages text --- RMuseum/Controllers/PDFLibraryController.cs | 12 +++++++----- RMuseum/RMuseum.xml | 12 ++++++++---- RMuseum/Services/IPDFLibraryService.cs | 3 ++- RMuseum/Services/Implementation/PDFLibraryService.cs | 10 +++++++++- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/RMuseum/Controllers/PDFLibraryController.cs b/RMuseum/Controllers/PDFLibraryController.cs index 6280064f..216e5054 100644 --- a/RMuseum/Controllers/PDFLibraryController.cs +++ b/RMuseum/Controllers/PDFLibraryController.cs @@ -119,13 +119,14 @@ namespace RMuseum.Controllers /// /// /// + /// /// [HttpGet("secure/{id}")] [Authorize] [ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(PDFBook))] [ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))] [ProducesResponseType((int)HttpStatusCode.NotFound)] - public async Task GetUserVisiblePDFBookAsync(int id, bool omitBookText = true) + public async Task GetUserVisiblePDFBookAsync(int id, bool omitBookText = true, bool omitPageText = false) { RServiceResult v = await _GetUserVisiblePDFBooksStatusSetAsync ( @@ -138,7 +139,7 @@ namespace RMuseum.Controllers RServiceResult bookRes = null; if (visibleItems.Length == 1 && visibleItems[0] == PublishStatus.Published) { - bookRes = await _pdfService.GetPDFBookByIdAsync(id, new PublishStatus[] { PublishStatus.Published }, omitBookText); + bookRes = await _pdfService.GetPDFBookByIdAsync(id, new PublishStatus[] { PublishStatus.Published }, omitBookText, omitPageText); if (!string.IsNullOrEmpty(bookRes.ExceptionString)) { return BadRequest(bookRes.ExceptionString); @@ -148,7 +149,7 @@ namespace RMuseum.Controllers } if (bookRes == null) { - bookRes = await _pdfService.GetPDFBookByIdAsync(id, visibleItems, omitBookText); + bookRes = await _pdfService.GetPDFBookByIdAsync(id, visibleItems, omitBookText, omitPageText); } if (!string.IsNullOrEmpty(bookRes.ExceptionString)) @@ -209,15 +210,16 @@ namespace RMuseum.Controllers /// /// /// + /// /// [HttpGet("{id}")] [AllowAnonymous] [ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(PDFBook))] [ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))] [ProducesResponseType((int)HttpStatusCode.NotFound)] - public async Task GetPDFBookByIdAsync(int id, bool omitBookText = true) + public async Task GetPDFBookByIdAsync(int id, bool omitBookText = true, bool omitPageText = false) { - var bookRes = await _pdfService.GetPDFBookByIdAsync(id, new PublishStatus[] { PublishStatus.Published }, omitBookText); + var bookRes = await _pdfService.GetPDFBookByIdAsync(id, new PublishStatus[] { PublishStatus.Published }, omitBookText, omitPageText); if (!string.IsNullOrEmpty(bookRes.ExceptionString)) { diff --git a/RMuseum/RMuseum.xml b/RMuseum/RMuseum.xml index 00e56209..5dd5eadf 100644 --- a/RMuseum/RMuseum.xml +++ b/RMuseum/RMuseum.xml @@ -2394,20 +2394,22 @@ - + secure get a pdf book + - + get published PDF Book by id + @@ -18412,13 +18414,14 @@ - + get pdf book by id + @@ -19664,13 +19667,14 @@ - + get pdf book by id + diff --git a/RMuseum/Services/IPDFLibraryService.cs b/RMuseum/Services/IPDFLibraryService.cs index 00f3c75a..9604bfd6 100644 --- a/RMuseum/Services/IPDFLibraryService.cs +++ b/RMuseum/Services/IPDFLibraryService.cs @@ -26,8 +26,9 @@ namespace RMuseum.Services /// /// /// + /// /// - Task> GetPDFBookByIdAsync(int id, PublishStatus[] statusArray, bool omitBookText); + Task> GetPDFBookByIdAsync(int id, PublishStatus[] statusArray, bool omitBookText, bool omitPageText); /// /// get all pdfbooks (including CoverImage info but not pages or tagibutes info) diff --git a/RMuseum/Services/Implementation/PDFLibraryService.cs b/RMuseum/Services/Implementation/PDFLibraryService.cs index 7280dc7a..809147c7 100644 --- a/RMuseum/Services/Implementation/PDFLibraryService.cs +++ b/RMuseum/Services/Implementation/PDFLibraryService.cs @@ -46,8 +46,9 @@ namespace RMuseum.Services.Implementation /// /// /// + /// /// - public async Task> GetPDFBookByIdAsync(int id, PublishStatus[] statusArray, bool omitBookText) + public async Task> GetPDFBookByIdAsync(int id, PublishStatus[] statusArray, bool omitBookText, bool omitPageText) { try { @@ -67,6 +68,13 @@ namespace RMuseum.Services.Implementation { pdfBook.BookText = ""; } + if(omitPageText) + { + foreach (var page in pdfBook.Pages) + { + page.PageText = ""; + } + } if (pdfBook.Book != null) { pdfBook.Book.PDFBooks = await _context.PDFBooks.AsNoTracking()