using Microsoft.AspNetCore.Mvc; namespace OI.Metrology.Server.ApiControllers; using OI.Metrology.Shared.DataModels; using OI.Metrology.Shared.Models.Stateless; using System.Text.Json; [Route("api/[controller]")] public class InfinityQSV2Controller : Controller, IInfinityQSV2Controller { private readonly IInfinityQSV2Repository _InfinityQSRepositoryV2; public InfinityQSV2Controller(IInfinityQSV2Repository InfinityQSRepositoryV2) => _InfinityQSRepositoryV2 = InfinityQSRepositoryV2; [HttpGet("{sub_group_id}/commandText")] public IActionResult GetCommandText(string sub_group_id, string process, string job, string part, string lot, string date_time) { string commandText = _InfinityQSRepositoryV2.GetCommandText(sub_group_id, process, job, part, lot, date_time); return Content(commandText, "text/plain; charset=utf-8"); } [HttpGet("{sub_group_id}/data")] public IActionResult GetData(string sub_group_id) { Result result = _InfinityQSRepositoryV2.GetData(sub_group_id); return Json(result, new JsonSerializerOptions { PropertyNamingPolicy = null, WriteIndented = true }); } [HttpGet("{sub_group_id}/descriptors")] public IActionResult GetDescriptors(string sub_group_id) { Result result = _InfinityQSRepositoryV2.GetDescriptors(sub_group_id); return Json(result, new JsonSerializerOptions { PropertyNamingPolicy = null, WriteIndented = true }); } [HttpGet("{sub_group_id}/events")] public IActionResult GetEvents(string sub_group_id) { Result result = _InfinityQSRepositoryV2.GetEvents(sub_group_id); return Json(result, new JsonSerializerOptions { PropertyNamingPolicy = null, WriteIndented = true }); } [HttpGet("{sub_group_id}/header")] public IActionResult GetHeader(string sub_group_id) { Result result = _InfinityQSRepositoryV2.GetHeader(sub_group_id); return Json(result, new JsonSerializerOptions { PropertyNamingPolicy = null, WriteIndented = true }); } }