Exemplo n.º 1
0
 public SupportMessageService(IEntityRepository repository,
                              IFirebaseRepository firebaseRepository,
                              IOptionsBinder optionsBinder)
 {
     _repository         = repository;
     _accessor           = new MediaAccessor();
     _firebaseRepository = firebaseRepository;
     _optionsBinder      = optionsBinder;
 }
Exemplo n.º 2
0
 public MessageService(IEntityRepository repository,
                       IFirebaseRepository firebaseRepository,
                       IOptionsBinder optionsBinder,
                       IActivityService activityService)
 {
     _repository         = repository;
     _accessor           = new MediaAccessor();
     _firebaseRepository = firebaseRepository;
     _optionsBinder      = optionsBinder;
     _activityService    = activityService;
 }
Exemplo n.º 3
0
        public TokenService(IEntityRepository repository,
                            IOptions <TokenProviderOptions> options,
                            IOptions <AppSettings> settings,
                            IHostingEnvironment environment,
                            IOptionsBinder optionsBinder,
                            IConfigurationService configurationService)
        {
            _repository = repository;
            _options    = options.Value;
            var appSettings = settings.Value;
            var signingKey  = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(appSettings.SecretKey));

            _options.SigningCredentials = new SigningCredentials(signingKey, SecurityAlgorithms.HmacSha256);
            _options.Audience           = "BaitkmReactJsWebApp";
            _options.Issuer             = "Baitkm" + environment.EnvironmentName;
            _mediaAccessor            = new MediaAccessor();
            _optionsBinder            = optionsBinder;
            this.configurationService = configurationService;
        }
Exemplo n.º 4
0
        //private readonly IImageHandler imageHandler;

        public ConfigurationService(IEntityRepository repository,
                                    IOptionsBinder optionsBinder,
                                    IOptions <NgrokSettings> ngrokSettings,
                                    IOptions <Currency> currencies,
                                    IOptions <CurrnecySymbols> currencySymbols,
                                    IOptions <Dictionary <string, int> > tert,
                                    IOptions <TestDic> test
                                    //IImageHandler imageHandler
                                    )
        {
            _repository          = repository;
            _accessor            = new MediaAccessor();
            _optionsBinder       = optionsBinder;
            this.ngrokSettings   = ngrokSettings;
            this.currencies      = currencies;
            this.currencySymbols = currencySymbols;
            this.tert            = tert;
            this.test            = test;
            //this.imageHandler = imageHandler;
        }
Exemplo n.º 5
0
 public ConversationService(IEntityRepository repository,
                            IOptionsBinder optionsBinder)
 {
     _repository         = repository;
     this._optionsBinder = optionsBinder;
 }
Exemplo n.º 6
0
 public SaveFilterService(IEntityRepository repository,
                          IOptionsBinder optionsBinder)
 {
     _repository    = repository;
     _optionsBinder = optionsBinder;
 }
 public SupportConversationService(IEntityRepository repository,
                                   IOptionsBinder optionsBinder)
 {
     _repository    = repository;
     _optionsBinder = optionsBinder;
 }
Exemplo n.º 8
0
 public SubscribeService(IEntityRepository repository,
                         IOptionsBinder optionsBinder)
 {
     this.repository    = repository;
     this.optionsBinder = optionsBinder;
 }
Exemplo n.º 9
0
        /// <summary>
        /// 使用指定的 <see cref="IOptionsBinder"/> 绑定模块程序集中的配置类
        /// </summary>
        /// <param name="moduleLoaderBuilder"></param>
        /// <param name="optionsBinder">选项绑定器</param>
        /// <returns></returns>
        public static IModuleLoaderBuilder AutoBindModuleOptions(this IModuleLoaderBuilder moduleLoaderBuilder, IOptionsBinder optionsBinder)
        {
            moduleLoaderBuilder.ModuleLoadOptions.ModulesBootstrapInterceptors.Add(new OptionsBindModulesBootstrapInterceptor(optionsBinder));

            return(moduleLoaderBuilder);
        }
Exemplo n.º 10
0
 public LanguageMiddleware(RequestDelegate next,
                           IOptionsBinder optionsBinder)
 {
     _next          = next;
     _optionsBinder = optionsBinder;
 }
Exemplo n.º 11
0
 /// <inheritdoc cref="OptionsBindModulesBootstrapInterceptor"/>
 public OptionsBindModulesBootstrapInterceptor(IOptionsBinder optionsBinder)
 {
     _optionsBinder = optionsBinder ?? throw new ArgumentNullException(nameof(optionsBinder));
 }
Exemplo n.º 12
0
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApplicationLifetime lifetime,
                              IConfiguration configuration, IOptionsBinder optionsBinder)
        {
            app.UseCors(builder =>
            {
                builder.AllowAnyOrigin()
                .AllowAnyHeader()
                .AllowAnyMethod();
            });

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            var quartz = new SchedulerStartup();

            lifetime.ApplicationStarted.Register(quartz.Start);
            lifetime.ApplicationStopping.Register(quartz.Stop);


            app.UseSwagger();
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
            });

            app.UseMiddleware <LanguageMiddleware>(optionsBinder);

            app.UseAuthentication();
            app.UseStaticFiles();
            app.UseWebSockets();

            app.Use(async(context, next) =>
            {
                var rM         = context.RequestServices.GetService <IRoleManager>();
                var aL         = context.RequestServices.GetService <IActivityLogger>();
                var iP         = context.RequestServices.GetService <ILocateByIpAddress>();
                var userName   = context.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
                var verifiedBy = context.User.Claims.Where(c => c.Type == "verifiedBy").Select(c => c.Value).FirstOrDefault();
                if (string.IsNullOrEmpty(userName))
                {
                    await next.Invoke();
                }
                else
                {
                    await aL.Log(userName);
                    var ipAddress = context.Request.HttpContext.Connection.RemoteIpAddress.ToString();
                    await iP.Locate(userName, ipAddress, verifiedBy);
                    var success = await rM.CheckValidity(userName, verifiedBy);
                    if (!success)
                    {
                        context.Response.StatusCode = StatusCodes.Status401Unauthorized;
                        await next.Invoke();
                    }
                    else
                    {
                        await next.Invoke();
                    }
                }
            });
            app.Use(async(context, next) =>
            {
                if (!context.WebSockets.IsWebSocketRequest)
                {
                    await next.Invoke();
                }
                else
                {
                    var repo = context.RequestServices.GetService <IEntityRepository>();
                    await context.Map(repo);
                }
            });
            app.UseMvcWithDefaultRoute();
        }
Exemplo n.º 13
0
 public GuestService(IEntityRepository repository,
                     IOptionsBinder optionsBinder)
 {
     _repository    = repository;
     _optionsBinder = optionsBinder;
 }
 /// <inheritdoc cref="AutoBindOptionsModuleLoaderBuilderExtensions.AutoBindModuleOptions(IModuleLoaderBuilder, IOptionsBinder)"/>
 public static IHostBuilder AutoBindModuleOptions(this IHostBuilder hostBuilder, IOptionsBinder optionsBinder)
 {
     return(hostBuilder.InternalAddBootstrapInterceptor(new OptionsBindModulesBootstrapInterceptor(optionsBinder)));
 }
        /// <inheritdoc cref="AutoBindOptionsModuleLoaderBuilderExtensions.AutoBindModuleOptions(IModuleLoaderBuilder, IOptionsBinder)"/>
        public static IServiceCollection AutoBindModuleOptions(this IServiceCollection services, IOptionsBinder optionsBinder)
        {
            var moduleLoaderBuilder = services.GetRequiredSingletonServiceInstance <IModuleLoaderBuilder>();

            moduleLoaderBuilder.AutoBindModuleOptions(optionsBinder);

            return(services);
        }