diff --git a/RMuseum/Controllers/GanjoorController.cs b/RMuseum/Controllers/GanjoorController.cs index 9eb76177..5b6a45e7 100644 --- a/RMuseum/Controllers/GanjoorController.cs +++ b/RMuseum/Controllers/GanjoorController.cs @@ -2430,6 +2430,30 @@ namespace RMuseum.Controllers return Ok(pagedResult.Result.Items); } + /// + /// Get Poem sections based on poem format + /// + /// + /// + /// + /// + [HttpGet] + [Route("sections/tagged/format")] + [AllowAnonymous] + [ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable))] + [ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))] + public async Task GetPoemSectionsByPoemFormat([FromQuery] PagingParameterModel paging, GanjoorPoemFormat format, int poetId = 0) + { + var pagedResult = await _ganjoorService.GetPoemSectionsByPoemFormat(paging, format, poetId == 0 ? (int?)null : poetId); + if (!string.IsNullOrEmpty(pagedResult.ExceptionString)) + return BadRequest(pagedResult.ExceptionString); + + // Paging Header + HttpContext.Response.Headers.Append("paging-headers", JsonConvert.SerializeObject(pagedResult.Result.PagingMeta)); + + return Ok(pagedResult.Result.Items); + } + /// /// search /// diff --git a/RMuseum/RMuseum.xml b/RMuseum/RMuseum.xml index 76c0d439..e3a533c2 100644 --- a/RMuseum/RMuseum.xml +++ b/RMuseum/RMuseum.xml @@ -1614,6 +1614,15 @@ 0 means all poets + + + Get Poem sections based on poem format + + + + + + search