/// <summary>
        /// Ajoute les services nécessaires à la mise en oeuvre des Web API Action Logement Services.
        /// </summary>
        /// <param name="services">La <see cref="IServiceCollection"></see> à laquelle ajouter ce service.</param>
        /// <param name="configuration">La collection des clés de configuration.</param>
        /// <returns>Une référence <see cref="IMvcBuilder" /> qui peut être utilisée pour ajouter d'autres services.</returns>
        public static IServiceCollection AddWebApiServices(this IServiceCollection services, IConfiguration configuration)
        {
            services
            .AddSingleton <IEnsureConfiguration, EnsureConfiguration>()
            .AddSingleton(InitMonitoring(configuration))

            .AddAndConfigureCors()
            .AddAndConfigureAuthentication(configuration)

            .AddMvc()
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
            .AddFluentValidation(fv =>
            {
                fv.RunDefaultMvcValidationAfterFluentValidationExecutes = false;
            });

            IServiceProvider     provider             = services.BuildServiceProvider();
            IEnsureConfiguration ensuredConfiguration = provider.GetRequiredService <IEnsureConfiguration>();
            var authorizationService = new ResourceAuthorizationService(ensuredConfiguration);

            services.AddSingleton <IResourceAuthorizationService>(authorizationService);
            services.AddSingleton <IResourceAuthorizationCacheService>(authorizationService);

            return(services.AddApiVersioning());
        }
Example #2
0
 /// <summary>
 /// Crée une instance de <see cref="CommunRepository"/> avec la configuration spécifiée.
 /// </summary>
 /// <param name="configuration">La configuration du <see cref="CommunRepository"/></param>
 public CommunRepository(IEnsureConfiguration configuration)
 {
     _connectionString = configuration.GetConnectionString(ConnectionStringName);
 }
Example #3
0
 /// <summary>
 /// Crée une instance de <see cref="ResourceAuthorizationService"/> avec la configuration spécifiée.
 /// </summary>
 /// <param name="configuration">La configuration du <see cref="ResourceAuthorizationService"/></param>
 public ResourceAuthorizationService(IEnsureConfiguration configuration)
 {
     _connectionString = configuration.GetConnectionString(ConnectionStringName);
 }