using Daybreak.Shared.Services.Privilege; using Microsoft.AspNetCore.Components; using Microsoft.Extensions.Logging; namespace Daybreak.Linux.Services.Privilege; /// /// Linux implementation of the privilege manager. /// Since Linux relies on Wine, we assume admin privileges are always available and do not implement elevation logic. /// internal sealed class PrivilegeManager( ILogger logger) : IPrivilegeManager { private readonly ILogger logger = logger; public bool AdminPrivileges => true; public Task RequestAdminPrivileges(string messageToUser, (string, object)[]? cancelViewParams, CancellationToken cancellationToken) where TCancelView : ComponentBase { this.logger.LogWarning("AdminPrivileges not implemented on Linux."); return Task.FromResult(true); } public Task RequestNormalPrivileges(string messageToUser, (string, object)[]? cancelViewParams, CancellationToken cancellationToken) where TCancelView : ComponentBase { this.logger.LogWarning("Admin privileges not implemented on Linux."); return Task.FromResult(true); } }