Class TenantBranchesController
- Namespace
- KadicAuth.Api.Controllers
- Assembly
- KadicAuth.Api.dll
[ApiController]
[Authorize]
[Route("api/[controller]")]
[Produces("application/json", new string[] { })]
public class TenantBranchesController : ControllerBase
- Inheritance
-
objectControllerBaseTenantBranchesController
Constructors
TenantBranchesController(IMediator, ILogger<TenantBranchesController>, ICurrentUser, ITenantIdContext, IStringLocalizer<AuthMessages>)
public TenantBranchesController(IMediator mediator, ILogger<TenantBranchesController> logger, ICurrentUser currentUser, ITenantIdContext tenantIdContext, IStringLocalizer<AuthMessages> localizer)
Parameters
mediatorIMediatorloggerILogger<TenantBranchesController>currentUserICurrentUsertenantIdContextITenantIdContextlocalizerIStringLocalizer<AuthMessages>
Methods
Activate(Guid, CancellationToken)
[HttpPatch("{id:guid}/activate")]
[Authorize(Policy = "AUTH_TENANT_BRANCH_ACTIVATE")]
[ProducesResponseType(typeof(Result<string>), 200)]
[ProducesResponseType(typeof(Result), 404)]
[ProducesResponseType(typeof(Result), 400)]
public Task<ActionResult> Activate(Guid id, CancellationToken cancellationToken = default)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<ActionResult>
Create(CreateTenantBranchCommand, CancellationToken)
[HttpPost]
[Authorize(Policy = "AUTH_TENANT_BRANCH_CREATE")]
[ProducesResponseType(typeof(Result<Guid>), 201)]
[ProducesResponseType(typeof(Result), 400)]
public Task<ActionResult> Create(CreateTenantBranchCommand command, CancellationToken cancellationToken = default)
Parameters
commandCreateTenantBranchCommandcancellationTokenCancellationToken
Returns
- Task<ActionResult>
Deactivate(Guid, CancellationToken)
[HttpPatch("{id:guid}/deactivate")]
[Authorize(Policy = "AUTH_TENANT_BRANCH_DEACTIVATE")]
[ProducesResponseType(typeof(Result<string>), 200)]
[ProducesResponseType(typeof(Result), 404)]
[ProducesResponseType(typeof(Result), 400)]
public Task<ActionResult> Deactivate(Guid id, CancellationToken cancellationToken = default)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<ActionResult>
GetBranches(PaginatorRequestDto, bool?, CancellationToken)
[HttpGet]
[ProducesResponseType(typeof(PaginatorResponseDto<TenantBranchDto>), 200)]
[ProducesResponseType(typeof(Result), 400)]
public Task<ActionResult<PaginatorResponseDto<TenantBranchDto>>> GetBranches(PaginatorRequestDto paginator, bool? isActive = null, CancellationToken cancellationToken = default)
Parameters
paginatorPaginatorRequestDtoisActivebool?cancellationTokenCancellationToken
Returns
- Task<ActionResult<PaginatorResponseDto<TenantBranchDto>>>
GetById(Guid, CancellationToken)
[HttpGet("{id:guid}")]
[Authorize(Policy = "AUTH_TENANT_BRANCH_VIEW")]
[ProducesResponseType(typeof(TenantBranchDto), 200)]
[ProducesResponseType(typeof(Result), 404)]
[ProducesResponseType(typeof(Result), 400)]
public Task<ActionResult<TenantBranchDto>> GetById(Guid id, CancellationToken cancellationToken = default)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<ActionResult<TenantBranchDto>>
GetMine(PaginatorRequestDto, bool?, CancellationToken)
Self-service variant of GetBranches(PaginatorRequestDto, bool?, CancellationToken): returns the caller's own tenant's branches (tenant resolved server-side from the JWT), so any authenticated user can see their own tenant's branches without the admin-only TenantBranch.View permission, which is meant to gate managing branches, not just listing your own tenant's.
[HttpGet("mine")]
[ProducesResponseType(typeof(PaginatorResponseDto<TenantBranchDto>), 200)]
[ProducesResponseType(typeof(Result), 400)]
public Task<ActionResult<PaginatorResponseDto<TenantBranchDto>>> GetMine(PaginatorRequestDto paginator, bool? isActive = null, CancellationToken cancellationToken = default)
Parameters
paginatorPaginatorRequestDtoisActivebool?cancellationTokenCancellationToken
Returns
- Task<ActionResult<PaginatorResponseDto<TenantBranchDto>>>
Update(Guid, UpdateTenantBranchRequest, CancellationToken)
[HttpPut("{id:guid}")]
[Authorize(Policy = "AUTH_TENANT_BRANCH_UPDATE")]
[ProducesResponseType(typeof(Result<string>), 200)]
[ProducesResponseType(typeof(Result), 404)]
[ProducesResponseType(typeof(Result), 400)]
public Task<ActionResult> Update(Guid id, UpdateTenantBranchRequest request, CancellationToken cancellationToken = default)
Parameters
idGuidrequestUpdateTenantBranchRequestcancellationTokenCancellationToken
Returns
- Task<ActionResult>