Sergey Karmanov 23e334f201
All checks were successful
Create and publish a Docker image / build-and-push-image (push) Successful in 17s
Обновил выдачу направлений
2023-07-30 02:59:16 +03:00

103 lines
3.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Mvc;
using PaydayBackend.Models;
using PaydayBackend.Services;
namespace PaydayBackend.Controllers;
[Route("v1/admin")]
[ApiController]
public class AdminController : ControllerBase
{
private readonly IAdminService _adminService;
public AdminController(IAdminService adminService)
{
_adminService = adminService;
}
// -------------------------------------| Банки |-------------------------------------
/// <summary>
/// Добавление банка
/// </summary>
[HttpPost("banks")]
public async Task<ActionResult> AddBank([MaxLength(50)][MinLength(3)] string bankName, IFormFile file)
{
string result = await _adminService.AddBank(bankName, file);
if (result == "ОК")
return Ok(result);
return BadRequest(result);
}
/// <summary>
/// Получение всех банков
/// </summary>
[HttpGet("banks")]
public async Task<ActionResult> GetBanks()
{
return Ok(await _adminService.GetAllBanks());
}
/// <summary>
/// Получение всех условий одного банка по id
/// </summary>
/// <response code="400">Банк не найден</response>
[HttpGet("banks/{bankId}/loanterms")]
public async Task<ActionResult> GetAllLoanTermsByBankId(long bankId)
{
var result = await _adminService.GetAllLoanTermsByBankId(bankId);
if (result == null)
return BadRequest();
return Ok(result);
}
// TODO: Переделать
/// <summary>
/// Добавление условия кредитования
/// </summary>
[HttpPost("banks/{bank_id}/loanterms")]
public async Task<ActionResult> AddLoanTerm(long bank_id, [FromBody] LoanTerm loanTerm)
{
await _adminService.AddLoanTerm(loanTerm);
return Ok();
}
/// <summary>
/// Удаление ВСЕХ условий кредитования
/// </summary>
/// <response code="400">Банк не найден</response>
[HttpDelete("banks/{bank_id}/loanterms")]
public async Task<ActionResult> AddLoanTerm(long bankId)
{
var result = await _adminService.RemoveAllLoanTermsByBankId(bankId);
return result == "OK" ? Ok() : BadRequest(result);
}
// -------------------------------------| Университеты |-------------------------------------
/// <summary>
/// Получение всех университетов
/// </summary>
[HttpGet("universities")]
public async Task<IEnumerable<University>> GetUniversity()
{
return await _adminService.GetAllUniversity();
}
/// <summary>
/// Добавление университета
/// </summary>
[HttpPost("universities")]
public async Task<ActionResult> AddUniversity([MaxLength(15)][MinLength(2)] string shortName, [MaxLength(60)][MinLength(5)] string fullName, IFormFile file)
{
string result = await _adminService.AddUniversity(shortName, fullName, file);
if (result == "ОК")
return Ok(result);
return BadRequest(result);
}
}