| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using BlackRock.Reporting.API.Mediator.AuthenticationMediator.Commands;
- using MediatR;
- using Microsoft.AspNetCore.Mvc;
-
- namespace BlackRock.Reporting.API.Controllers
- {
- public class AuthenticationController : ControllerBase
- {
- private readonly IMediator mediator;
-
- public AuthenticationController(IMediator mediator)
- {
- this.mediator = mediator;
- }
- [HttpPost("login")]
- public async Task<IActionResult> Login([FromBody] LoginCommand loginCommand)
- {
- var result = await mediator.Send(loginCommand);
- if (!result.IsSuccess)
- return Unauthorized(result.Error);
- return Ok(result.Data);
- }
- [HttpPost("refresh")]
- public async Task<IActionResult> Refresh([FromBody] RefreshCommand refreshCred)
- {
- var result = await mediator.Send(refreshCred);
-
- if (!result.IsSuccess)
- return Unauthorized(result.Error);
-
- return Ok(result.Data);
- }
- [HttpPost("logout")]
- public async Task<IActionResult> Logout([FromBody] LogoutCommand refreshCred)
- {
- var result = await mediator.Send(refreshCred);
-
- if (!result.IsSuccess)
- return Unauthorized(result.Error);
-
- return Ok();
- }
- }
- }
|