From 69722ad9593045704fa2c26f49159d6dd5788bbc Mon Sep 17 00:00:00 2001 From: Hamid Reza Mohammadi Date: Fri, 24 Jan 2025 14:02:32 +0330 Subject: [PATCH] refactoring --- RMuseum/Controllers/ArtifactController.cs | 66 +++++++++++------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/RMuseum/Controllers/ArtifactController.cs b/RMuseum/Controllers/ArtifactController.cs index c65bc05e..50aef70d 100644 --- a/RMuseum/Controllers/ArtifactController.cs +++ b/RMuseum/Controllers/ArtifactController.cs @@ -30,6 +30,39 @@ namespace RMuseum.Controllers [Route("api/artifacts")] public class ArtifactController : Controller { + /// + /// gets specified publish artifact item info (including images + attributes) + /// + /// + /// + /// + [HttpGet("{artifactUrl}/{itemUrl}")] + [AllowAnonymous] + [ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(RArtifactItemRecordViewModel))] + [ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))] + [ProducesResponseType((int)HttpStatusCode.NotFound)] + public async Task GetArtifactItemByFrienlyUrl(string artifactUrl, string itemUrl) + { + RServiceResult itemInfo = await _artifactService.GetArtifactItemByFrienlyUrl(artifactUrl, itemUrl, new PublishStatus[] { PublishStatus.Published }); + if (!string.IsNullOrEmpty(itemInfo.ExceptionString)) + { + return BadRequest(itemInfo.ExceptionString); + } + if (itemInfo.Result == null) + return NotFound(); + + Response.GetTypedHeaders().LastModified = itemInfo.Result.Item.LastModified; + + var requestHeaders = Request.GetTypedHeaders(); + if (requestHeaders.IfModifiedSince.HasValue && + requestHeaders.IfModifiedSince.Value >= itemInfo.Result.Item.LastModified) + { + return StatusCode(StatusCodes.Status304NotModified); + } + + return Ok(itemInfo.Result); + } + /// /// get all published artifacts (including CoverImage info but not items info) /// @@ -1069,39 +1102,6 @@ namespace RMuseum.Controllers - /// - /// gets specified publish artifact item info (including images + attributes) - /// - /// - /// - /// - [HttpGet("{artifactUrl}/{itemUrl}")] - [AllowAnonymous] - [ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(RArtifactItemRecordViewModel))] - [ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))] - [ProducesResponseType((int)HttpStatusCode.NotFound)] - public async Task GetArtifactItemByFrienlyUrl(string artifactUrl, string itemUrl) - { - RServiceResult itemInfo = await _artifactService.GetArtifactItemByFrienlyUrl(artifactUrl, itemUrl, new PublishStatus[] { PublishStatus.Published }); - if (!string.IsNullOrEmpty(itemInfo.ExceptionString)) - { - return BadRequest(itemInfo.ExceptionString); - } - if (itemInfo.Result == null) - return NotFound(); - - Response.GetTypedHeaders().LastModified = itemInfo.Result.Item.LastModified; - - var requestHeaders = Request.GetTypedHeaders(); - if (requestHeaders.IfModifiedSince.HasValue && - requestHeaders.IfModifiedSince.Value >= itemInfo.Result.Item.LastModified) - { - return StatusCode(StatusCodes.Status304NotModified); - } - - return Ok(itemInfo.Result); - } - /// /// update an artifact item info ///