#400 pdf source api
This commit is contained in:
parent
6ec98fa5d9
commit
e9f81cbfcc
@ -876,7 +876,7 @@ namespace RMuseum.Controllers
|
||||
/// get book related pdf books
|
||||
/// </summary>
|
||||
/// <param name="paging"></param>
|
||||
/// <param name="bookId"></param>
|
||||
/// <param name="sourceId"></param>
|
||||
/// <returns></returns>
|
||||
|
||||
[HttpGet("book/{bookId}/pdfs")]
|
||||
@ -884,9 +884,9 @@ namespace RMuseum.Controllers
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable<PDFBook>))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
|
||||
public async Task<IActionResult> GetBookRelatedPDFBooksAsync([FromQuery] PagingParameterModel paging, int bookId)
|
||||
public async Task<IActionResult> GetBookRelatedPDFBooksAsync([FromQuery] PagingParameterModel paging, int sourceId)
|
||||
{
|
||||
var res = await _pdfService.GetBookRelatedPDFBooksAsync(paging, bookId);
|
||||
var res = await _pdfService.GetBookRelatedPDFBooksAsync(paging, sourceId);
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
{
|
||||
return BadRequest(res.ExceptionString);
|
||||
@ -1006,6 +1006,138 @@ namespace RMuseum.Controllers
|
||||
return Ok(res.Result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// get all sources
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
|
||||
[HttpGet("source")]
|
||||
[AllowAnonymous]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable<PDFSource>))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
|
||||
public async Task<IActionResult> GetPDFSourcesAsync()
|
||||
{
|
||||
var res = await _pdfService.GetPDFSourcesAsync();
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
{
|
||||
return BadRequest(res.ExceptionString);
|
||||
}
|
||||
|
||||
return Ok(res.Result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// source by id
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("source/{id}")]
|
||||
[AllowAnonymous]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(PDFSource))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
|
||||
public async Task<IActionResult> GetPDFSourceByIdAsync(int id)
|
||||
{
|
||||
var res = await _pdfService.GetPDFSourceByIdAsync(id);
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
{
|
||||
return BadRequest(res.ExceptionString);
|
||||
}
|
||||
|
||||
return Ok(res.Result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// add a new source
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <returns></returns>
|
||||
|
||||
[HttpPost("source")]
|
||||
[Authorize(Policy = RMuseumSecurableItem.PDFLibraryEntityShortName + ":" + SecurableItem.AddOperationShortName)]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(PDFSource))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
public async Task<IActionResult> AddPDFSourceAsync([FromBody] PDFSource source)
|
||||
{
|
||||
var res = await _pdfService.AddPDFSourceAsync(source);
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
return BadRequest(res.ExceptionString);
|
||||
return Ok(res.Result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// update source
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPut("source")]
|
||||
[Authorize(Policy = RMuseumSecurableItem.PDFLibraryEntityShortName + ":" + SecurableItem.ModifyOperationShortName)]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK)]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
public async Task<IActionResult> UpdatePDFSourceAsync([FromBody] PDFSource source)
|
||||
{
|
||||
var res = await _pdfService.UpdatePDFSourceAsync(source);
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
return BadRequest(res.ExceptionString);
|
||||
return Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// delete book
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete("source")]
|
||||
[Authorize(Policy = RMuseumSecurableItem.PDFLibraryEntityShortName + ":" + SecurableItem.DeleteOperationShortName)]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK)]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
public async Task<IActionResult> DeletePDFSourceAsync(int id)
|
||||
{
|
||||
var res = await _pdfService.DeletePDFSourceAsync(id);
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
return BadRequest(res.ExceptionString);
|
||||
return Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// get pdf source pdfs
|
||||
/// </summary>
|
||||
/// <param name="paging"></param>
|
||||
/// <param name="sourceId"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("source/{sourceId}/pdfs")]
|
||||
[AllowAnonymous]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable<PDFBook>))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
|
||||
public async Task<IActionResult> GetSourceRelatedPDFBooksAsync([FromQuery] PagingParameterModel paging, int sourceId)
|
||||
{
|
||||
var res = await _pdfService.GetSourceRelatedPDFBooksAsync(paging, sourceId);
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
{
|
||||
return BadRequest(res.ExceptionString);
|
||||
}
|
||||
|
||||
if (res.Result.Books.Count() > 0)
|
||||
{
|
||||
DateTime lastModification = res.Result.Books.Max(i => i.LastModified);
|
||||
Response.GetTypedHeaders().LastModified = lastModification;
|
||||
|
||||
var requestHeaders = Request.GetTypedHeaders();
|
||||
if (requestHeaders.IfModifiedSince.HasValue &&
|
||||
requestHeaders.IfModifiedSince.Value >= lastModification)
|
||||
{
|
||||
return StatusCode(StatusCodes.Status304NotModified);
|
||||
}
|
||||
}
|
||||
|
||||
// Paging Header
|
||||
HttpContext.Response.Headers.Add("paging-headers", JsonConvert.SerializeObject(res.Result.PagingMeta));
|
||||
|
||||
return Ok(res.Result.Books);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// PDF Service
|
||||
/// </summary>
|
||||
|
||||
@ -2571,7 +2571,7 @@
|
||||
get book related pdf books
|
||||
</summary>
|
||||
<param name="paging"></param>
|
||||
<param name="bookId"></param>
|
||||
<param name="sourceId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.PDFLibraryController.GetMultiVolumePDFCollectionByIdAsync(System.Int32)">
|
||||
@ -2609,6 +2609,48 @@
|
||||
<param name="volumeId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.PDFLibraryController.GetPDFSourcesAsync">
|
||||
<summary>
|
||||
get all sources
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.PDFLibraryController.GetPDFSourceByIdAsync(System.Int32)">
|
||||
<summary>
|
||||
source by id
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.PDFLibraryController.AddPDFSourceAsync(RMuseum.Models.PDFLibrary.PDFSource)">
|
||||
<summary>
|
||||
add a new source
|
||||
</summary>
|
||||
<param name="source"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.PDFLibraryController.UpdatePDFSourceAsync(RMuseum.Models.PDFLibrary.PDFSource)">
|
||||
<summary>
|
||||
update source
|
||||
</summary>
|
||||
<param name="source"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.PDFLibraryController.DeletePDFSourceAsync(System.Int32)">
|
||||
<summary>
|
||||
delete book
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.PDFLibraryController.GetSourceRelatedPDFBooksAsync(RSecurityBackend.Models.Generic.PagingParameterModel,System.Int32)">
|
||||
<summary>
|
||||
get pdf source pdfs
|
||||
</summary>
|
||||
<param name="paging"></param>
|
||||
<param name="sourceId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="F:RMuseum.Controllers.PDFLibraryController._pdfService">
|
||||
<summary>
|
||||
PDF Service
|
||||
@ -19149,6 +19191,48 @@
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IPDFLibraryService.GetPDFSourceByIdAsync(System.Int32)">
|
||||
<summary>
|
||||
get pdf source by id
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IPDFLibraryService.GetPDFSourcesAsync">
|
||||
<summary>
|
||||
Get All PDF Sources
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IPDFLibraryService.AddPDFSourceAsync(RMuseum.Models.PDFLibrary.PDFSource)">
|
||||
<summary>
|
||||
Add PDF Source
|
||||
</summary>
|
||||
<param name="source"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IPDFLibraryService.UpdatePDFSourceAsync(RMuseum.Models.PDFLibrary.PDFSource)">
|
||||
<summary>
|
||||
update PDF Source
|
||||
</summary>
|
||||
<param name="model"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IPDFLibraryService.DeletePDFSourceAsync(System.Int32)">
|
||||
<summary>
|
||||
delete PDF Source
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IPDFLibraryService.GetSourceRelatedPDFBooksAsync(RSecurityBackend.Models.Generic.PagingParameterModel,System.Int32)">
|
||||
<summary>
|
||||
get source pdf books
|
||||
</summary>
|
||||
<param name="paging"></param>
|
||||
<param name="sourceId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:RMuseum.Services.IPictureFileService">
|
||||
<summary>
|
||||
manipulating picture files
|
||||
|
||||
@ -275,5 +275,47 @@ namespace RMuseum.Services
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<MultiVolumePDFCollection>> GetMultiVolumePDFCollectionByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// get pdf source by id
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<PDFSource>> GetPDFSourceByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// Get All PDF Sources
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<PDFSource[]>> GetPDFSourcesAsync();
|
||||
|
||||
/// <summary>
|
||||
/// Add PDF Source
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<PDFSource>> AddPDFSourceAsync(PDFSource source);
|
||||
|
||||
/// <summary>
|
||||
/// update PDF Source
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<PDFSource>> UpdatePDFSourceAsync(PDFSource model);
|
||||
|
||||
/// <summary>
|
||||
/// delete PDF Source
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<bool>> DeletePDFSourceAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// get source pdf books
|
||||
/// </summary>
|
||||
/// <param name="paging"></param>
|
||||
/// <param name="sourceId"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<(PaginationMetadata PagingMeta, PDFBook[] Books)>> GetSourceRelatedPDFBooksAsync(PagingParameterModel paging, int sourceId);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user