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();
}