/// <summary> /// /// </summary> /// <typeparam name="TValidationProvider"></typeparam> /// <param name="registration"></param> /// <returns></returns> public static ApiRegistration AddValidationProvider <TValidationProvider>(this ApiRegistration registration) where TValidationProvider : class, IValidationProvider { registration.Services.AddScoped <IValidationProvider, TValidationProvider>(); return(registration); }
/// <summary> /// /// </summary> /// <param name="services"></param> /// <param name="configureApis"></param> /// <returns></returns> public static IServiceCollection AddSignalApi(this IServiceCollection services, Action <ApiRegistration> configureApis) { if (configureApis == null) { throw new ArgumentNullException(nameof(configureApis)); } var apiRegistration = new ApiRegistration(services); configureApis.Invoke(apiRegistration); services .AddSingleton(apiRegistration) .AddScoped <IAuthenticationProvider, DefaultAuthenticationProvider>() .AddScoped <IAuthorizationProvider, DefaultAuthorizationProvider>(); return(services); }
/// <summary> /// /// </summary> /// <typeparam name="TAuthorizationProvider"></typeparam> /// <param name="registration"></param> /// <returns></returns> public static ApiRegistration AddAuthorizationProvider <TAuthorizationProvider>(this ApiRegistration registration) where TAuthorizationProvider : class, IAuthorizationProvider { registration.Services.AddScoped <IAuthorizationProvider, TAuthorizationProvider>(); return(registration); }
/// <summary> /// /// </summary> /// <typeparam name="TClass"></typeparam> /// <param name="registration"></param> /// <returns></returns> public static ApiRegistration AddFluentValidationFromAssemblyByClass <TClass>(this ApiRegistration registration) { registration.Services.AddValidatorsFromAssemblyContaining <TClass>(); return(registration); }