using Tiku.Application.Security; namespace Tiku.Application.Backoffice; public interface IBackofficeService { Task GetTenantUiBootstrapAsync( CurrentAccessSnapshot access, CancellationToken cancellationToken = default); Task GetPlatformUiBootstrapAsync( CurrentAccessSnapshot access, CancellationToken cancellationToken = default); Task GetTenantBootstrapAsync( BackofficeActor actor, CancellationToken cancellationToken = default); Task GetPlatformBootstrapAsync( BackofficeActor actor, CancellationToken cancellationToken = default); Task UpsertTenantRoleAsync( BackofficeActor actor, UpsertBackofficeRoleCommand command, CancellationToken cancellationToken = default); Task UpsertPlatformRoleAsync( BackofficeActor actor, UpsertBackofficeRoleCommand command, CancellationToken cancellationToken = default); Task ReplaceTenantRoleBindingsAsync( BackofficeActor actor, ReplaceRoleBindingsCommand command, CancellationToken cancellationToken = default); Task ReplacePlatformRoleBindingsAsync( BackofficeActor actor, ReplaceRoleBindingsCommand command, CancellationToken cancellationToken = default); Task ReplaceTenantUserRolesAsync( BackofficeActor actor, ReplaceUserRolesCommand command, CancellationToken cancellationToken = default); Task ReplacePlatformUserRolesAsync( BackofficeActor actor, ReplaceUserRolesCommand command, CancellationToken cancellationToken = default); } public interface IOperationAuditService { Task WriteAsync( BackofficeOperationAuditCommand command, CancellationToken cancellationToken = default); }