namespace MatrixRoomUtils.Core.Interfaces.Services; public interface IStorageProvider { // save all children of a type with reflection public Task SaveAllChildren(string key, T value) { Console.WriteLine($"StorageProvider<{GetType().Name}> does not implement SaveAllChildren(key, value)!"); return Task.CompletedTask; } // load all children of a type with reflection public Task LoadAllChildren(string key) { Console.WriteLine($"StorageProvider<{GetType().Name}> does not implement LoadAllChildren(key)!"); return Task.FromResult(default(T)); } public Task SaveObject(string key, T value) { Console.WriteLine($"StorageProvider<{GetType().Name}> does not implement SaveObject(key, value)!"); return Task.CompletedTask; } // load public Task LoadObject(string key) { Console.WriteLine($"StorageProvider<{GetType().Name}> does not implement LoadObject(key)!"); return Task.FromResult(default(T)); } // check if exists public Task ObjectExists(string key) { Console.WriteLine($"StorageProvider<{GetType().Name}> does not implement ObjectExists(key)!"); return Task.FromResult(false); } // get all keys public Task> GetAllKeys() { Console.WriteLine($"StorageProvider<{GetType().Name}> does not implement GetAllKeys()!"); return Task.FromResult(new List()); } // delete public Task DeleteObject(string key) { Console.WriteLine($"StorageProvider<{GetType().Name}> does not implement DeleteObject(key)!"); return Task.CompletedTask; } }