Class ContractorsController
- Namespace
- KadicErp.WebApi.Controllers.Workforce
- Assembly
- KadicErp.WebApi.dll
[Route("api/workforce/contractors")]
[ApiController]
[Authorize]
[RequireModule("WORKFORCE")]
public class ContractorsController : ControllerBase
- Inheritance
-
objectControllerBaseContractorsController
Constructors
ContractorsController(IMediator, IStringLocalizer<GeneralMessages>, IPortalUserProvisioningService, IContractorAccessGuard)
public ContractorsController(IMediator mediator, IStringLocalizer<GeneralMessages> localizer, IPortalUserProvisioningService portalProvisioning, IContractorAccessGuard access)
Parameters
mediatorIMediatorlocalizerIStringLocalizer<GeneralMessages>portalProvisioningIPortalUserProvisioningServiceaccessIContractorAccessGuard
Methods
Create(CreateContractorCommand, CancellationToken)
[HttpPost]
[Authorize(Policy = "WORKFORCE_CONTRACTORS_CREATE")]
public Task<IActionResult> Create(CreateContractorCommand command, CancellationToken ct)
Parameters
commandCreateContractorCommandctCancellationToken
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
idGuidrequestContractorsController.CreatePortalAccessRequestctCancellationToken
Returns
- Task<IActionResult>
Deactivate(Guid, CancellationToken)
[HttpPost("{id:guid}/deactivate")]
[Authorize(Policy = "WORKFORCE_CONTRACTORS_DEACTIVATE")]
public Task<IActionResult> Deactivate(Guid id, CancellationToken ct)
Parameters
idGuidctCancellationToken
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
idGuidctCancellationToken
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
pageNumberintpageSizeintsearchTermstringcontractorTypeIdint?workerStatusIdint?ctCancellationToken
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
idGuidcommandUpdateContractorCommandctCancellationToken
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
idGuidcommandUpdateContractorProfileCommandctCancellationToken
Returns
- Task<IActionResult>