From a31172464b7b15542839a96afa0e4d5775740000 Mon Sep 17 00:00:00 2001 From: Mikhail Trubnikov Date: Mon, 18 Sep 2023 12:08:40 +1000 Subject: [PATCH] =?UTF-8?q?templates=20status=20-=20json=20=D0=B2=20=D0=BE?= =?UTF-8?q?=D0=B4=D0=B8=D0=BD=20=D1=83=D1=80=D0=BE=D0=B2=D0=B5=D0=BD=D1=8C?= =?UTF-8?q?,=20toString?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../V1/Requests/Queries/RobinQuery.cs | 10 ++++++++ .../V1/Responses/TemplateResponse.cs | 25 +++++++++++++++++++ PARR.API/Controllers/V1/TemplateController.cs | 8 +++++- .../DomainToResponseProfile.cs | 2 ++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 PARR.API/Contracts/V1/Requests/Queries/RobinQuery.cs diff --git a/PARR.API/Contracts/V1/Requests/Queries/RobinQuery.cs b/PARR.API/Contracts/V1/Requests/Queries/RobinQuery.cs new file mode 100644 index 00000000..11d92eb0 --- /dev/null +++ b/PARR.API/Contracts/V1/Requests/Queries/RobinQuery.cs @@ -0,0 +1,10 @@ +namespace PARR.API.Contracts.V1.Requests.Queries +{ + public class RobinQuery + { + /// + /// Вернуть все значения string. Json в один уровень для Robin. + /// + public bool? String { get; set; } + } +} diff --git a/PARR.API/Contracts/V1/Responses/TemplateResponse.cs b/PARR.API/Contracts/V1/Responses/TemplateResponse.cs index 8b8f5813..7ee850ac 100644 --- a/PARR.API/Contracts/V1/Responses/TemplateResponse.cs +++ b/PARR.API/Contracts/V1/Responses/TemplateResponse.cs @@ -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; } + } } diff --git a/PARR.API/Controllers/V1/TemplateController.cs b/PARR.API/Controllers/V1/TemplateController.cs index e1abd2cc..459d6ff9 100644 --- a/PARR.API/Controllers/V1/TemplateController.cs +++ b/PARR.API/Controllers/V1/TemplateController.cs @@ -95,7 +95,7 @@ namespace PARR.API.Controllers.V1 /// /// [HttpGet(ApiRoutes.Template.GetByStatusCode)] - public async Task GetByStatus([FromRoute] int statusCode) + public async Task 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(template); + if (query.String == true) + { + var stringResponse = mapper.Map(response); + return Ok(stringResponse); + } + return Ok(new Response(response, true)); } diff --git a/PARR.API/MappingProfiles/DomainToResponseProfile.cs b/PARR.API/MappingProfiles/DomainToResponseProfile.cs index 16528321..63ec5231 100644 --- a/PARR.API/MappingProfiles/DomainToResponseProfile.cs +++ b/PARR.API/MappingProfiles/DomainToResponseProfile.cs @@ -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(); + CreateMap(); }