Table of Contents

Class ModulesController

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

Constructors

ModulesController(IMediator, ILogger<ModulesController>, ITenantIdContext, IStringLocalizer<AuthMessages>)

public ModulesController(IMediator mediator, ILogger<ModulesController> logger, ITenantIdContext tenantIdContext, IStringLocalizer<AuthMessages> localizer)

Parameters

mediator IMediator
logger ILogger<ModulesController>
tenantIdContext ITenantIdContext
localizer IStringLocalizer<AuthMessages>

Methods

ActivateModule(Guid, CancellationToken)

Activate a module

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

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<ActionResult>

CreateModule(CreateModuleDto, CancellationToken)

Create a new module

[HttpPost]
[Authorize(Policy = "AUTH_MODULES_CREATE")]
[ProducesResponseType(typeof(Result<Guid>), 201)]
[ProducesResponseType(typeof(Result), 400)]
[ProducesResponseType(typeof(Result), 409)]
public Task<ActionResult> CreateModule(CreateModuleDto request, CancellationToken cancellationToken)

Parameters

request CreateModuleDto
cancellationToken CancellationToken

Returns

Task<ActionResult>

CreateModuleWithSubModules(CreateModuleWithSubModulesRequest, CancellationToken)

Create module along with optional submodules.

[HttpPost("create-module-with-submodules")]
[Authorize(Policy = "AUTH_MODULES_CREATE")]
[ProducesResponseType(typeof(object), 201)]
[ProducesResponseType(typeof(Error), 400)]
public Task<ActionResult> CreateModuleWithSubModules(CreateModuleWithSubModulesRequest request, CancellationToken cancellationToken)

Parameters

request CreateModuleWithSubModulesRequest
cancellationToken CancellationToken

Returns

Task<ActionResult>

DeactivateModule(Guid, CancellationToken)

Deactivate a module

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

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<ActionResult>

GetActiveModules(Guid, Guid?, CancellationToken)

Get all active modules filtered by tenantId (and optionally branchId).

[HttpGet("active")]
[Authorize(Policy = "AUTH_MODULES_VIEW")]
[ProducesResponseType(typeof(IEnumerable<ModuleDto>), 200)]
[ProducesResponseType(typeof(Error), 400)]
public Task<ActionResult<IEnumerable<ModuleDto>>> GetActiveModules(Guid tenantId, Guid? branchId, CancellationToken cancellationToken = default)

Parameters

tenantId Guid
branchId Guid?
cancellationToken CancellationToken

Returns

Task<ActionResult<IEnumerable<ModuleDto>>>

GetModuleById(Guid, Guid, CancellationToken)

Get module by ID filtered by tenantId.

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

Parameters

id Guid
tenantId Guid
cancellationToken CancellationToken

Returns

Task<ActionResult<ModuleDto>>

GetModuleByKey(string, Guid, CancellationToken)

Get module by key filtered by tenantId.

[HttpGet("by-key/{key}")]
[Authorize(Policy = "AUTH_MODULES_VIEW")]
[ProducesResponseType(typeof(ModuleDto), 200)]
[ProducesResponseType(typeof(Error), 404)]
[ProducesResponseType(typeof(Error), 400)]
public Task<ActionResult<ModuleDto>> GetModuleByKey(string key, Guid tenantId, CancellationToken cancellationToken)

Parameters

key string
tenantId Guid
cancellationToken CancellationToken

Returns

Task<ActionResult<ModuleDto>>

GetModules(PaginatorRequestDto, Guid, Guid?, CancellationToken)

Get paginated list of modules filtered by tenantId (and optionally branchId).

[HttpGet]
[Authorize(Policy = "AUTH_MODULES_VIEW")]
[ProducesResponseType(typeof(PaginatorResponseDto<ModuleDto>), 200)]
[ProducesResponseType(typeof(Error), 400)]
public Task<ActionResult<PaginatorResponseDto<ModuleDto>>> GetModules(PaginatorRequestDto paginatorRequest, Guid tenantId, Guid? branchId, CancellationToken cancellationToken = default)

Parameters

paginatorRequest PaginatorRequestDto
tenantId Guid
branchId Guid?
cancellationToken CancellationToken

Returns

Task<ActionResult<PaginatorResponseDto<ModuleDto>>>

UpdateModule(Guid, UpdateModuleDto, CancellationToken)

Update an existing module

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

Parameters

id Guid
request UpdateModuleDto
cancellationToken CancellationToken

Returns

Task<ActionResult>