using HopFrame.Core.Configuration;
using HopFrame.Core.Repositories;
namespace HopFrame.Core.Services;
/** A service used to access configs and repositories provided by the */
public interface IConfigAccessor {
///
/// Searches through the config and returns the table with the specified identifier if it exists
///
/// The identifier of the table
public TableConfig? GetTableByIdentifier(string identifier);
///
/// Searches through the config and returns the table with the specified route if it exists
///
/// The route of the table
public TableConfig? GetTableByRoute(string route);
///
/// Searches through the config and returns the table with the specified type if it exists
///
/// The model type for the table
public TableConfig? GetTableByType(Type type);
///
/// Loads the repository for the specified table
///
/// The table to load the repository for
public IHopFrameRepository LoadRepository(TableConfig table);
}