public Assembly Build(ODatalizerEndpoint ep) { var generator = ControllerGenerator.Create(ep); var code = generator.TransformText(); _logger.LogDebug(ODatalizerLogEvents.ControllerCodeGenerated, code); return(Build(code, generator.Namespace)); }
public ControllerGenerator(ODatalizerEndpoint ep) { EdmModel = ep.EdmModel; DbContext = ep.DbContext; DbContextTypeName = ep.DbContext.GetType().FullName; RouteName = ep.RouteName; PageSize = ep.PageSize; MaxExpansionDepth = ep.MaxExpansionDepth; Authorize = ep.Authorize; _namespace = ep.Namespace; }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, SampleDbContext sample) { var ep = new ODatalizerEndpoint( db: sample, routeName: "Sample", routePrefix: "sample", controller: nameof(SampleController), authorize: TestSettings.UseAuthorize, @namespace: TestSettings.Namespace); SampleDbInitializer.Initialize(sample); app.UseODatalizer(ep); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseStatusCodePages(); app.UseHttpsRedirection(); app.UseRouting(); if (TestSettings.UseAuthorize) { app.UseAuthentication(); app.UseAuthorization(); } app.UseEndpoints(endpoints => { endpoints.MapODatalizer(ep); endpoints.MapControllers(); }); }
public static ControllerGenerator Create(ODatalizerEndpoint ep) { return(new ControllerGenerator(ep)); }