templates status - json в один уровень, toString

This commit is contained in:
Mikhail Trubnikov
2023-09-18 12:08:40 +10:00
parent cfcf2dc578
commit a31172464b
4 changed files with 44 additions and 1 deletions

View File

@@ -0,0 +1,10 @@
namespace PARR.API.Contracts.V1.Requests.Queries
{
public class RobinQuery
{
/// <summary>
/// Вернуть все значения string. Json в один уровень для Robin.
/// </summary>
public bool? String { get; set; }
}
}

View File

@@ -24,4 +24,29 @@
public Guid ParrTemplateId { get; set; }
public int StatusCode { get; set; }
}
public class TemplateStringResponse
{
public required string Name { get; set; }
public required string IsActive { get; set; }
public required string Assignment { get; set; }
public required string Title { get; set; }
public required string Category { get; set; }
public required string Branch { get; set; }
public required string SlaInterval { get; set; }
public required string ConfigurationItem { get; set; }
public required string ContactName { get; set; }
public required string Description { get; set; }
public required string ResolutionCode { get; set; }
public required string Resolution { get; set; }
public required string RzdMTNKprocess { get; set; }
public required string RzdMTNKsubprocess { get; set; }
public required string RzdMTNKtnk { get; set; }
public required string RzdMTNKjob { get; set; }
public required string Assignee { get; set; }
public required string ParrTemplateId { get; set; }
public required string StatusCode { get; set; }
}
}

View File

@@ -95,7 +95,7 @@ namespace PARR.API.Controllers.V1
/// <param name="statusCode"></param>
/// <returns></returns>
[HttpGet(ApiRoutes.Template.GetByStatusCode)]
public async Task<IActionResult> GetByStatus([FromRoute] int statusCode)
public async Task<IActionResult> GetByStatus([FromRoute] int statusCode, [FromQuery] RobinQuery query)
{
var template = await templateService.Get().FirstOrDefaultAsync(t => t.StatusCode == statusCode);
@@ -104,6 +104,12 @@ namespace PARR.API.Controllers.V1
var response = mapper.Map<TemplateResponse>(template);
if (query.String == true)
{
var stringResponse = mapper.Map<TemplateStringResponse>(response);
return Ok(stringResponse);
}
return Ok(new Response<TemplateResponse>(response, true));
}

View File

@@ -43,6 +43,8 @@ namespace PARR.API.MappingProfiles
.ForMember(d => d.RzdMTNKjob, o => o.MapFrom(s => s.Work))
.ForMember(d => d.Assignee, o => o.MapFrom(s => s.Worker));
CreateMap<TemplateResponse, TemplateStringResponse>();
CreateMap<StatusTemplate, StatusTemplateResponse>();
}