Добавил контроллер админки и публичный

Так же подключил Postgres, Minio и healthchecks
This commit is contained in:
2023-07-28 23:55:15 +03:00
parent f8c6040660
commit 6dcfdf3547
15 changed files with 1607 additions and 11 deletions

View File

@@ -0,0 +1,90 @@
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([FromBody] Bank bank)
{
await _adminService.AddBank(bank);
return Ok();
}
/// <summary>
/// Получение всех условий одного банка по id
/// </summary>
/// <response code="400">Банк не найден</response>
[HttpGet("banks")]
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>
[HttpGet("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>
[HttpPost("universities")]
public async Task<ActionResult> AddUniversity([FromBody] University university)
{
await _adminService.AddUniversity(university);
return Ok();
}
// TODO: Переделать
/// <summary>
/// Добавление направления университета
/// </summary>
[HttpPost("universities/directions")]
public async Task<ActionResult> AddUniversityDirection([FromBody] UniversityDirection universityDirection)
{
await _adminService.AddUniversityDirection(universityDirection);
return Ok();
}
}

View File

@@ -0,0 +1,41 @@
using Microsoft.AspNetCore.Mvc;
using PaydayBackend.Models;
using PaydayBackend.Services;
namespace PaydayBackend.Controllers;
[Route("v1/public")]
[ApiController]
public class PublicController : ControllerBase
{
private readonly IPublicService _publicService;
public PublicController(IPublicService publicService)
{
_publicService = publicService;
}
/// <summary>
/// Получение всех университетов
/// </summary>
[HttpGet("university")]
public async Task<IEnumerable<University>> GetAllUniversity()
{
return await _publicService.GetAllUniversity();
}
/// <summary>
/// Получение всех направлений университета
/// </summary>
/// <response code="400">Университет не найден</response>
[HttpGet("university/{id}/direction")]
public async Task<ActionResult<IEnumerable<University>>> GetAllUniversityDirectionByUniversityId(long id)
{
var result = await _publicService.GetAllUniversityDirectionByUniversityId(id);
if (result == null)
return BadRequest();
return Ok(result);
}
}