Example #1
0
        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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
 public AutomaticApiContext(IEnumerable <Type> itemTypes, AutoConfiguration configuration)
 {
     _itemTypes     = itemTypes;
     _configuration = configuration;
 }
 public AutoConfigurer(AutoConfiguration configuration)
 {
     _configuration = configuration;
 }