using InABox.Core; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace InABox.Database; public class DbConfigurationProvider : IConfigurationProvider where T : Entity, IRemotable, IPersistent, new() { public string UserID { get; init; } public DbConfigurationProvider(string userID) { UserID = userID; } public void Delete(T entity, Action? callback = null) { DbFactory.Provider.Delete(entity, UserID); } public T[] Load(Filter filter) { return DbFactory.Provider.Load(filter); } public CoreTable Query(Filter filter, Columns columns, SortOrder? sort = null) { return DbFactory.Provider.Query(filter, columns, sort); } public void Save(T entity) { DbFactory.Provider.Save(entity); } public void Save(IEnumerable entities) { DbFactory.Provider.Save(entities); } }