Добавил документацию
All checks were successful
Create and publish a Docker image / Publish image (push) Successful in 2m46s
All checks were successful
Create and publish a Docker image / Publish image (push) Successful in 2m46s
This commit is contained in:
@@ -11,14 +11,36 @@ namespace SfeduSchedule.Controllers
|
|||||||
public ScheduleController(ModeusService modeusService) =>
|
public ScheduleController(ModeusService modeusService) =>
|
||||||
_modeusService = modeusService;
|
_modeusService = modeusService;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Получить расписание для указанных пользователей.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="attendeePersonId">Список GUID пользователей, для которых запрашивается расписание.</param>
|
||||||
|
/// <returns>Список событий расписания.</returns>
|
||||||
|
/// <response code="200">Возвращает расписание</response>
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<IActionResult> Get([FromQuery] List<Guid> attendeePersonId)
|
public async Task<IActionResult> Get([FromQuery] List<Guid> attendeePersonId, [FromQuery] DateTime? startDate, [FromQuery] DateTime? endDate)
|
||||||
{
|
{
|
||||||
var msr = new ModeusScheduleRequest(500, DateTime.UtcNow, DateTime.UtcNow.AddDays(20), attendeePersonId);
|
if (!startDate.HasValue)
|
||||||
|
{
|
||||||
|
startDate = DateTime.UtcNow;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!endDate.HasValue)
|
||||||
|
{
|
||||||
|
endDate = DateTime.UtcNow.AddDays(20);
|
||||||
|
}
|
||||||
|
|
||||||
|
var msr = new ModeusScheduleRequest(500, (DateTime)startDate, (DateTime)endDate, attendeePersonId);
|
||||||
var schedule = await _modeusService.GetScheduleAsync(msr);
|
var schedule = await _modeusService.GetScheduleAsync(msr);
|
||||||
return Ok(schedule);
|
return Ok(schedule);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Получить расписание по пользовательскому запросу.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request">Объект запроса, содержащий параметры фильтрации расписания.</param>
|
||||||
|
/// <returns>Список событий расписания.</returns>
|
||||||
|
/// <response code="200">Возвращает расписание</response>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IActionResult> Post([FromBody] ModeusScheduleRequest request)
|
public async Task<IActionResult> Post([FromBody] ModeusScheduleRequest request)
|
||||||
{
|
{
|
||||||
|
@@ -13,9 +13,17 @@ namespace SfeduSchedule.Controllers
|
|||||||
public SfeduController(ModeusService modeusService) =>
|
public SfeduController(ModeusService modeusService) =>
|
||||||
_modeusService = modeusService;
|
_modeusService = modeusService;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Получить GUID пользователя через авторизацию Microsoft.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="redirectUri">Необязательный параметр. Если указан, произойдет редирект на указанный URI после получения GUID. (<url>/?guid=XXX)</param>
|
||||||
|
/// <returns>Строка GUID пользователя или редирект на указанный URI.</returns>
|
||||||
|
/// <response code="200">Возвращает GUID пользователя</response>
|
||||||
|
/// <response code="302">Редирект на указанный URI</response>
|
||||||
|
/// <response code="500">Ошибка при получении имени пользователя или GUID</response>
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("guid")]
|
[Route("guid")]
|
||||||
public async Task<IActionResult> Get()
|
public async Task<IActionResult> Get([FromQuery] string? redirectUri)
|
||||||
{
|
{
|
||||||
var name = User.FindFirst("name")?.Value;
|
var name = User.FindFirst("name")?.Value;
|
||||||
if (string.IsNullOrEmpty(name))
|
if (string.IsNullOrEmpty(name))
|
||||||
@@ -25,6 +33,11 @@ namespace SfeduSchedule.Controllers
|
|||||||
if (string.IsNullOrEmpty(guid))
|
if (string.IsNullOrEmpty(guid))
|
||||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(redirectUri))
|
||||||
|
{
|
||||||
|
return Redirect(redirectUri + "?guid=" + guid);
|
||||||
|
}
|
||||||
|
|
||||||
return Ok(guid);
|
return Ok(guid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user