All checks were successful
Create and publish a Docker image / build-and-push-image (push) Successful in 17s
103 lines
3.2 KiB
C#
103 lines
3.2 KiB
C#
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);
|
||
}
|
||
|
||
} |