/// <summary> /// Configurate the HTTP request pipeline. /// </summary> /// <remarks> /// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. /// </remarks> /// <param name="app">An application configurator.</param> /// <param name="env">Information about web hosting environment.</param> public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { LogService.LogInfo("Инициирован запуск приложения."); app.UseDefaultFiles(); app.UseStaticFiles(); app.UseRouting(); app.UseCors(builder => builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()); app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapHealthChecks("/health"); }); app.UseODataService(builder => { builder.MapFileRoute(); var assemblies = new[] { typeof(ObjectsMarker).Assembly, typeof(ApplicationLog).Assembly, typeof(UserSetting).Assembly, typeof(Lock).Assembly, }; var modelBuilder = new DefaultDataObjectEdmModelBuilder(assemblies, true); var token = builder.MapDataObjectRoute(modelBuilder); }); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public virtual void Configure(IApplicationBuilder app, IHostingEnvironment env) { // Save reference to IApplicationBuilder instance. ApplicationBuilder = app; // Save reference to IServerAddressesFeature instance. ServerAddressesFeature = app.ServerFeatures.Get <IServerAddressesFeature>(); app.UseMvc(builder => { builder.MapRoute("Lock", "api/lock/{action}/{dataObjectId}", new { controller = "Lock" }); builder.MapFileRoute(); }); app.UseODataService(builder => { var assemblies = new[] { typeof(Медведь).Assembly, typeof(ApplicationLog).Assembly, typeof(UserSetting).Assembly, typeof(Lock).Assembly, }; var modelBuilder = new DefaultDataObjectEdmModelBuilder(assemblies, false); var token = builder.MapDataObjectRoute(modelBuilder); }); }
public void TestRegisteringHierarchy() { var builder = new DefaultDataObjectEdmModelBuilder(new[] { GetType().Assembly }); DataObjectEdmModel model = builder.Build(); Assert.True(model.IsDataObjectRegistered(typeof(DataObject))); Assert.True(model.IsDataObjectRegistered(typeof(H1))); Assert.True(model.IsDataObjectRegistered(typeof(H2))); }
public void TestWebApi() { var pathHandler = new DefaultODataPathHandler(); var model = new DataObjectEdmModel(new DataObjectEdmMetadata()); var conventions = new IODataRoutingConvention[0]; var constraint = new ODataPathRouteConstraint(pathHandler, model, "name", conventions); var route = new ODataRoute("prefix", constraint); var assemblies = new Assembly[0]; var modelBuilder = new DefaultDataObjectEdmModelBuilder(assemblies); new PerRequestUpdateEdmModelHandler(new ManagementToken(route, model), modelBuilder); }
public BaseODataServiceIntegratedTest( string stageCasePath = @"РТЦ Тестирование и документирование\Модели для юнит-тестов\Flexberry ORM\NewPlatform.Flexberry.ORM.ODataService.Tests\", bool useNamespaceInEntitySetName = false, bool useGisDataService = false) : base("ODataDB", useGisDataService) { DataObjectsAssembliesNames = new[] { typeof(Car).Assembly, //typeof(Agent).Assembly }; UseNamespaceInEntitySetName = useNamespaceInEntitySetName; var builder = new DefaultDataObjectEdmModelBuilder(DataObjectsAssembliesNames, UseNamespaceInEntitySetName); //builder.PropertyFilter = PropertyFilter; _builder = builder; }
/// <summary> /// Configure OData by DataObjects assembly. /// </summary> /// <param name="config">Http configuration object.</param> /// <param name="container">Unity container.</param> public static void Configure(HttpConfiguration config, IUnityContainer container, HttpServer httpServer) { if (config == null) { throw new ArgumentNullException("config"); } if (container == null) { throw new ArgumentNullException("container"); } // To support CORS uncomment the line below. config.EnableCors(new DynamicCorsPolicyProvider(true)); // Use constructor with true first parameter for enable SupportsCredentials. // Use Unity as WebAPI dependency resolver config.DependencyResolver = new UnityDependencyResolver(container); // Config file upload. config.MapODataServiceFileRoute("File", "api/File", HttpContext.Current.Server.MapPath("~/Uploads"), container.Resolve <IDataService>()); // Create EDM model builder var assemblies = new[] { Assembly.Load("EmberFlexberry.Objects"), typeof(ApplicationLog).Assembly, typeof(UserSetting).Assembly, typeof(FlexberryUserSetting).Assembly, typeof(Lock).Assembly }; var builder = new DefaultDataObjectEdmModelBuilder(assemblies); // Map OData Service var token = config.MapODataServiceDataObjectRoute(builder, httpServer); // User functions token.Functions.Register(new Func <QueryParameters, string>(Test)); token.Functions.Register(new Func <string, bool>(ClearLogRecords)); token.Functions.RegisterAction(new Func <QueryParameters, string, string, object>(DeleteAllSelect)); // Event handlers token.Events.CallbackAfterCreate = CallbackAfterCreate; }
/// <summary> /// Configure OData by DataObjects assembly. /// </summary> /// <param name="config">Http configuration object.</param> /// <param name="container">Unity container.</param> public static void Configure(HttpConfiguration config, IUnityContainer container) { if (config == null) { throw new ArgumentNullException(nameof(config)); } if (container == null) { throw new ArgumentNullException(nameof(container)); } // To support CORS uncomment the line below. var cors = new EnableCorsAttribute("http://localhost:4200,https://flexberry-ember-security-dev.firebaseapp.com", "*", "*") { SupportsCredentials = true }; config.EnableCors(cors); // Use constructor with true first parameter for enable SupportsCredentials. // Use Unity as WebAPI dependency resolver config.DependencyResolver = new UnityDependencyResolver(container); // Create EDM model builder var assemblies = new[] { Assembly.Load("EducationalProgram.Objects"), typeof(ApplicationLog).Assembly, typeof(UserSetting).Assembly, typeof(FlexberryUserSetting).Assembly, typeof(Lock).Assembly }; var builder = new DefaultDataObjectEdmModelBuilder(assemblies); // Map OData Service var token = config.MapODataServiceDataObjectRoute(builder); // User functions token.Functions.Register(new Func <QueryParameters, string>(Test)); // Event handlers token.Events.CallbackAfterCreate = CallbackAfterCreate; }
/// <summary> /// Configure OData by DataObjects assembly. /// </summary> /// <param name="config">Http configuration object.</param> /// <param name="container">Unity container.</param> public static void Configure(HttpConfiguration config, IUnityContainer container) { if (config == null) { throw new ArgumentNullException(nameof(config)); } if (container == null) { throw new ArgumentNullException(nameof(container)); } // Enable CORS with SupportsCredentials config.EnableCors(new DynamicCorsPolicyProvider(true)); // Use Unity as WebAPI dependency resolver config.DependencyResolver = new UnityDependencyResolver(container); // Create EDM model builder var assemblies = new[] { Assembly.Load("NewPlatform.Flexberry.ServiceBus.Objects"), typeof(ApplicationLog).Assembly, typeof(UserSetting).Assembly, typeof(FlexberryUserSetting).Assembly, typeof(Lock).Assembly }; var builder = new DefaultDataObjectEdmModelBuilder(assemblies); builder.PropertyFilter = PropertyFilter; // Map OData Service var token = config.MapODataServiceDataObjectRoute(builder); // User functions token.Functions.Register(new Func <string>(GetAuthenticatedUser)); token.Functions.Register(new Func <string, string, bool>(Login)); token.Functions.Register(new Func <bool>(Logout)); // Event handlers token.Events.CallbackAfterGet = CallbackAfterGet; }
/// <summary> /// Configure OData by DataObjects assembly. /// </summary> /// <param name="config">Http configuration object.</param> /// <param name="container">Unity container.</param> public static void Configure(HttpConfiguration config, IUnityContainer container) { if (config == null) { throw new ArgumentNullException(nameof(config)); } if (container == null) { throw new ArgumentNullException(nameof(container)); } var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); // Use Unity as WebAPI dependency resolver config.DependencyResolver = new UnityDependencyResolver(container); // Create EDM model builder var assemblies = new[] { Assembly.Load("FlexberryEmberDemo.Objects"), typeof(ApplicationLog).Assembly, typeof(Lock).Assembly, typeof(Agent).Assembly }; var builder = new DefaultDataObjectEdmModelBuilder(assemblies); // Map OData Service var token = config.MapODataServiceDataObjectRoute(builder); // User functions token.Functions.Register(new Func <QueryParameters, string>(Test)); token.Functions.Register(new Func <string, string, bool>(Login)); token.Functions.Register(new Func <bool>(Logout)); token.Functions.Register(new Func <string>(GetAuthenticatedUser)); // Event handlers token.Events.CallbackAfterCreate = CallbackAfterCreate; }
/// <summary> /// Configure OData by DataObjects assembly. /// </summary> /// <param name="config">Http configuration object.</param> /// <param name="container">Unity container.</param> public static void Configure(HttpConfiguration config, IUnityContainer container) { if (config == null) { throw new ArgumentNullException("config"); } if (container == null) { throw new ArgumentNullException("container"); } // To support CORS uncomment the line below. // config.EnableCors(new DynamicCorsPolicyProvider()); // Use constructor with true first parameter for enable SupportsCredentials. // Use Unity as WebAPI dependency resolver config.DependencyResolver = new UnityDependencyResolver(container); // Create EDM model builder var assemblies = new[] { Assembly.Load("MyTestApplicationEmber.Objects"), typeof(ApplicationLog).Assembly, typeof(UserSetting).Assembly, typeof(FlexberryUserSetting).Assembly, typeof(Lock).Assembly }; var builder = new DefaultDataObjectEdmModelBuilder(assemblies); // Map OData Service var token = config.MapODataServiceDataObjectRoute(builder); // User functions token.Functions.Register(new Func <QueryParameters, string>(Test)); // Event handlers token.Events.CallbackAfterCreate = CallbackAfterCreate; }
/// <summary> /// Configure OData by DataObjects assembly. /// </summary> /// <param name="config">Http configuration object.</param> /// <param name="container">Unity container.</param> public static void Configure(HttpConfiguration config, IUnityContainer container) { if (config == null) { throw new ArgumentNullException(nameof(config)); } if (container == null) { throw new ArgumentNullException(nameof(container)); } var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); // Use Unity as WebAPI dependency resolver config.DependencyResolver = new UnityDependencyResolver(container); // Create EDM model builder var assemblies = new[] { Assembly.Load("FlexberryGisTestStand.Objects"), Assembly.Load("NewPlatform.Flexberry.GIS.Objects"), typeof(ApplicationLog).Assembly, typeof(UserSetting).Assembly, typeof(FlexberryUserSetting).Assembly, typeof(Lock).Assembly }; var builder = new DefaultDataObjectEdmModelBuilder(assemblies); // Map OData Service var token = config.MapODataServiceDataObjectRoute(builder); // Register OData event handlers. token.Events.CallbackAfterCreate = CallbackAfterCreate; }