Registration and actions for approving authorities
This commit is contained in:
		| @@ -1,30 +0,0 @@ | ||||
| using ApplicationLayer.Services.Locations.RequestHandlers.AdminRequests; | ||||
| using ApplicationLayer.Services.Locations.Requests; | ||||
| using Microsoft.AspNetCore.Authorization; | ||||
| using Microsoft.AspNetCore.Mvc; | ||||
| using SchengenVisaApi.Common; | ||||
|  | ||||
| namespace SchengenVisaApi.Controllers | ||||
| { | ||||
|     [ApiController] | ||||
|     [Route("admin")] | ||||
|     [Authorize(policy: PolicyConstants.AdminPolicy)] | ||||
|     public class AdminController(IEditLocationsRequestsHandler requestsHandler) : ControllerBase | ||||
|     { | ||||
|         [HttpPost] | ||||
|         [Route("country")] | ||||
|         public async Task<IActionResult> AddCountry(AddCountryRequest request, CancellationToken cancellationToken) | ||||
|         { | ||||
|             await requestsHandler.AddCountryAsync(request, cancellationToken); | ||||
|             return Ok(); | ||||
|         } | ||||
|  | ||||
|         [HttpPost] | ||||
|         [Route("authorities")] | ||||
|         public async Task<IActionResult> AddAuthority(AddCountryRequest request, CancellationToken cancellationToken) | ||||
|         { | ||||
|             await requestsHandler.AddCountryAsync(request, cancellationToken); | ||||
|             return Ok(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -1,5 +1,8 @@ | ||||
| using ApplicationLayer.Services.Locations.RequestHandlers.ApplicantRequests; | ||||
| using ApplicationLayer.Services.Locations.RequestHandlers; | ||||
| using ApplicationLayer.Services.Locations.Requests; | ||||
| using Microsoft.AspNetCore.Authorization; | ||||
| using Microsoft.AspNetCore.Mvc; | ||||
| using SchengenVisaApi.Common; | ||||
|  | ||||
| namespace SchengenVisaApi.Controllers | ||||
| { | ||||
| @@ -12,5 +15,14 @@ namespace SchengenVisaApi.Controllers | ||||
|         { | ||||
|             return Ok(await requestsHandler.HandleGetRequestAsync(cancellationToken)); | ||||
|         } | ||||
|  | ||||
|         [HttpPost] | ||||
|         [Route("country")] | ||||
|         [Authorize(policy: PolicyConstants.AdminPolicy)] | ||||
|         public async Task<IActionResult> AddCountry(AddCountryRequest request, CancellationToken cancellationToken) | ||||
|         { | ||||
|             await requestsHandler.AddCountryAsync(request, cancellationToken); | ||||
|             return Ok(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -1,7 +1,9 @@ | ||||
| using ApplicationLayer.Services.AuthServices.LoginService; | ||||
| using ApplicationLayer.Services.AuthServices.RegisterService; | ||||
| using ApplicationLayer.Services.AuthServices.Requests; | ||||
| using Microsoft.AspNetCore.Authorization; | ||||
| using Microsoft.AspNetCore.Mvc; | ||||
| using SchengenVisaApi.Common; | ||||
|  | ||||
| namespace SchengenVisaApi.Controllers | ||||
| { | ||||
| @@ -10,12 +12,22 @@ namespace SchengenVisaApi.Controllers | ||||
|     public class UsersController(IRegisterService registerService, ILoginService loginService) : ControllerBase | ||||
|     { | ||||
|         [HttpPost] | ||||
|         [Route("applicant")] | ||||
|         public async Task<IActionResult> Register(RegisterApplicantRequest request, CancellationToken cancellationToken) | ||||
|         { | ||||
|             await registerService.Register(request, cancellationToken); | ||||
|             return Created(); | ||||
|         } | ||||
|  | ||||
|         [HttpPost] | ||||
|         [Authorize(policy: PolicyConstants.AdminPolicy)] | ||||
|         [Route("authority")] | ||||
|         public async Task<IActionResult> RegisterAuthority(RegisterRequest request, CancellationToken cancellationToken) | ||||
|         { | ||||
|             await registerService.RegisterAuthority(request, cancellationToken); | ||||
|             return Created(); | ||||
|         } | ||||
|  | ||||
|         [HttpGet] | ||||
|         public async Task<IActionResult> Login(string email, string password, CancellationToken cancellationToken) | ||||
|         { | ||||
|   | ||||
| @@ -9,11 +9,10 @@ namespace SchengenVisaApi.Controllers; | ||||
|  | ||||
| [ApiController] | ||||
| [Route("[controller]")] | ||||
| [Authorize(policy: PolicyConstants.ApplicantPolicy)] | ||||
| public class VisaApplicationController(IVisaApplicationRequestsHandler visaApplicationRequestsHandler) : ControllerBase | ||||
| { | ||||
|     //TODO remove | ||||
|     [HttpGet] | ||||
|     [Authorize(policy: PolicyConstants.ApprovingAuthorityPolicy)] | ||||
|     public async Task<IActionResult> Get(CancellationToken cancellationToken) | ||||
|     { | ||||
|         var result = await visaApplicationRequestsHandler.Get(cancellationToken); | ||||
| @@ -21,6 +20,7 @@ public class VisaApplicationController(IVisaApplicationRequestsHandler visaAppli | ||||
|     } | ||||
|  | ||||
|     [HttpPost] | ||||
|     [Authorize(policy: PolicyConstants.ApplicantPolicy)] | ||||
|     public void Create(VisaApplicationCreateRequest request, CancellationToken cancellationToken) | ||||
|     { | ||||
|         var userId = Guid.Parse(HttpContext.User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value); | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| using ApplicationLayer.GeneralExceptions; | ||||
| using ApplicationLayer.Services.AuthServices.LoginService.Exceptions; | ||||
| using ApplicationLayer.Services.Locations.RequestHandlers.AdminRequests.Exceptions; | ||||
| using ApplicationLayer.Services.Locations.RequestHandlers.Exceptions; | ||||
| using Domains; | ||||
| using Infrastructure.Database.GeneralExceptions; | ||||
| using Microsoft.AspNetCore.Mvc; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user