public static IApiItemBuilder <TItem> AutoConfigure <TItem>(this IApiItemBuilder <TItem> builder, AutoConfiguration configuration) { if (configuration == null) { configuration = new AutoConfiguration(); } var configurer = new AutoConfigurer(configuration); configurer.AddItem <TItem>(builder); return(builder); }
/// <summary> /// Configures Firestorm Fluent API by automatically finding the root item types and automatically configuring them. /// </summary> public static IFirestormServicesBuilder AddFluent(this IFirestormServicesBuilder builder, AutoConfiguration configuration) { builder.AddDataSourceTypeFinder(); builder.AddStartResourceFactory(sp => new FluentStartResourceFactory { ApiContext = new AutomaticApiContext(sp.GetService <IItemTypeFinder>().FindItemTypes(), configuration), DataSource = sp.GetService <IDataSource>() }); return(builder); }
public AutomaticApiContext(IEnumerable <Type> itemTypes, AutoConfiguration configuration) { _itemTypes = itemTypes; _configuration = configuration; }
public AutoConfigurer(AutoConfiguration configuration) { _configuration = configuration; }