| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- namespace Diligent.WebAPI.Host.Controllers.V1
- {
- [ExcludeFromCodeCoverage]
- [ApiVersion("1.0")]
- [ApiController]
- [Route("v{version:apiVersion}/insurance-policies")]
- public class InsurancePoliciesController : ControllerBase
- {
- private readonly IInsurancePoliciesService _insurancePoliciesService;
- private readonly IMapper _mapper;
-
- public InsurancePoliciesController(IInsurancePoliciesService insurancePoliciesService,
- IMapper mapper)
- {
- _insurancePoliciesService = insurancePoliciesService;
- _mapper = mapper;
- }
-
- /// <summary>
- /// Get list of all insurance policies
- /// </summary>
- [HttpGet]
- [ProducesResponseType(typeof(List<InsurancePolicyViewDto>), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- public async Task<IActionResult> GetInsurancePolicies()
- {
- return Ok(await _insurancePoliciesService.GetInsurancePolicies());
- }
-
- /// <summary>
- /// Get insurance policy by id
- /// </summary>
- [HttpGet("{id}")]
- [ProducesResponseType(typeof(InsurancePolicyViewDto), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status404NotFound)]
- public async Task<ActionResult<InsurancePolicyViewDto>> GetInsurancePolicy(long id)
- {
- return Ok(await _insurancePoliciesService.GetInsurancePolicy(id));
- }
-
- /// <summary>
- /// Create insurance policy
- /// </summary>
- [HttpPost]
- [ProducesResponseType(StatusCodes.Status201Created)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- public async Task<ActionResult> CreateInsurancePolicy(InsurancePolicyCreateDto InsurancePolicyCreateDto)
- {
- await _insurancePoliciesService.CreateInsurancePolicy(InsurancePolicyCreateDto);
- return StatusCode((int)HttpStatusCode.Created);
- }
-
- /// <summary>
- /// Update insurance policy
- /// </summary>
- [HttpPut("{id}")]
- [ProducesResponseType(StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status404NotFound)]
- public async Task<ActionResult> UpdateInsurancePolicy(long id, InsurancePolicyUpdateDto insurancePolicyUpdateDTO)
- {
- await _insurancePoliciesService.UpdateInsurancePolicy(id, insurancePolicyUpdateDTO);
- return Ok();
- }
-
- /// <summary>
- /// Delete the specific insurance policy
- /// </summary>
- [HttpDelete("{id}")]
- [ProducesResponseType(StatusCodes.Status204NoContent)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status404NotFound)]
- public async Task<ActionResult> DeleteInsurancePolicy(long id)
- {
- await _insurancePoliciesService.DeleteInsurancePolicy(id);
- return NoContent();
- }
- }
- }
|