Edited comments and removed route attributes

This commit is contained in:
2024-08-27 16:04:08 +03:00
parent b63a245c9e
commit 8ad57afdd0
2 changed files with 12 additions and 15 deletions

View File

@@ -22,7 +22,7 @@ public class UsersController(
IValidator<RegisterApplicantRequest> registerApplicantRequestValidator, IValidator<RegisterApplicantRequest> registerApplicantRequestValidator,
IValidator<AuthData> authDataValidator) : ControllerBase IValidator<AuthData> authDataValidator) : ControllerBase
{ {
/// <summary> Adds applicant with user account to DB </summary> /// <summary> Adds applicant with user account </summary>
[HttpPost("register")] [HttpPost("register")]
[ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status409Conflict)] [ProducesResponseType(StatusCodes.Status409Conflict)]
@@ -35,7 +35,7 @@ public class UsersController(
return Ok(); return Ok();
} }
/// <summary> Adds approving authority with user account to DB </summary> /// <summary> Adds approving authority with user account </summary>
///<remarks> Accessible only for admins </remarks> ///<remarks> Accessible only for admins </remarks>
[HttpPost("authorities")] [HttpPost("authorities")]
[ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status200OK)]
@@ -92,7 +92,7 @@ public class UsersController(
return Ok(); return Ok();
} }
/// <summary> Removes authority's account authentication data </summary> /// <summary> Removes authority's account </summary>
/// <remarks> Accessible only for admins </remarks> /// <remarks> Accessible only for admins </remarks>
[HttpDelete("authorities/{authorityAccountId:guid}")] [HttpDelete("authorities/{authorityAccountId:guid}")]
[ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status200OK)]

View File

@@ -8,21 +8,21 @@ using SchengenVisaApi.Common;
namespace SchengenVisaApi.Controllers; namespace SchengenVisaApi.Controllers;
/// <summary> Controller for <see cref="Domains.VisaApplicationDomain"/> </summary> /// <summary> Controller for visa applications </summary>
[ApiController] [ApiController]
[Route("visaApplications")] [Route("visaApplications")]
public class VisaApplicationController( public class VisaApplicationController(
IVisaApplicationRequestsHandler visaApplicationRequestsHandler, IVisaApplicationRequestsHandler visaApplicationRequestsHandler,
IValidator<VisaApplicationCreateRequest> visaApplicationCreateRequestValidator) : ControllerBase IValidator<VisaApplicationCreateRequest> visaApplicationCreateRequestValidator) : ControllerBase
{ {
/// <summary> Returns pending applications from DB </summary> /// <summary> Returns pending applications </summary>
/// <remarks> Accessible only for approving authorities </remarks> /// <remarks> Accessible only for approving authorities </remarks>
[HttpGet("pending")] [HttpGet("pending")]
[ProducesResponseType<List<VisaApplicationModelForAuthority>>(StatusCodes.Status200OK)] [ProducesResponseType<List<VisaApplicationModelForAuthority>>(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status403Forbidden)] [ProducesResponseType(StatusCodes.Status403Forbidden)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)] [ProducesResponseType(StatusCodes.Status401Unauthorized)]
[Authorize(policy: PolicyConstants.ApprovingAuthorityPolicy)] [Authorize(policy: PolicyConstants.ApprovingAuthorityPolicy)]
public async Task<IActionResult> Get(CancellationToken cancellationToken) public async Task<IActionResult> GetPending(CancellationToken cancellationToken)
{ {
var result = await visaApplicationRequestsHandler.GetPendingAsync(cancellationToken); var result = await visaApplicationRequestsHandler.GetPendingAsync(cancellationToken);
return Ok(result); return Ok(result);
@@ -30,20 +30,19 @@ public class VisaApplicationController(
/// <summary> Returns all applications of one applicant </summary> /// <summary> Returns all applications of one applicant </summary>
/// <remarks> Returns applications of authorized applicant </remarks> /// <remarks> Returns applications of authorized applicant </remarks>
[HttpGet] [HttpGet("ofApplicant")]
[ProducesResponseType<List<VisaApplicationModelForApplicant>>(StatusCodes.Status200OK)] [ProducesResponseType<List<VisaApplicationModelForApplicant>>(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status403Forbidden)] [ProducesResponseType(StatusCodes.Status403Forbidden)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)] [ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status404NotFound)]
[Authorize(policy: PolicyConstants.ApplicantPolicy)] [Authorize(policy: PolicyConstants.ApplicantPolicy)]
[Route("ofApplicant")]
public async Task<IActionResult> GetForApplicant(CancellationToken cancellationToken) public async Task<IActionResult> GetForApplicant(CancellationToken cancellationToken)
{ {
var result = await visaApplicationRequestsHandler.GetForApplicantAsync(cancellationToken); var result = await visaApplicationRequestsHandler.GetForApplicantAsync(cancellationToken);
return Ok(result); return Ok(result);
} }
/// <summary> Adds new application to DB </summary> /// <summary> Adds new application </summary>
/// <remarks> Adds application for authorized applicant </remarks> /// <remarks> Adds application for authorized applicant </remarks>
[HttpPost] [HttpPost]
[ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status200OK)]
@@ -52,7 +51,7 @@ public class VisaApplicationController(
[ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status404NotFound)]
[ProducesResponseType(StatusCodes.Status400BadRequest)] [ProducesResponseType(StatusCodes.Status400BadRequest)]
[Authorize(policy: PolicyConstants.ApplicantPolicy)] [Authorize(policy: PolicyConstants.ApplicantPolicy)]
public async Task<IActionResult> Create(VisaApplicationCreateRequest request, CancellationToken cancellationToken) public async Task<IActionResult> CreateApplication(VisaApplicationCreateRequest request, CancellationToken cancellationToken)
{ {
await visaApplicationCreateRequestValidator.ValidateAndThrowAsync(request, cancellationToken); await visaApplicationCreateRequestValidator.ValidateAndThrowAsync(request, cancellationToken);
@@ -62,28 +61,26 @@ public class VisaApplicationController(
/// <summary> Sets application status to closed</summary> /// <summary> Sets application status to closed</summary>
/// <remarks> Accessible only for applicant</remarks> /// <remarks> Accessible only for applicant</remarks>
[HttpPatch] [HttpPatch("{applicationId:guid}")]
[ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status403Forbidden)] [ProducesResponseType(StatusCodes.Status403Forbidden)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)] [ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status404NotFound)]
[Authorize(policy: PolicyConstants.ApplicantPolicy)] [Authorize(policy: PolicyConstants.ApplicantPolicy)]
[Route("{applicationId:guid}")]
public async Task<IActionResult> CloseApplication(Guid applicationId, CancellationToken cancellationToken) public async Task<IActionResult> CloseApplication(Guid applicationId, CancellationToken cancellationToken)
{ {
await visaApplicationRequestsHandler.HandleCloseRequestAsync(applicationId, cancellationToken); await visaApplicationRequestsHandler.HandleCloseRequestAsync(applicationId, cancellationToken);
return Ok(); return Ok();
} }
/// <summary> Allows approving authorities approve or reject applications</summary> /// <summary> Approve or reject applications</summary>
/// <remarks> Accessible only for authorities</remarks> /// <remarks> Accessible only for authorities</remarks>
[HttpPatch] [HttpPatch("approving/{applicationId:guid}")]
[ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status403Forbidden)] [ProducesResponseType(StatusCodes.Status403Forbidden)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)] [ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status404NotFound)]
[Authorize(policy: PolicyConstants.ApprovingAuthorityPolicy)] [Authorize(policy: PolicyConstants.ApprovingAuthorityPolicy)]
[Route("approving/{applicationId:guid}")]
public async Task<IActionResult> SetStatusFromAuthority(Guid applicationId, AuthorityRequestStatuses status, CancellationToken cancellationToken) public async Task<IActionResult> SetStatusFromAuthority(Guid applicationId, AuthorityRequestStatuses status, CancellationToken cancellationToken)
{ {
await visaApplicationRequestsHandler.SetApplicationStatusFromAuthorityAsync(applicationId, status, cancellationToken); await visaApplicationRequestsHandler.SetApplicationStatusFromAuthorityAsync(applicationId, status, cancellationToken);