using System.Threading.Tasks; namespace RMC.Backend.Baas { /// /// Defines the API: This subsystem /// public interface IDatabaseSubsystem : IInitializableAsync, IConfigurable { // Properties ------------------------------------ DatabaseEvent OnInitialized { get; } DatabaseEvent OnTableRead { get; } DatabaseEvent OnItemCreated { get; } DatabaseEvent OnItemRead { get; } DatabaseEvent OnItemUpdated { get; } // General Methods ------------------------------ Task TableReadAsync(string tableName); Task ItemReadAsync(Table table, User user, InventoryItem item); Task ItemCreateAsync(Table table, User user, InventoryItem item); Task ItemUpdateAsync(Table table, User user, InventoryItem item); } }