Table of Contents

Class SubModulesController

Namespace
KadicAuth.Api.Controllers
Assembly
KadicAuth.Api.dll
[ApiController]
[Route("api/[controller]")]
[Produces("application/json", new string[] { })]
public class SubModulesController : ControllerBase
Inheritance
object
ControllerBase
SubModulesController

Constructors

SubModulesController(IMediator, ILogger<SubModulesController>, IStringLocalizer<AuthMessages>)

public SubModulesController(IMediator mediator, ILogger<SubModulesController> logger, IStringLocalizer<AuthMessages> localizer)

Parameters

mediator IMediator
logger ILogger<SubModulesController>
localizer IStringLocalizer<AuthMessages>

Methods

ActivateSubModule(Guid, CancellationToken)

Activate a submodule

[HttpPost("{id:guid}/activate")]
[Authorize(Policy = "AUTH_SUBMODULES_ACTIVATE")]
[ProducesResponseType(200)]
[ProducesResponseType(typeof(Error), 404)]
[ProducesResponseType(typeof(Error), 400)]
public Task<ActionResult> ActivateSubModule(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<ActionResult>

CreateSubModule(CreateSubModuleDto, CancellationToken)

Create a new submodule

[HttpPost]
[Authorize(Policy = "AUTH_SUBMODULES_CREATE")]
[ProducesResponseType(typeof(Result<Guid>), 201)]
[ProducesResponseType(typeof(Result), 400)]
public Task<ActionResult> CreateSubModule(CreateSubModuleDto request, CancellationToken cancellationToken)

Parameters

request CreateSubModuleDto
cancellationToken CancellationToken

Returns

Task<ActionResult>

DeactivateSubModule(Guid, CancellationToken)

Deactivate a submodule

[HttpPost("{id:guid}/deactivate")]
[Authorize(Policy = "AUTH_SUBMODULES_DEACTIVATE")]
[ProducesResponseType(200)]
[ProducesResponseType(typeof(Error), 404)]
[ProducesResponseType(typeof(Error), 400)]
public Task<ActionResult> DeactivateSubModule(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<ActionResult>

DeleteSubModule(Guid, CancellationToken)

Delete a submodule

[HttpDelete("{id:guid}")]
[Authorize(Policy = "AUTH_SUBMODULES_DELETE")]
[ProducesResponseType(typeof(Result), 200)]
[ProducesResponseType(typeof(Result), 400)]
[ProducesResponseType(typeof(Result), 404)]
public Task<ActionResult> DeleteSubModule(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<ActionResult>

GetSubModuleById(Guid, CancellationToken)

Get submodule by ID

[HttpGet("{id:guid}")]
[Authorize(Policy = "AUTH_SUBMODULES_VIEW")]
[ProducesResponseType(typeof(SubModuleDto), 200)]
[ProducesResponseType(typeof(Error), 404)]
[ProducesResponseType(typeof(Error), 400)]
public Task<ActionResult<SubModuleDto>> GetSubModuleById(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<ActionResult<SubModuleDto>>

GetSubModules(PaginatorRequestDto, CancellationToken)

Get paginated list of submodules

[HttpGet]
[Authorize(Policy = "AUTH_SUBMODULES_VIEW")]
[ProducesResponseType(typeof(PaginatorResponseDto<SubModuleDto>), 200)]
[ProducesResponseType(typeof(Error), 400)]
public Task<ActionResult<PaginatorResponseDto<SubModuleDto>>> GetSubModules(PaginatorRequestDto paginatorRequest, CancellationToken cancellationToken = default)

Parameters

paginatorRequest PaginatorRequestDto
cancellationToken CancellationToken

Returns

Task<ActionResult<PaginatorResponseDto<SubModuleDto>>>

GetSubModulesByModule(Guid, CancellationToken)

Get submodules by module ID

[HttpGet("by-module/{moduleId:guid}")]
[Authorize(Policy = "AUTH_SUBMODULES_VIEW")]
[ProducesResponseType(typeof(IEnumerable<SubModuleDto>), 200)]
[ProducesResponseType(typeof(Error), 400)]
public Task<ActionResult<IEnumerable<SubModuleDto>>> GetSubModulesByModule(Guid moduleId, CancellationToken cancellationToken)

Parameters

moduleId Guid
cancellationToken CancellationToken

Returns

Task<ActionResult<IEnumerable<SubModuleDto>>>

UpdateSubModule(Guid, UpdateSubModuleDto, CancellationToken)

Update an existing submodule

[HttpPut("{id:guid}")]
[Authorize(Policy = "AUTH_SUBMODULES_UPDATE")]
[ProducesResponseType(typeof(Result), 200)]
[ProducesResponseType(typeof(Result), 400)]
[ProducesResponseType(typeof(Result), 404)]
public Task<ActionResult> UpdateSubModule(Guid id, UpdateSubModuleDto request, CancellationToken cancellationToken)

Parameters

id Guid
request UpdateSubModuleDto
cancellationToken CancellationToken

Returns

Task<ActionResult>