public static void AddJsonApiInternals <TContext>( this IServiceCollection services, JsonApiOptions jsonApiOptions) where TContext : DbContext { if (jsonApiOptions.ResourceGraph == null) { jsonApiOptions.BuildResourceGraph <TContext>(null); } services.AddScoped <IDbContextResolver, DbContextResolver <TContext> >(); AddJsonApiInternals(services, jsonApiOptions); }
public static IServiceCollection AddJsonApi <TContext>( this IServiceCollection services, Action <JsonApiOptions> options, IMvcCoreBuilder mvcBuilder) where TContext : DbContext { var config = new JsonApiOptions(); options(config); config.BuildResourceGraph(builder => builder.AddDbContext <TContext>()); mvcBuilder.AddMvcOptions(opt => AddMvcOptions(opt, config)); AddJsonApiInternals <TContext>(services, config); return(services); }
public DocumentBuilder_Tests() { _jsonApiContextMock = new Mock <IJsonApiContext>(); _requestMetaMock = new Mock <IRequestMeta>(); _options = new JsonApiOptions(); _options.BuildResourceGraph(builder => { builder.AddResource <Model>("models"); builder.AddResource <RelatedModel>("related-models"); }); _jsonApiContextMock .Setup(m => m.Options) .Returns(_options); _jsonApiContextMock .Setup(m => m.ResourceGraph) .Returns(_options.ResourceGraph); _jsonApiContextMock .Setup(m => m.MetaBuilder) .Returns(new MetaBuilder()); _pageManager = new PageManager(); _jsonApiContextMock .Setup(m => m.PageManager) .Returns(_pageManager); _jsonApiContextMock .Setup(m => m.BasePath) .Returns("localhost"); _jsonApiContextMock .Setup(m => m.RequestEntity) .Returns(_options.ResourceGraph.GetContextEntity(typeof(Model))); }