using Microsoft.AspNetCore.Mvc; using PARR.API.Contracts.V1; using PARR.API.Contracts.V1.Responses.Base; using PARR.API.Controllers.V1.Base; using PARR.API.Services.Interfaces; using PARR.DAL.TransformServices; namespace PARR.API.Controllers.V1 { public class TestController : BaseApiController { private readonly IClientService clientService; private readonly IEsppScheduleTransformService esppScheduleTransformService; public TestController(IClientService clientService, IEsppScheduleTransformService esppScheduleTransformService) { this.clientService = clientService; this.esppScheduleTransformService = esppScheduleTransformService; } /// /// Получить мой ip /// /// [HttpGet(ApiRoutes.Test.GetMyIp)] public IActionResult GetMyIp() { var ipAddress = clientService.GetClientIp(); //var ipV4 = ipAddress?.MapToIPv4(); var ip = ipAddress?.ToString(); return Ok(new Response(new { ip }, true)); } /// /// Получить следующую дату запуска /// /// /// /// [HttpGet(ApiRoutes.Test.GetNextScheduleDate)] public async Task GetNextScheduleDate([FromRoute] Guid applicationInWorkId, [FromRoute] DateTimeOffset lastRunDate) { var result = await esppScheduleTransformService.GetNextDateAsync(applicationInWorkId, lastRunDate); return Ok(result); } /// /// Получить следующее расписание /// /// /// /// [HttpGet(ApiRoutes.Test.GetNextSchedule)] public async Task GetNextSchedule([FromRoute] Guid applicationInWorkId, [FromRoute] DateTimeOffset lastRunDate) { var result = await esppScheduleTransformService.GetNextScheduleAsync(applicationInWorkId, lastRunDate); return Ok(result); } } }