Class DashboardConfigurationsController
- Namespace
- KadicErp.WebApi.Controllers.Dashboard
- Assembly
- KadicErp.WebApi.dll
[ApiController]
[Authorize]
[Route("api/v1/dashboard/configurations")]
public sealed class DashboardConfigurationsController : ControllerBase
- Inheritance
-
objectControllerBaseDashboardConfigurationsController
Constructors
DashboardConfigurationsController(IMediator, ITenantIdContext, ICurrentUser)
public DashboardConfigurationsController(IMediator mediator, ITenantIdContext tenantContext, ICurrentUser currentUser)
Parameters
mediatorIMediatortenantContextITenantIdContextcurrentUserICurrentUser
Methods
DeleteConfiguration(Guid)
[HttpDelete("{roleId:guid}")]
[Authorize(Policy = "ADMIN_REPORTING_DASHBOARD_CONFIG_MANAGE")]
public Task<IActionResult> DeleteConfiguration(Guid roleId)
Parameters
roleIdGuid
Returns
- Task<IActionResult>
GetByRoleId(Guid)
[HttpGet("{roleId:guid}")]
[Authorize(Policy = "ADMIN_REPORTING_DASHBOARD_CONFIG_VIEW")]
public Task<IActionResult> GetByRoleId(Guid roleId)
Parameters
roleIdGuid
Returns
- Task<IActionResult>
GetMine()
Self-service variant of GetByRoleId(Guid): resolves the caller's own tenant role from the JWT server-side instead of taking a roleId from the request, so any authenticated user can load their own configured dashboard widgets without needing the admin-only DashboardConfigurations.View permission (which is meant to gate viewing/managing dashboard layouts for arbitrary roles, not "my own").
Unlike GetByRoleId, "no configuration yet" is 200 OK with a null body, not 404. For this endpoint that's the ordinary state for most non-admin users (nobody has customized their dashboard), not an error — a 404 here would just be permanent console/network noise on every login for the majority of users.
[HttpGet("mine")]
public Task<IActionResult> GetMine()
Returns
- Task<IActionResult>
SaveConfiguration(SaveDashboardConfigurationCommand)
[HttpPost]
[Authorize(Policy = "ADMIN_REPORTING_DASHBOARD_CONFIG_MANAGE")]
public Task<IActionResult> SaveConfiguration(SaveDashboardConfigurationCommand command)
Parameters
commandSaveDashboardConfigurationCommand
Returns
- Task<IActionResult>
UpdateConfiguration(Guid, UpdateDashboardConfigurationCommand)
[HttpPut("{roleId:guid}")]
[Authorize(Policy = "ADMIN_REPORTING_DASHBOARD_CONFIG_MANAGE")]
public Task<IActionResult> UpdateConfiguration(Guid roleId, UpdateDashboardConfigurationCommand command)
Parameters
roleIdGuidcommandUpdateDashboardConfigurationCommand
Returns
- Task<IActionResult>