Table of Contents

Class TenantsController

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

Constructors

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

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

Parameters

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

Methods

ActivateTenant(Guid, CancellationToken)

Activate a tenant

[HttpPatch("{id:guid}/activate")]
[Authorize(Policy = "AUTH_TENANTS_ACTIVATE")]
[ProducesResponseType(typeof(string), 200)]
[ProducesResponseType(typeof(Error), 404)]
[ProducesResponseType(typeof(Error), 400)]
public Task<IActionResult> ActivateTenant(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

CreateTenant(CreateTenantCommand, CancellationToken)

Create a new tenant

[HttpPost]
[Authorize(Policy = "AUTH_TENANTS_CREATE")]
[ProducesResponseType(typeof(Result<Guid>), 201)]
[ProducesResponseType(typeof(Result), 400)]
[ProducesResponseType(typeof(Result), 409)]
public Task<ActionResult> CreateTenant(CreateTenantCommand command, CancellationToken cancellationToken)

Parameters

command CreateTenantCommand
cancellationToken CancellationToken

Returns

Task<ActionResult>

CreateTenantWithBranches(CreateTenantWithBranchesRequest, CancellationToken)

Create tenant with branches in a single call.

[HttpPost("create-tenant-with-branches")]
[Authorize(Policy = "AUTH_TENANTS_CREATE")]
[ProducesResponseType(typeof(Result<Guid>), 201)]
[ProducesResponseType(typeof(Result), 400)]
public Task<ActionResult<Result<Guid>>> CreateTenantWithBranches(CreateTenantWithBranchesRequest request, CancellationToken cancellationToken)

Parameters

request CreateTenantWithBranchesRequest
cancellationToken CancellationToken

Returns

Task<ActionResult<Result<Guid>>>

DeactivateTenant(Guid, CancellationToken)

Deactivate a tenant

[HttpPatch("{id:guid}/deactivate")]
[Authorize(Policy = "AUTH_TENANTS_DEACTIVATE")]
[ProducesResponseType(typeof(string), 200)]
[ProducesResponseType(typeof(Error), 404)]
[ProducesResponseType(typeof(Error), 400)]
public Task<IActionResult> DeactivateTenant(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetTenantById(Guid, CancellationToken)

Get tenant by ID

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

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<ActionResult<TenantDto>>

GetTenants(PaginatorRequestDto, bool?, Guid?, CancellationToken)

Get paginated list of tenants

[HttpGet]
[Authorize(Policy = "AUTH_TENANTS_VIEW")]
[ProducesResponseType(typeof(PaginatorResponseDto<TenantDto>), 200)]
[ProducesResponseType(typeof(Error), 400)]
public Task<ActionResult<PaginatorResponseDto<TenantDto>>> GetTenants(PaginatorRequestDto paginatorRequest, bool? isActive = null, Guid? planId = null, CancellationToken cancellationToken = default)

Parameters

paginatorRequest PaginatorRequestDto
isActive bool?
planId Guid?
cancellationToken CancellationToken

Returns

Task<ActionResult<PaginatorResponseDto<TenantDto>>>

UpdateTenant(UpdateTenantCommand, CancellationToken)

Update an existing tenant

[HttpPut]
[Authorize(Policy = "AUTH_TENANTS_UPDATE")]
[ProducesResponseType(typeof(Result<string>), 200)]
[ProducesResponseType(typeof(Result), 404)]
[ProducesResponseType(typeof(Result), 400)]
[ProducesResponseType(typeof(Result), 409)]
public Task<ActionResult> UpdateTenant(UpdateTenantCommand command, CancellationToken cancellationToken)

Parameters

command UpdateTenantCommand
cancellationToken CancellationToken

Returns

Task<ActionResult>