Example #1
0
        public static void Configure(VoyagerConfigurationBuilder builder, IServiceCollection services)
        {
            var isRegistered = services.Any(s => s.ImplementationType == typeof(IsRegistered));

            if (!isRegistered)
            {
                services.AddSingleton <VoyagerOptionsHolder>();
                services.AddScoped <IsRegistered>();
                services.AddMvcCore().AddApiExplorer();
                services.TryAddEnumerable(ServiceDescriptor.Transient <IApiDescriptionProvider, VoyagerApiDescriptionProvider>());
                services.AddSingleton <ExceptionHandler, DefaultExceptionHandler>();
                var voyagerConfig = new VoyagerConfiguration
                {
                    EnvironmentName = Environment.GetEnvironmentVariable("VOYAGER_ENVIRONMENT") ??
                                      Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "DEVELOPMENT"
                };
                services.AddSingleton(voyagerConfig);
                builder.AddAssemblyWith <VoyagerConfigurationBuilder>();
                services.AddHttpContextAccessor();
                services.TryAddTransient <ModelBinder, DefaultModelBinder>();
                services.TryAddTransient <DefaultModelBinder>();
                services.AddScoped(typeof(IPipelineBehavior <,>), typeof(ValidationBehavior <,>));
                services.AddLogging();
                services.AddSingleton <TypeBindingRepository>();
            }

            services.AddValidatorsFromAssemblies(builder.Assemblies);
            RegisterMediatorHandlers(services, builder.Assemblies);
            RegisterVoyagerRoutes(services, builder.Assemblies);
            AddCustomAuthorization(services, builder.Assemblies);

            services.AddMediatR(builder.Assemblies.ToArray());
        }
Example #2
0
        public static void AddVoyager(this IServiceCollection services, Action <VoyagerConfigurationBuilder> configure = null)
        {
            var configurationBuilder = new VoyagerConfigurationBuilder();

            configure?.Invoke(configurationBuilder);
            VoyagerStartup.Configure(configurationBuilder, services);
        }
Example #3
0
        public static void AddVoyager(this IServiceCollection services, Action <VoyagerConfigurationBuilder> configure = null)
        {
            var configurationBuilder = new VoyagerConfigurationBuilder();

            if (configure == null)
            {
                configurationBuilder.Assemblies.Add(Assembly.GetCallingAssembly());
            }
            else
            {
                configure?.Invoke(configurationBuilder);
            }
            VoyagerStartup.Configure(configurationBuilder, services);
        }