Esempio n. 1
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <BungieSettings>(Configuration.GetSection("Bungie"));
            var bungie = Configuration.GetSection("Bungie").Get <BungieSettings>();

            services.AddHttpContextAccessor();

            services.AddScoped <IMaxPowerService, MaxPowerService>();
            services.AddScoped <SeasonPass>();
            services.AddScoped <ChargedWithLight>();
            services.AddScoped <Affinitization>();
            services.AddScoped <ItemService>();
            AddRecommendations(services);

            var config = new Destiny2Config(Configuration["AppName"], Configuration["AppVersion"],
                                            Configuration["AppId"], Configuration["Url"], Configuration["Email"])
            {
                BaseUrl = bungie.BaseUrl,
                ApiKey  = bungie.ApiKey,
            };

            services.AddDestiny2(config);

            services.AddRazorPages();

            services.AddBungieAuthentication(new AuthenticationConfiguration
            {
                LoginCookieName       = bungie.LoginCookieName,
                ClientId              = bungie.ClientId,
                ClientSecret          = bungie.ClientSecret,
                AuthorizationEndpoint = bungie.AuthorizationEndpoint,
                TokenEndpoint         = bungie.TokenEndpoint,
                CallbackPath          = "/signin-bungie/"
            });
        }
        public static void AddDestiny2(this IServiceCollection services, Destiny2Config config)
        {
            if (!config.IsValid)
            {
                throw new ArgumentException("config is invalid", nameof(config));
            }

            services.AddTransient <ITraceWriter, JsonLogWriter>();

            AddDestiny2Service(services, config.BaseUrl, config.ApiKey, config.UserAgent);
            AddManifestDownloader(services);
            AddManifestSettings(services, config.ManifestDatabasePath, config.ManifestCheckTimeout);
            AddManifestHostedService(services);
            AddManifest(services);
        }
Esempio n. 3
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded    = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            services.AddHttpContextAccessor();

            services.Configure <BungieSettings>(Configuration.GetSection("Bungie"));
            var bungie = Configuration.GetSection("Bungie").Get <BungieSettings>();

            var config = new Destiny2Config(Configuration["AppName"], Configuration["AppVersion"],
                                            Configuration["AppId"], "http://andyschott.com", "*****@*****.**")
            {
                BaseUrl = bungie.BaseUrl,
                ApiKey  = bungie.ApiKey,
            };

            services.AddDestiny2(config);

            services.AddBungieAuthentication(new AuthenticationConfiguration
            {
                LoginCookieName       = bungie.LoginCookieName,
                ClientId              = bungie.ClientId,
                ClientSecret          = bungie.ClientSecret,
                AuthorizationEndpoint = bungie.AuthorizationEndpoint,
                TokenEndpoint         = bungie.TokenEndpoint,
                CallbackPath          = "/signin-bungie/"
            });

            services.AddScoped <IItemFactory, ItemFactory>();
            services.AddScoped <ISocketFactory, SocketFactory>();
            services.AddScoped <IPerkFactory, PerkFactory>();
            services.AddScoped <IStatFactory, StatFactory>();
            services.AddScoped <IManifestCache, ManifestCache>();
        }