Table of Contents

Class DriversProfilesController

Namespace
KadicErp.WebApi.Controllers.RentACar
Assembly
KadicErp.WebApi.dll
[Route("api/rentcar/[controller]")]
[ApiController]
public class DriversProfilesController : ControllerBase
Inheritance
object
ControllerBase
DriversProfilesController

Constructors

DriversProfilesController(IMediator)

public DriversProfilesController(IMediator mediator)

Parameters

mediator IMediator

Methods

Activate(Guid)

[HttpPatch("{id}/activate")]
[Authorize(Policy = "RENTACAR_DRIVERS_PROFILES_ACTIVATE")]
[AllowAnonymous]
[ProducesResponseType(200)]
[ProducesResponseType(400)]
public Task<IActionResult> Activate(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

Create(CreateDriversProfileCommand)

[HttpPost]
[Authorize(Policy = "RENTACAR_DRIVERS_PROFILES_CREATE")]
[AllowAnonymous]
[ProducesResponseType(typeof(Guid), 201)]
[ProducesResponseType(400)]
public Task<IActionResult> Create(CreateDriversProfileCommand command)

Parameters

command CreateDriversProfileCommand

Returns

Task<IActionResult>

Deactivate(Guid)

[HttpPatch("{id}/deactivate")]
[Authorize(Policy = "RENTACAR_DRIVERS_PROFILES_DEACTIVATE")]
[AllowAnonymous]
[ProducesResponseType(200)]
[ProducesResponseType(400)]
public Task<IActionResult> Deactivate(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

GetAll(GetAllDriversProfilesQuery)

[HttpGet]
[Authorize(Policy = "RENTACAR_DRIVERS_PROFILES_VIEW")]
[AllowAnonymous]
[ProducesResponseType(typeof(PaginatorResponseDto<RentACarDriverDto>), 200)]
[ProducesResponseType(400)]
public Task<IActionResult> GetAll(GetAllDriversProfilesQuery query)

Parameters

query GetAllDriversProfilesQuery

Returns

Task<IActionResult>

GetById(Guid)

[HttpGet("{id}")]
[Authorize(Policy = "RENTACAR_DRIVERS_PROFILES_VIEW")]
[AllowAnonymous]
[ProducesResponseType(typeof(RentACarDriverDto), 200)]
[ProducesResponseType(400)]
public Task<IActionResult> GetById(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

GetHistory(Guid)

[HttpGet("{id}/history")]
[Authorize(Policy = "RENTACAR_DRIVERS_PROFILES_VIEW_HISTORY")]
[AllowAnonymous]
[ProducesResponseType(typeof(DriverHistoryDto), 200)]
[ProducesResponseType(404)]
[ProducesResponseType(400)]
public Task<IActionResult> GetHistory(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

GetLicenseExpiryAlerts(int)

[HttpGet("license-expiry-alerts")]
[Authorize(Policy = "RENTACAR_DRIVERS_PROFILES_VIEW_LICENSE_ALERTS")]
[AllowAnonymous]
[ProducesResponseType(typeof(IReadOnlyList<DriverLicenseAlertDto>), 200)]
[ProducesResponseType(400)]
public Task<IActionResult> GetLicenseExpiryAlerts(int daysAhead = 30)

Parameters

daysAhead int

Returns

Task<IActionResult>

Update(Guid, UpdateDriversProfileCommand)

[HttpPut("{id}")]
[Authorize(Policy = "RENTACAR_DRIVERS_PROFILES_UPDATE")]
[AllowAnonymous]
[ProducesResponseType(200)]
[ProducesResponseType(400)]
public Task<IActionResult> Update(Guid id, UpdateDriversProfileCommand command)

Parameters

id Guid
command UpdateDriversProfileCommand

Returns

Task<IActionResult>