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
-
objectControllerBaseModulesController
Constructors
ModulesController(IMediator, ILogger<ModulesController>, ITenantIdContext, IStringLocalizer<AuthMessages>)
public ModulesController(IMediator mediator, ILogger<ModulesController> logger, ITenantIdContext tenantIdContext, IStringLocalizer<AuthMessages> localizer)
Parameters
mediatorIMediatorloggerILogger<ModulesController>tenantIdContextITenantIdContextlocalizerIStringLocalizer<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
idGuidcancellationTokenCancellationToken
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
requestCreateModuleDtocancellationTokenCancellationToken
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
requestCreateModuleWithSubModulesRequestcancellationTokenCancellationToken
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
idGuidcancellationTokenCancellationToken
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
tenantIdGuidbranchIdGuid?cancellationTokenCancellationToken
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
idGuidtenantIdGuidcancellationTokenCancellationToken
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
keystringtenantIdGuidcancellationTokenCancellationToken
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
paginatorRequestPaginatorRequestDtotenantIdGuidbranchIdGuid?cancellationTokenCancellationToken
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
idGuidrequestUpdateModuleDtocancellationTokenCancellationToken
Returns
- Task<ActionResult>