This commit is contained in:
ngfrolov 2023-07-18 16:42:51 +05:00
commit 0aa8976526
Signed by: ng.frolov
GPG Key ID: E99907A0357B29A7

View File

@ -35,7 +35,7 @@ public class HelpPageController : ControllerBase
/// <summary>
/// Загрузка файла справки
/// </summary>
/// <param name="urlPage">Url страницы</param>
/// <param name="key">Url страницы</param>
/// <param name="idCategory">Id категории файла. Допустимое значение параметра: 20000</param>
/// <param name="file">Файл справки</param>
/// <param name="cancellationToken">Токен для отмены задачи</param>
@ -44,7 +44,7 @@ public class HelpPageController : ControllerBase
[Permission]
[ProducesResponseType(typeof(int), (int)HttpStatusCode.OK)]
public async Task<IActionResult> UploadAsync(
string urlPage,
[Required] string key,
[Range(minimum: 20000, maximum: 20000, ErrorMessage = "Категория файла недопустима. Допустимые: 20000")]
int idCategory,
[Required] IFormFile file,
@ -60,7 +60,7 @@ public class HelpPageController : ControllerBase
using var fileStream = file.OpenReadStream();
int helpPageId = await helpPageService.AddOrUpdateAsync(urlPage,
int helpPageId = await helpPageService.AddOrUpdateAsync(key,
idCategory,
file.FileName,
fileStream,
@ -72,20 +72,20 @@ public class HelpPageController : ControllerBase
/// <summary>
/// Получение файла справки
/// </summary>
/// <param name="urlPage">Url страницы</param>
/// <param name="key">Url страницы</param>
/// <param name="idCategory">Id категории файла. Допустимое значение параметра: 20000</param>
/// <param name="cancellationToken">Токен для отмены задачи</param>
/// <returns></returns>
[HttpGet]
[Route("{urlPage}/{idCategory}")]
[ProducesResponseType(typeof(PhysicalFileResult), (int)HttpStatusCode.OK)]
[ProducesResponseType(StatusCodes.Status204NoContent)]
public async Task<IActionResult> GetFileAsync(string urlPage,
public async Task<IActionResult> GetFileAsync(
[Required] string key,
[Range(minimum: 20000, maximum: 20000, ErrorMessage = "Категория файла недопустима. Допустимые: 20000")]
int idCategory,
CancellationToken cancellationToken)
{
var file = await helpPageService.GetFileStreamAsync(urlPage,
var file = await helpPageService.GetFileStreamAsync(key,
idCategory,
cancellationToken);
@ -102,20 +102,23 @@ public class HelpPageController : ControllerBase
/// <summary>
/// Проверяет наличие справки для страницы
/// </summary>
/// <param name="urlPage">Url страницы</param>
/// <param name="key">Url страницы</param>
/// <param name="idCategory">Id категории файла. Допустимое значение параметра: 20000</param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
[HttpGet]
[Route("isExisting/{urlPage}/{idCategory}")]
[Route("isExisting")]
[ProducesResponseType(typeof(bool), (int)HttpStatusCode.OK)]
public async Task<IActionResult> IsExistingAsync(string urlPage,
public async Task<IActionResult> IsExistingAsync(
[Required] string key,
[Range(minimum: 20000, maximum: 20000, ErrorMessage = "Категория файла недопустима. Допустимые: 20000")]
int idCategory,
CancellationToken cancellationToken)
{
return Ok(await helpPageRepository.IsExistingAsync(urlPage,
idCategory,
cancellationToken));
var helpPage = await helpPageRepository.GetOrDefaultByUrlPageAndIdCategoryAsync(key,
idCategory,
cancellationToken);
return Ok(helpPage != null);
}
}