Esempio n. 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;
 }
Esempio n. 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;
 }
Esempio n. 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));
        }
Esempio n. 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)");
            }
        }
        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;
        }
Esempio n. 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));
 }
Esempio n. 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;
 }
Esempio n. 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));
 }
 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;
 }
 public AppsPublicController(AppService AppService,
                             BTCPayServerOptions btcPayServerOptions,
                             InvoiceController invoiceController,
                             UserManager <ApplicationUser> userManager)
 {
     _AppService          = AppService;
     _BtcPayServerOptions = btcPayServerOptions;
     _InvoiceController   = invoiceController;
     _UserManager         = userManager;
 }
Esempio n. 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}");
     }
 }
Esempio n. 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;
 }
 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;
 }
Esempio n. 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;
 }
Esempio n. 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;
 }
Esempio n. 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"));
        }
Esempio n. 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;
 }
Esempio n. 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;
 }
 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;
 }
Esempio n. 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;
 }
 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;
 }
Esempio n. 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;
 }
Esempio n. 24
0
 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);
         });
     }
 }
Esempio n. 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;
 }
Esempio n. 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));
                }
            }
        }
Esempio n. 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;
 }
Esempio n. 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;
 }
Esempio n. 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)
            });
        }
Esempio n. 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;
 }