public async Task <ActionResult <OutputIssue> > Get(Guid projectId, Guid issueId) { try { logger.LogInformation($"Beginning request: /api/projects/{projectId}/issues/{issueId} GET"); Issue issue = await issueManager.GetIssueAsync(projectId, issueId); OutputIssue output = issueMapper.MapOutputIssue(issue); logger.LogInformation($"Request complete: /api/projects/{projectId}/issues/{issueId} GET"); return(Ok(output)); } catch (Exception ex) { return(exceptionManager.Handle(ex)); } }
public async Task <ActionResult <OutputIssue> > PatchStatus(Guid projectId, Guid issueId, [FromBody] string status) { try { logger.LogInformation($"Beginning request: /api/projects/{projectId}/issues/{issueId} PATCH"); Issue updatedIssue = await issueManager.UpdateIssueStatusAsync(projectId, issueId, status); OutputIssue output = issueMapper.MapOutputIssue(updatedIssue); logger.LogInformation($"Request complete: /api/projects/{projectId}/issues/{issueId} PATCH"); return(Ok(output)); } catch (Exception ex) { return(exceptionManager.Handle(ex)); } }
public async Task <ActionResult <OutputIssue> > Put(Guid projectId, Guid issueId, [FromBody] UpdateIssue updateIssue) { try { logger.LogInformation($"Beginning request: /api/projects/{projectId}/issues/{issueId} PUT"); Issue updatedIssue = await issueManager.UpdateIssueAsync(projectId, issueId, updateIssue.EpicId, updateIssue.IssueType, updateIssue.Name, updateIssue.Description, updateIssue.Status, updateIssue.Estimate); OutputIssue output = issueMapper.MapOutputIssue(updatedIssue); logger.LogInformation($"Request complete: /api/projects/{projectId}/issues/{issueId} PUT"); return(Ok(output)); } catch (Exception ex) { return(exceptionManager.Handle(ex)); } }
public async Task <ActionResult <OutputIssue> > Post(Guid projectId, [FromBody] CreateIssue createIssue) { try { logger.LogInformation($"Beginning request: /api/projects/{projectId}/issues POST"); Issue createdIssue = await issueManager.CreateIssueAsync(projectId, createIssue.EpicId, createIssue.IssueType, createIssue.Name, createIssue.Description, createIssue.Status, createIssue.Estimate); string createdProjectUrl = $"{Utilities.Web.GetBaseUrl(HttpContext)}/api/projects/{projectId}/issues{createdIssue.PublicIssueId}"; OutputIssue output = issueMapper.MapOutputIssue(createdIssue); logger.LogInformation("Request complete: /api/projects/{projectId}/issues POST"); return(Created(createdProjectUrl, output)); } catch (Exception ex) { return(exceptionManager.Handle(ex)); } }