Table of Contents

Class TenantThemePresetsController

Namespace
KadicErp.WebApi.Controllers.Settings
Assembly
KadicErp.WebApi.dll
[ApiController]
[Authorize]
[Route("api/tenants/{tenantId:guid}/theme-presets")]
[Produces("application/json", new string[] { })]
public class TenantThemePresetsController : ControllerBase
Inheritance
object
ControllerBase
TenantThemePresetsController

Constructors

TenantThemePresetsController(IMediator, ILogger<TenantThemePresetsController>)

public TenantThemePresetsController(IMediator mediator, ILogger<TenantThemePresetsController> logger)

Parameters

mediator IMediator
logger ILogger<TenantThemePresetsController>

Methods

ActivatePreset(Guid, Guid, CancellationToken)

Activate a preset (deactivates all others in the same transaction).

[HttpPost("{presetId:guid}/activate")]
[Authorize(Policy = "SETTINGS_THEME_PRESETS_ACTIVATE")]
[ProducesResponseType(typeof(ThemePresetDto), 200)]
[ProducesResponseType(404)]
public Task<ActionResult<ThemePresetDto>> ActivatePreset(Guid tenantId, Guid presetId, CancellationToken cancellationToken)

Parameters

tenantId Guid
presetId Guid
cancellationToken CancellationToken

Returns

Task<ActionResult<ThemePresetDto>>

CreatePreset(Guid, CreateThemePresetRequest, CancellationToken)

Create a custom preset for a tenant.

[HttpPost]
[Authorize(Policy = "SETTINGS_THEME_PRESETS_WRITE")]
[ProducesResponseType(typeof(ThemePresetDto), 201)]
[ProducesResponseType(409)]
[ProducesResponseType(422)]
public Task<ActionResult<ThemePresetDto>> CreatePreset(Guid tenantId, CreateThemePresetRequest request, CancellationToken cancellationToken)

Parameters

tenantId Guid
request CreateThemePresetRequest
cancellationToken CancellationToken

Returns

Task<ActionResult<ThemePresetDto>>

DeletePreset(Guid, Guid, CancellationToken)

Delete a custom preset (built-ins cannot be deleted). If active, activates the first built-in.

[HttpDelete("{presetId:guid}")]
[Authorize(Policy = "SETTINGS_THEME_PRESETS_DELETE")]
[ProducesResponseType(204)]
[ProducesResponseType(403)]
[ProducesResponseType(404)]
public Task<IActionResult> DeletePreset(Guid tenantId, Guid presetId, CancellationToken cancellationToken)

Parameters

tenantId Guid
presetId Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetActivePreset(Guid, CancellationToken)

Get the active preset for a tenant.

[HttpGet("active")]
[Authorize(Policy = "SETTINGS_THEME_PRESETS_VIEW")]
[ProducesResponseType(typeof(ThemePresetDto), 200)]
[ProducesResponseType(404)]
public Task<ActionResult<ThemePresetDto>> GetActivePreset(Guid tenantId, CancellationToken cancellationToken)

Parameters

tenantId Guid
cancellationToken CancellationToken

Returns

Task<ActionResult<ThemePresetDto>>

GetPresetById(Guid, Guid, CancellationToken)

Get a specific preset by ID.

[HttpGet("{presetId:guid}")]
[Authorize(Policy = "SETTINGS_THEME_PRESETS_VIEW")]
[ProducesResponseType(typeof(ThemePresetDto), 200)]
[ProducesResponseType(404)]
public Task<ActionResult<ThemePresetDto>> GetPresetById(Guid tenantId, Guid presetId, CancellationToken cancellationToken)

Parameters

tenantId Guid
presetId Guid
cancellationToken CancellationToken

Returns

Task<ActionResult<ThemePresetDto>>

GetPresets(Guid, CancellationToken)

List all theme presets for a tenant.

[HttpGet]
[Authorize(Policy = "SETTINGS_THEME_PRESETS_VIEW")]
[ProducesResponseType(typeof(List<ThemePresetDto>), 200)]
public Task<ActionResult<List<ThemePresetDto>>> GetPresets(Guid tenantId, CancellationToken cancellationToken)

Parameters

tenantId Guid
cancellationToken CancellationToken

Returns

Task<ActionResult<List<ThemePresetDto>>>

UpdatePreset(Guid, Guid, UpdateThemePresetRequest, CancellationToken)

Update a custom preset (built-ins cannot be modified).

[HttpPut("{presetId:guid}")]
[Authorize(Policy = "SETTINGS_THEME_PRESETS_WRITE")]
[ProducesResponseType(typeof(ThemePresetDto), 200)]
[ProducesResponseType(403)]
[ProducesResponseType(404)]
public Task<ActionResult<ThemePresetDto>> UpdatePreset(Guid tenantId, Guid presetId, UpdateThemePresetRequest request, CancellationToken cancellationToken)

Parameters

tenantId Guid
presetId Guid
request UpdateThemePresetRequest
cancellationToken CancellationToken

Returns

Task<ActionResult<ThemePresetDto>>