about summary refs log tree commit diff
path: root/BugMine.Web/Classes/SessionStorageProviderService.cs
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2024-04-06 08:39:22 +0200
committerRory& <root@rory.gay>2024-04-06 08:39:22 +0200
commitc390119f0ec50591c0623e6a1a063c09b965d9cc (patch)
tree5e769d08103a53a36ffa7516ec4fa8f7ffac4a7f /BugMine.Web/Classes/SessionStorageProviderService.cs
parentInitial commit (diff)
downloadBugMine-c390119f0ec50591c0623e6a1a063c09b965d9cc.tar.xz
Start adding pages
Diffstat (limited to 'BugMine.Web/Classes/SessionStorageProviderService.cs')
-rw-r--r--BugMine.Web/Classes/SessionStorageProviderService.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/BugMine.Web/Classes/SessionStorageProviderService.cs b/BugMine.Web/Classes/SessionStorageProviderService.cs
new file mode 100644

index 0000000..c9f1c8e --- /dev/null +++ b/BugMine.Web/Classes/SessionStorageProviderService.cs
@@ -0,0 +1,28 @@ +using Blazored.SessionStorage; +using LibMatrix.Interfaces.Services; + +namespace BugMine.Web.Classes; + +public class SessionStorageProviderService : IStorageProvider { + private readonly ISessionStorageService _sessionStorageService; + + public SessionStorageProviderService(ISessionStorageService sessionStorage) { + _sessionStorageService = sessionStorage; + } + + Task IStorageProvider.SaveAllChildrenAsync<T>(string key, T value) { + throw new NotImplementedException(); + } + + Task<T?> IStorageProvider.LoadAllChildrenAsync<T>(string key) where T : default => throw new NotImplementedException(); + + async Task IStorageProvider.SaveObjectAsync<T>(string key, T value) => await _sessionStorageService.SetItemAsync(key, value); + + async Task<T?> IStorageProvider.LoadObjectAsync<T>(string key) where T : default => await _sessionStorageService.GetItemAsync<T>(key); + + async Task<bool> IStorageProvider.ObjectExistsAsync(string key) => await _sessionStorageService.ContainKeyAsync(key); + + async Task<List<string>> IStorageProvider.GetAllKeysAsync() => (await _sessionStorageService.KeysAsync()).ToList(); + + async Task IStorageProvider.DeleteObjectAsync(string key) => await _sessionStorageService.RemoveItemAsync(key); +}