| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- namespace Diligent.WebAPI.Host.Controllers.V1
- {
- [ApiVersion("1.0")]
- [ApiController]
- [Route("v{version:apiVersion}/insurers")]
- public class InsurersController : ControllerBase
- {
- private readonly IInsurersService _insurersService;
-
- public InsurersController(IInsurersService insurers)
- {
- _insurersService = insurers;
- }
-
- /// <summary>
- /// Get list of all insusers
- /// </summary>
- [HttpGet]
- [ProducesResponseType(typeof(List<InsurerViewDto>), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- public async Task<IActionResult> GetInsurers()
- {
- return Ok(await _insurersService.GetInsurers());
- }
-
- /// <summary>
- /// Get insurer by id
- /// </summary>
- [HttpGet("{id}")]
- [ProducesResponseType(typeof(InsurerViewDto), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status404NotFound)]
- public async Task<IActionResult> GetInsurer(long id)
- {
- return Ok(await _insurersService.GetInsurer(id));
- }
-
- /// <summary>
- /// Create insurer
- /// </summary>
- [HttpPost]
- [ProducesResponseType(StatusCodes.Status201Created)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- public async Task<IActionResult> CreateInsurer([FromBody] InsurerCreateDto insurerCreateDto)
- {
- await _insurersService.CreateInsurer(insurerCreateDto);
- return StatusCode((int)HttpStatusCode.Created);
- }
-
- /// <summary>
- /// Update insurer
- /// </summary>
- [HttpPut("{id}")]
- [ProducesResponseType(StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status404NotFound)]
- public async Task<IActionResult> UpdateInsurer(long id, [FromBody] InsurerUpdateDto insurerUpdateDto)
- {
- await _insurersService.UpdateInsurer(id, insurerUpdateDto);
- return Ok();
- }
-
- /// <summary>
- /// Delete insurer
- /// </summary>
- [HttpDelete("{id}")]
- [ProducesResponseType(StatusCodes.Status204NoContent)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status404NotFound)]
- public async Task<IActionResult> DeleteInsurer(long insurerId)
- {
- await _insurersService.DeleteInsurerAsync(insurerId);
- return NoContent();
- }
- }
- }
|