Table of Contents

Class ContractorsController

Namespace
KadicErp.WebApi.Controllers.Workforce
Assembly
KadicErp.WebApi.dll
[Route("api/workforce/contractors")]
[ApiController]
[Authorize]
[RequireModule("WORKFORCE")]
public class ContractorsController : ControllerBase
Inheritance
object
ControllerBase
ContractorsController

Constructors

ContractorsController(IMediator, IStringLocalizer<GeneralMessages>, IPortalUserProvisioningService, IContractorAccessGuard)

public ContractorsController(IMediator mediator, IStringLocalizer<GeneralMessages> localizer, IPortalUserProvisioningService portalProvisioning, IContractorAccessGuard access)

Parameters

mediator IMediator
localizer IStringLocalizer<GeneralMessages>
portalProvisioning IPortalUserProvisioningService
access IContractorAccessGuard

Methods

Create(CreateContractorCommand, CancellationToken)

[HttpPost]
[Authorize(Policy = "WORKFORCE_CONTRACTORS_CREATE")]
public Task<IActionResult> Create(CreateContractorCommand command, CancellationToken ct)

Parameters

command CreateContractorCommand
ct CancellationToken

Returns

Task<IActionResult>

CreatePortalAccess(Guid, CreatePortalAccessRequest, CancellationToken)

Crea el acceso al portal del contratista bajo demanda (botón de la ficha — modo manual o reintento tras un fallo de la provisión automática). Usa el rol configurado en master-data → Reclutamiento.

[HttpPost("{id:guid}/portal-access")]
[Authorize(Policy = "WORKFORCE_CONTRACTORS_UPDATE")]
public Task<IActionResult> CreatePortalAccess(Guid id, ContractorsController.CreatePortalAccessRequest request, CancellationToken ct)

Parameters

id Guid
request ContractorsController.CreatePortalAccessRequest
ct CancellationToken

Returns

Task<IActionResult>

Deactivate(Guid, CancellationToken)

[HttpPost("{id:guid}/deactivate")]
[Authorize(Policy = "WORKFORCE_CONTRACTORS_DEACTIVATE")]
public Task<IActionResult> Deactivate(Guid id, CancellationToken ct)

Parameters

id Guid
ct CancellationToken

Returns

Task<IActionResult>

GetById(Guid, CancellationToken)

[HttpGet("{id:guid}")]
[Authorize(Policy = "WORKFORCE_CONTRACTORS_VIEW")]
[ProducesResponseType(200)]
[ProducesResponseType(404)]
public Task<IActionResult> GetById(Guid id, CancellationToken ct)

Parameters

id Guid
ct CancellationToken

Returns

Task<IActionResult>

GetList(int, int, string?, int?, int?, CancellationToken)

[HttpGet]
[Authorize(Policy = "WORKFORCE_CONTRACTORS_VIEW")]
public Task<IActionResult> GetList(int pageNumber = 1, int pageSize = 20, string? searchTerm = null, int? contractorTypeId = null, int? workerStatusId = null, CancellationToken ct = default)

Parameters

pageNumber int
pageSize int
searchTerm string
contractorTypeId int?
workerStatusId int?
ct CancellationToken

Returns

Task<IActionResult>

Update(Guid, UpdateContractorCommand, CancellationToken)

[HttpPut("{id:guid}")]
[Authorize(Policy = "WORKFORCE_CONTRACTORS_UPDATE")]
public Task<IActionResult> Update(Guid id, UpdateContractorCommand command, CancellationToken ct)

Parameters

id Guid
command UpdateContractorCommand
ct CancellationToken

Returns

Task<IActionResult>

UpdateProfile(Guid, UpdateContractorProfileCommand, CancellationToken)

[HttpPatch("{id:guid}/profile")]
[Authorize(Policy = "WORKFORCE_CONTRACTORS_UPDATE")]
public Task<IActionResult> UpdateProfile(Guid id, UpdateContractorProfileCommand command, CancellationToken ct)

Parameters

id Guid
command UpdateContractorProfileCommand
ct CancellationToken

Returns

Task<IActionResult>