Добавил документацию
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) =>
|
||||
_modeusService = modeusService;
|
||||
|
||||
/// <summary>
|
||||
/// Получить расписание для указанных пользователей.
|
||||
/// </summary>
|
||||
/// <param name="attendeePersonId">Список GUID пользователей, для которых запрашивается расписание.</param>
|
||||
/// <returns>Список событий расписания.</returns>
|
||||
/// <response code="200">Возвращает расписание</response>
|
||||
[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);
|
||||
return Ok(schedule);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получить расписание по пользовательскому запросу.
|
||||
/// </summary>
|
||||
/// <param name="request">Объект запроса, содержащий параметры фильтрации расписания.</param>
|
||||
/// <returns>Список событий расписания.</returns>
|
||||
/// <response code="200">Возвращает расписание</response>
|
||||
[HttpPost]
|
||||
public async Task<IActionResult> Post([FromBody] ModeusScheduleRequest request)
|
||||
{
|
||||
|
@@ -13,9 +13,17 @@ namespace SfeduSchedule.Controllers
|
||||
public SfeduController(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]
|
||||
[Route("guid")]
|
||||
public async Task<IActionResult> Get()
|
||||
public async Task<IActionResult> Get([FromQuery] string? redirectUri)
|
||||
{
|
||||
var name = User.FindFirst("name")?.Value;
|
||||
if (string.IsNullOrEmpty(name))
|
||||
@@ -25,6 +33,11 @@ namespace SfeduSchedule.Controllers
|
||||
if (string.IsNullOrEmpty(guid))
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
|
||||
if (!string.IsNullOrEmpty(redirectUri))
|
||||
{
|
||||
return Redirect(redirectUri + "?guid=" + guid);
|
||||
}
|
||||
|
||||
return Ok(guid);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user