コード例 #1
0
 public ServerController(UserManager <ApplicationUser> userManager,
                         StoredFileRepository storedFileRepository,
                         FileService fileService,
                         IEnumerable <IStorageProviderService> storageProviderServices,
                         BTCPayServerOptions options,
                         RateFetcher rateProviderFactory,
                         SettingsRepository settingsRepository,
                         NBXplorerDashboard dashBoard,
                         IHttpClientFactory httpClientFactory,
                         LightningConfigurationProvider lnConfigProvider,
                         TorServices torServices,
                         StoreRepository storeRepository,
                         ApplicationDbContextFactory contextFactory)
 {
     _Options = options;
     _StoredFileRepository    = storedFileRepository;
     _FileService             = fileService;
     _StorageProviderServices = storageProviderServices;
     _UserManager             = userManager;
     _SettingsRepository      = settingsRepository;
     _dashBoard           = dashBoard;
     HttpClientFactory    = httpClientFactory;
     _RateProviderFactory = rateProviderFactory;
     _StoreRepository     = storeRepository;
     _LnConfigProvider    = lnConfigProvider;
     _torServices         = torServices;
     _ContextFactory      = contextFactory;
 }
コード例 #2
0
 public ServerController(UserManager <ApplicationUser> userManager,
                         StoredFileRepository storedFileRepository,
                         FileService fileService,
                         IEnumerable <IStorageProviderService> storageProviderServices,
                         BTCPayServerOptions options,
                         SettingsRepository settingsRepository,
                         NBXplorerDashboard dashBoard,
                         IHttpClientFactory httpClientFactory,
                         LightningConfigurationProvider lnConfigProvider,
                         TorServices torServices,
                         StoreRepository storeRepository,
                         AppService appService,
                         CheckConfigurationHostedService sshState,
                         EventAggregator eventAggregator,
                         CssThemeManager cssThemeManager)
 {
     _Options = options;
     _StoredFileRepository    = storedFileRepository;
     _FileService             = fileService;
     _StorageProviderServices = storageProviderServices;
     _UserManager             = userManager;
     _SettingsRepository      = settingsRepository;
     _dashBoard        = dashBoard;
     HttpClientFactory = httpClientFactory;
     _StoreRepository  = storeRepository;
     _LnConfigProvider = lnConfigProvider;
     _torServices      = torServices;
     _AppService       = appService;
     _sshState         = sshState;
     _eventAggregator  = eventAggregator;
     _cssThemeManager  = cssThemeManager;
 }
コード例 #3
0
        public async Task <IActionResult> ListPlugins(
            [FromServices] PluginService pluginService,
            [FromServices] BTCPayServerOptions btcPayServerOptions,
            string remote = "btcpayserver/btcpayserver-plugins")
        {
            IEnumerable <PluginService.AvailablePlugin> availablePlugins;

            try
            {
                availablePlugins = await pluginService.GetRemotePlugins(remote);
            }
            catch (Exception)
            {
                TempData.SetStatusMessageModel(new StatusMessageModel()
                {
                    Severity = StatusMessageModel.StatusSeverity.Error,
                    Message  = "Remote plugins lookup failed. Try again later."
                });
                availablePlugins = Array.Empty <PluginService.AvailablePlugin>();
            }
            var res = new ListPluginsViewModel()
            {
                Installed      = pluginService.LoadedPlugins,
                Available      = availablePlugins,
                Remote         = remote,
                Commands       = pluginService.GetPendingCommands(),
                CanShowRestart = btcPayServerOptions.DockerDeployment
            };

            return(View(res));
        }
コード例 #4
0
        public static void UseProviderStorage(this IApplicationBuilder builder, BTCPayServerOptions options)
        {
            try
            {
                var           dir    = FileSystemFileProviderService.GetStorageDir(options);
                var           tmpdir = FileSystemFileProviderService.GetTempStorageDir(options);
                DirectoryInfo dirInfo;
                if (!Directory.Exists(dir))
                {
                    dirInfo = Directory.CreateDirectory(dir);
                }
                else
                {
                    dirInfo = new DirectoryInfo(dir);
                }

                DirectoryInfo tmpdirInfo;
                if (!Directory.Exists(tmpdir))
                {
                    tmpdirInfo = Directory.CreateDirectory(tmpdir);
                }
                else
                {
                    tmpdirInfo = new DirectoryInfo(tmpdir);
                }

                builder.UseStaticFiles(new StaticFileOptions()
                {
                    ServeUnknownFileTypes = true,
                    RequestPath           = new PathString($"/{FileSystemFileProviderService.LocalStorageDirectoryName}"),
                    FileProvider          = new PhysicalFileProvider(dirInfo.FullName),
                    OnPrepareResponse     = context =>
                    {
                        if (context.Context.Request.Query.ContainsKey("download"))
                        {
                            context.Context.Response.Headers["Content-Disposition"] = "attachment";
                        }
                    }
                });
                builder.UseStaticFiles(new StaticFileOptions()
                {
                    ServeUnknownFileTypes = true,
                    RequestPath           = new PathString($"/{FileSystemFileProviderService.LocalStorageDirectoryName}tmp"),
                    FileProvider          = new TemporaryLocalFileProvider(tmpdirInfo, dirInfo,
                                                                           builder.ApplicationServices.GetService <StoredFileRepository>()),
                    OnPrepareResponse = context =>
                    {
                        if (context.Context.Request.Query.ContainsKey("download"))
                        {
                            context.Context.Response.Headers["Content-Disposition"] = "attachment";
                        }
                    }
                });
            }
            catch (Exception e)
            {
                Logs.Utils.LogError(e, $"Could not initialize the Local File Storage system(uploading and storing files locally)");
            }
        }
コード例 #5
0
        public GithubVersionFetcher(IHttpClientFactory httpClientFactory, BTCPayServerOptions options)
        {
            _httpClient = httpClientFactory.CreateClient(nameof(GithubVersionFetcher));
            _httpClient.DefaultRequestHeaders.Add("Accept", "application/vnd.github.v3+json");
            _httpClient.DefaultRequestHeaders.Add("User-Agent", "BTCPayServer/NewVersionChecker");

            _updateurl = options.UpdateUrl;
        }
コード例 #6
0
 public BTCPayMiddleware(RequestDelegate next,
                         BTCPayServerOptions options,
                         BTCPayServerEnvironment env)
 {
     _Env     = env ?? throw new ArgumentNullException(nameof(env));
     _Next    = next ?? throw new ArgumentNullException(nameof(next));
     _Options = options ?? throw new ArgumentNullException(nameof(options));
 }
コード例 #7
0
 public PluginService(IEnumerable <IBTCPayServerPlugin> btcPayServerPlugins,
                      IHttpClientFactory httpClientFactory, BTCPayServerOptions btcPayServerOptions)
 {
     LoadedPlugins = btcPayServerPlugins;
     _githubClient = httpClientFactory.CreateClient();
     _githubClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("btcpayserver", "1"));
     _btcPayServerOptions = btcPayServerOptions;
 }
コード例 #8
0
 public BTCPayMiddleware(RequestDelegate next,
                         TokenRepository tokenRepo,
                         BTCPayServerOptions options)
 {
     _TokenRepository = tokenRepo ?? throw new ArgumentNullException(nameof(tokenRepo));
     _Next            = next ?? throw new ArgumentNullException(nameof(next));
     _Options         = options ?? throw new ArgumentNullException(nameof(options));
 }
コード例 #9
0
 public StoreLightningServices(
     BTCPayNetworkProvider networkProvider,
     BTCPayServerOptions btcpayServerOptions,
     IOptions <ExternalServicesOptions> externalServiceOptions)
 {
     _networkProvider        = networkProvider;
     _btcpayServerOptions    = btcpayServerOptions;
     _externalServiceOptions = externalServiceOptions;
 }
 public InternalLightningNodeApiController(BTCPayServerOptions btcPayServerOptions,
                                           BTCPayNetworkProvider btcPayNetworkProvider, BTCPayServerEnvironment btcPayServerEnvironment,
                                           CssThemeManager cssThemeManager, LightningClientFactoryService lightningClientFactory) : base(
         btcPayNetworkProvider, btcPayServerEnvironment, cssThemeManager)
 {
     _btcPayServerOptions    = btcPayServerOptions;
     _btcPayNetworkProvider  = btcPayNetworkProvider;
     _lightningClientFactory = lightningClientFactory;
 }
コード例 #11
0
 public AppsPublicController(AppService AppService,
                             BTCPayServerOptions btcPayServerOptions,
                             InvoiceController invoiceController,
                             UserManager <ApplicationUser> userManager)
 {
     _AppService          = AppService;
     _BtcPayServerOptions = btcPayServerOptions;
     _InvoiceController   = invoiceController;
     _UserManager         = userManager;
 }
コード例 #12
0
 public Socks5HttpClientHandler(BTCPayServerOptions opts)
 {
     if (opts.SocksEndpoint is IPEndPoint endpoint)
     {
         this.Proxy = new WebProxy($"socks5://{endpoint.Address}:{endpoint.Port}");
     }
     else if (opts.SocksEndpoint is DnsEndPoint endpoint2)
     {
         this.Proxy = new WebProxy($"socks5://{endpoint2.Host}:{endpoint2.Port}");
     }
 }
コード例 #13
0
 public PluginService(IEnumerable <IBTCPayServerPlugin> btcPayServerPlugins,
                      IHttpClientFactory httpClientFactory, IOptions <DataDirectories> datadirs, BTCPayServerOptions options, IEnumerable <IPluginHookAction> actions, IEnumerable <IPluginHookFilter> filters)
 {
     LoadedPlugins = btcPayServerPlugins;
     _githubClient = httpClientFactory.CreateClient();
     _githubClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("btcpayserver", "1"));
     _datadirs = datadirs;
     _options  = options;
     _actions  = actions;
     _filters  = filters;
 }
コード例 #14
0
 public ServerController(UserManager<ApplicationUser> userManager,
     Configuration.BTCPayServerOptions options,
     BTCPayRateProviderFactory rateProviderFactory,
     SettingsRepository settingsRepository,
     LightningConfigurationProvider lnConfigProvider,
     Services.Stores.StoreRepository storeRepository)
 {
     _Options = options;
     _UserManager = userManager;
     _SettingsRepository = settingsRepository;
     _RateProviderFactory = rateProviderFactory;
     _StoreRepository = storeRepository;
     _LnConfigProvider = lnConfigProvider;
 }
コード例 #15
0
 public CallbackController(SettingsRepository repo,
                           ExplorerClient explorer,
                           EventAggregator eventAggregator,
                           BTCPayServerOptions options,
                           IServer server,
                           BTCPayNetworkProvider networkProvider)
 {
     _Settings        = repo;
     _Network         = networkProvider.GetNetwork("BTC").NBitcoinNetwork;
     _Explorer        = explorer;
     _Options         = options;
     _EventAggregator = eventAggregator;
     _Server          = server;
 }
コード例 #16
0
 public PluginService(
     ISettingsRepository settingsRepository,
     IEnumerable <IBTCPayServerPlugin> btcPayServerPlugins,
     IHttpClientFactory httpClientFactory, BTCPayServerOptions btcPayServerOptions,
     IOptions <DataDirectories> dataDirectories, IMemoryCache memoryCache)
 {
     LoadedPlugins = btcPayServerPlugins;
     _githubClient = httpClientFactory.CreateClient();
     _githubClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("btcpayserver", "1"));
     _settingsRepository  = settingsRepository;
     _btcPayServerOptions = btcPayServerOptions;
     _dataDirectories     = dataDirectories;
     _memoryCache         = memoryCache;
 }
コード例 #17
0
        public void LoadSubChainsAlways()
        {
            var options = new BTCPayServerOptions();

            options.LoadArgs(new ConfigurationRoot(new List <IConfigurationProvider>()
            {
                new MemoryConfigurationProvider(new MemoryConfigurationSource()
                {
                    InitialData = new[] { new KeyValuePair <string, string>("chains", "usdt20"), }
                })
            }));

            Assert.NotNull(options.NetworkProvider.GetNetwork("ETH"));
            Assert.NotNull(options.NetworkProvider.GetNetwork("USDT20"));
        }
コード例 #18
0
 public ServerController(UserManager <ApplicationUser> userManager,
                         Configuration.BTCPayServerOptions options,
                         RateFetcher rateProviderFactory,
                         SettingsRepository settingsRepository,
                         NBXplorerDashboard dashBoard,
                         LightningConfigurationProvider lnConfigProvider,
                         Services.Stores.StoreRepository storeRepository)
 {
     _Options             = options;
     _UserManager         = userManager;
     _SettingsRepository  = settingsRepository;
     _dashBoard           = dashBoard;
     _RateProviderFactory = rateProviderFactory;
     _StoreRepository     = storeRepository;
     _LnConfigProvider    = lnConfigProvider;
 }
コード例 #19
0
 public StoresController(
     IServiceProvider serviceProvider,
     BTCPayServerOptions btcpayServerOptions,
     BTCPayServerEnvironment btcpayEnv,
     StoreRepository repo,
     TokenRepository tokenRepo,
     UserManager <ApplicationUser> userManager,
     AccessTokenController tokenController,
     BTCPayWalletProvider walletProvider,
     BTCPayNetworkProvider networkProvider,
     RateFetcher rateFactory,
     ExplorerClientProvider explorerProvider,
     LanguageService langService,
     PaymentMethodHandlerDictionary paymentMethodHandlerDictionary,
     SettingsRepository settingsRepository,
     IAuthorizationService authorizationService,
     EventAggregator eventAggregator,
     CssThemeManager cssThemeManager,
     AppService appService,
     IWebHostEnvironment webHostEnvironment,
     WebhookNotificationManager webhookNotificationManager,
     IOptions <LightningNetworkOptions> lightningNetworkOptions,
     IDataProtectionProvider dataProtector)
 {
     _RateFactory     = rateFactory;
     _Repo            = repo;
     _TokenRepository = tokenRepo;
     _UserManager     = userManager;
     _LangService     = langService;
     _TokenController = tokenController;
     _WalletProvider  = walletProvider;
     _paymentMethodHandlerDictionary = paymentMethodHandlerDictionary;
     _settingsRepository             = settingsRepository;
     _authorizationService           = authorizationService;
     _CssThemeManager           = cssThemeManager;
     _appService                = appService;
     _webHostEnvironment        = webHostEnvironment;
     _lightningNetworkOptions   = lightningNetworkOptions;
     DataProtector              = dataProtector.CreateProtector("ConfigProtector");
     WebhookNotificationManager = webhookNotificationManager;
     _EventAggregator           = eventAggregator;
     _NetworkProvider           = networkProvider;
     _ExplorerProvider          = explorerProvider;
     _ServiceProvider           = serviceProvider;
     _BtcpayServerOptions       = btcpayServerOptions;
     _BTCPayEnv = btcpayEnv;
 }
コード例 #20
0
 public StoreLightningBalance(
     StoreRepository storeRepo,
     CurrencyNameTable currencies,
     BTCPayNetworkProvider networkProvider,
     BTCPayServerOptions btcpayServerOptions,
     LightningClientFactoryService lightningClientFactory,
     IOptions <LightningNetworkOptions> lightningNetworkOptions,
     IOptions <ExternalServicesOptions> externalServiceOptions)
 {
     _storeRepo               = storeRepo;
     _currencies              = currencies;
     _networkProvider         = networkProvider;
     _btcpayServerOptions     = btcpayServerOptions;
     _externalServiceOptions  = externalServiceOptions;
     _lightningClientFactory  = lightningClientFactory;
     _lightningNetworkOptions = lightningNetworkOptions;
 }
コード例 #21
0
 public StoresController(
     IServiceProvider serviceProvider,
     BTCPayServerOptions btcpayServerOptions,
     BTCPayServerEnvironment btcpayEnv,
     StoreRepository repo,
     TokenRepository tokenRepo,
     UserManager <ApplicationUser> userManager,
     AccessTokenController tokenController,
     BTCPayWalletProvider walletProvider,
     BTCPayNetworkProvider networkProvider,
     RateFetcher rateFactory,
     ExplorerClientProvider explorerProvider,
     IFeeProviderFactory feeRateProvider,
     LanguageService langService,
     ChangellyClientProvider changellyClientProvider,
     IWebHostEnvironment env, IHttpClientFactory httpClientFactory,
     PaymentMethodHandlerDictionary paymentMethodHandlerDictionary,
     SettingsRepository settingsRepository,
     IAuthorizationService authorizationService,
     EventAggregator eventAggregator,
     CssThemeManager cssThemeManager,
     AppService appService)
 {
     _RateFactory             = rateFactory;
     _Repo                    = repo;
     _TokenRepository         = tokenRepo;
     _UserManager             = userManager;
     _LangService             = langService;
     _changellyClientProvider = changellyClientProvider;
     _TokenController         = tokenController;
     _WalletProvider          = walletProvider;
     _Env = env;
     _httpClientFactory = httpClientFactory;
     _paymentMethodHandlerDictionary = paymentMethodHandlerDictionary;
     _settingsRepository             = settingsRepository;
     _authorizationService           = authorizationService;
     _CssThemeManager     = cssThemeManager;
     _appService          = appService;
     _EventAggregator     = eventAggregator;
     _NetworkProvider     = networkProvider;
     _ExplorerProvider    = explorerProvider;
     _FeeRateProvider     = feeRateProvider;
     _ServiceProvider     = serviceProvider;
     _BtcpayServerOptions = btcpayServerOptions;
     _BTCPayEnv           = btcpayEnv;
 }
コード例 #22
0
 public UIStoresController(
     IServiceProvider serviceProvider,
     BTCPayServerOptions btcpayServerOptions,
     BTCPayServerEnvironment btcpayEnv,
     StoreRepository repo,
     TokenRepository tokenRepo,
     UserManager <ApplicationUser> userManager,
     BitpayAccessTokenController tokenController,
     BTCPayWalletProvider walletProvider,
     BTCPayNetworkProvider networkProvider,
     RateFetcher rateFactory,
     ExplorerClientProvider explorerProvider,
     LanguageService langService,
     PaymentMethodHandlerDictionary paymentMethodHandlerDictionary,
     SettingsRepository settingsRepository,
     IAuthorizationService authorizationService,
     EventAggregator eventAggregator,
     AppService appService,
     WebhookSender webhookNotificationManager,
     IDataProtectionProvider dataProtector,
     NBXplorerDashboard Dashboard,
     IOptions <ExternalServicesOptions> externalServiceOptions)
 {
     _RateFactory     = rateFactory;
     _Repo            = repo;
     _TokenRepository = tokenRepo;
     _UserManager     = userManager;
     _LangService     = langService;
     _TokenController = tokenController;
     _WalletProvider  = walletProvider;
     _paymentMethodHandlerDictionary = paymentMethodHandlerDictionary;
     _settingsRepository             = settingsRepository;
     _authorizationService           = authorizationService;
     _appService   = appService;
     DataProtector = dataProtector.CreateProtector("ConfigProtector");
     WebhookNotificationManager = webhookNotificationManager;
     _EventAggregator           = eventAggregator;
     _NetworkProvider           = networkProvider;
     _ExplorerProvider          = explorerProvider;
     _ServiceProvider           = serviceProvider;
     _BtcpayServerOptions       = btcpayServerOptions;
     _BTCPayEnv = btcpayEnv;
     _Dashboard = Dashboard;
     _externalServiceOptions = externalServiceOptions;
 }
コード例 #23
0
 public UsersController(UserManager <ApplicationUser> userManager, BTCPayServerOptions btcPayServerOptions,
                        RoleManager <IdentityRole> roleManager, SettingsRepository settingsRepository,
                        EventAggregator eventAggregator,
                        IPasswordValidator <ApplicationUser> passwordValidator,
                        NicolasDorier.RateLimits.RateLimitService throttleService,
                        Configuration.BTCPayServerOptions options,
                        IAuthorizationService authorizationService)
 {
     _userManager          = userManager;
     _btcPayServerOptions  = btcPayServerOptions;
     _roleManager          = roleManager;
     _settingsRepository   = settingsRepository;
     _eventAggregator      = eventAggregator;
     _passwordValidator    = passwordValidator;
     _throttleService      = throttleService;
     _options              = options;
     _authorizationService = authorizationService;
 }
コード例 #24
0
ファイル: Startup.cs プロジェクト: timxor/btcpayserver
 public void Configure(
     IApplicationBuilder app,
     IWebHostEnvironment env,
     IServiceProvider prov,
     BTCPayServerOptions options,
     ILoggerFactory loggerFactory)
 {
     Logs.Configuration.LogInformation($"Root Path: {options.RootPath}");
     if (options.RootPath.Equals("/", StringComparison.OrdinalIgnoreCase))
     {
         ConfigureCore(app, env, prov, loggerFactory, options);
     }
     else
     {
         app.Map(options.RootPath, appChild =>
         {
             ConfigureCore(appChild, env, prov, loggerFactory, options);
         });
     }
 }
コード例 #25
0
 public UsersController(UserManager <ApplicationUser> userManager,
                        RoleManager <IdentityRole> roleManager,
                        SettingsRepository settingsRepository,
                        EventAggregator eventAggregator,
                        IPasswordValidator <ApplicationUser> passwordValidator,
                        RateLimitService throttleService,
                        BTCPayServerOptions options,
                        IAuthorizationService authorizationService,
                        CssThemeManager themeManager)
 {
     _userManager          = userManager;
     _roleManager          = roleManager;
     _settingsRepository   = settingsRepository;
     _eventAggregator      = eventAggregator;
     _passwordValidator    = passwordValidator;
     _throttleService      = throttleService;
     _options              = options;
     _authorizationService = authorizationService;
     _themeManager         = themeManager;
 }
コード例 #26
0
        public ExplorerClientProvider(IHttpClientFactory httpClientFactory, BTCPayNetworkProvider networkProviders, BTCPayServerOptions options, NBXplorerDashboard dashboard)
        {
            _Dashboard        = dashboard;
            _NetworkProviders = networkProviders;
            _Options          = options;

            foreach (var setting in options.NBXplorerConnectionSettings)
            {
                var cookieFile = setting.CookieFile;
                if (cookieFile.Trim() == "0" || string.IsNullOrEmpty(cookieFile.Trim()))
                {
                    cookieFile = null;
                }
                Logs.Configuration.LogInformation($"{setting.CryptoCode}: Explorer url is {(setting.ExplorerUri.AbsoluteUri ?? "not set")}");
                Logs.Configuration.LogInformation($"{setting.CryptoCode}: Cookie file is {(setting.CookieFile ?? "not set")}");
                if (setting.ExplorerUri != null)
                {
                    _Clients.TryAdd(setting.CryptoCode.ToUpperInvariant(), CreateExplorerClient(httpClientFactory.CreateClient(nameof(ExplorerClientProvider)), _NetworkProviders.GetNetwork <BTCPayNetwork>(setting.CryptoCode), setting.ExplorerUri, setting.CookieFile));
                }
            }
        }
コード例 #27
0
 public StoresController(
     IServiceProvider serviceProvider,
     BTCPayServerOptions btcpayServerOptions,
     BTCPayServerEnvironment btcpayEnv,
     StoreRepository repo,
     TokenRepository tokenRepo,
     UserManager <ApplicationUser> userManager,
     AccessTokenController tokenController,
     BTCPayWalletProvider walletProvider,
     BTCPayNetworkProvider networkProvider,
     RateFetcher rateFactory,
     ExplorerClientProvider explorerProvider,
     IFeeProviderFactory feeRateProvider,
     LanguageService langService,
     ChangellyClientProvider changellyClientProvider,
     IOptions <MvcJsonOptions> mvcJsonOptions,
     IHostingEnvironment env, IHttpClientFactory httpClientFactory,
     PaymentMethodHandlerDictionary paymentMethodHandlerDictionary,
     CssThemeManager cssThemeManager)
 {
     _RateFactory             = rateFactory;
     _Repo                    = repo;
     _TokenRepository         = tokenRepo;
     _UserManager             = userManager;
     _LangService             = langService;
     _changellyClientProvider = changellyClientProvider;
     MvcJsonOptions           = mvcJsonOptions;
     _TokenController         = tokenController;
     _WalletProvider          = walletProvider;
     _Env = env;
     _httpClientFactory = httpClientFactory;
     _paymentMethodHandlerDictionary = paymentMethodHandlerDictionary;
     _CssThemeManager     = cssThemeManager;
     _NetworkProvider     = networkProvider;
     _ExplorerProvider    = explorerProvider;
     _FeeRateProvider     = feeRateProvider;
     _ServiceProvider     = serviceProvider;
     _BtcpayServerOptions = btcpayServerOptions;
     _BTCPayEnv           = btcpayEnv;
 }
コード例 #28
0
 public GreenfieldUsersController(UserManager <ApplicationUser> userManager,
                                  RoleManager <IdentityRole> roleManager,
                                  SettingsRepository settingsRepository,
                                  EventAggregator eventAggregator,
                                  IPasswordValidator <ApplicationUser> passwordValidator,
                                  RateLimitService throttleService,
                                  BTCPayServerOptions options,
                                  IAuthorizationService authorizationService,
                                  UserService userService,
                                  Logs logs)
 {
     this.Logs             = logs;
     _userManager          = userManager;
     _roleManager          = roleManager;
     _settingsRepository   = settingsRepository;
     _eventAggregator      = eventAggregator;
     _passwordValidator    = passwordValidator;
     _throttleService      = throttleService;
     _options              = options;
     _authorizationService = authorizationService;
     _userService          = userService;
 }
コード例 #29
0
        public static void UseProviderStorage(this IApplicationBuilder builder, BTCPayServerOptions options)
        {
            var dir = FileSystemFileProviderService.GetStorageDir(options);

            DirectoryInfo dirInfo;

            if (!Directory.Exists(dir))
            {
                dirInfo = Directory.CreateDirectory(dir);
            }
            else
            {
                dirInfo = new DirectoryInfo(dir);
            }

            builder.UseStaticFiles(new StaticFileOptions()
            {
                ServeUnknownFileTypes = true,
                RequestPath           = new PathString($"/{FileSystemFileProviderService.LocalStorageDirectoryName}"),
                FileProvider          = new PhysicalFileProvider(dirInfo.FullName)
            });
        }
コード例 #30
0
 public StoresController(
     NBXplorerDashboard dashboard,
     IServiceProvider serviceProvider,
     BTCPayServerOptions btcpayServerOptions,
     BTCPayServerEnvironment btcpayEnv,
     IOptions <MvcJsonOptions> mvcJsonOptions,
     StoreRepository repo,
     TokenRepository tokenRepo,
     UserManager <ApplicationUser> userManager,
     AccessTokenController tokenController,
     BTCPayWalletProvider walletProvider,
     BTCPayNetworkProvider networkProvider,
     BTCPayRateProviderFactory rateFactory,
     ExplorerClientProvider explorerProvider,
     IFeeProviderFactory feeRateProvider,
     LanguageService langService,
     IHostingEnvironment env,
     CoinAverageSettings coinAverage)
 {
     _RateFactory         = rateFactory;
     _Dashboard           = dashboard;
     _Repo                = repo;
     _TokenRepository     = tokenRepo;
     _UserManager         = userManager;
     _LangService         = langService;
     _TokenController     = tokenController;
     _WalletProvider      = walletProvider;
     _Env                 = env;
     _NetworkProvider     = networkProvider;
     _ExplorerProvider    = explorerProvider;
     _MvcJsonOptions      = mvcJsonOptions.Value;
     _FeeRateProvider     = feeRateProvider;
     _ServiceProvider     = serviceProvider;
     _BtcpayServerOptions = btcpayServerOptions;
     _BTCPayEnv           = btcpayEnv;
     _CoinAverage         = coinAverage;
 }