You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.4 KiB
61 lines
1.4 KiB
using Microsoft.JSInterop; |
|
|
|
namespace Services.Website; |
|
|
|
public class PermissionService : IPermissionService |
|
{ |
|
private IJSRuntime _jsRuntime; |
|
private readonly IStorageService _storageService; |
|
private IToastService _toastService; |
|
private bool isLoaded; |
|
private bool isStorageEnabled = false; |
|
|
|
public PermissionService(IJSRuntime jsRuntime, IToastService toastService, IStorageService storageService) |
|
{ |
|
_jsRuntime = jsRuntime; |
|
_toastService = toastService; |
|
_storageService = storageService; |
|
} |
|
|
|
public void Subscribe(Action action) |
|
{ |
|
OnChange += action; |
|
} |
|
|
|
public void Unsubscribe(Action action) |
|
{ |
|
OnChange += action; |
|
} |
|
|
|
public bool GetIsStorageEnabled() |
|
{ |
|
return _storageService.GetValue<bool>(StorageKeys.EnabledStorage); |
|
} |
|
|
|
public bool GetIsDataCollectionEnabled() |
|
{ |
|
return _storageService.GetValue<bool>(StorageKeys.EnabledDataCollection); |
|
} |
|
|
|
public void SetIsStorageEnabled(bool isEnabled) |
|
{ |
|
_storageService.SetValue(StorageKeys.EnabledStorage, isEnabled); |
|
} |
|
|
|
public void SetIsDataCollectionEnabled(bool isEnabled) |
|
{ |
|
_storageService.SetValue(StorageKeys.EnabledDataCollection, isEnabled); |
|
} |
|
|
|
public Task Load() |
|
{ |
|
throw new NotImplementedException(); |
|
} |
|
|
|
private event Action OnChange = null!; |
|
|
|
private void NotifyDataChanged() |
|
{ |
|
OnChange(); |
|
} |
|
} |