Files
2024-01-25 04:42:47 +03:30

36 lines
1.2 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using xCommons.Extensions;
using xIdentityModels.Interfaces;
using xIdentityModels.Providers;
namespace xIdentityModels.Extensions {
public static class DIExtensions {
/// <summary>
/// since registering IXUserRoleHelper need to add default instance if
/// user not provided we create this helper ...
/// </summary>
/// <param name="services"></param>
public static void AddXUserRoleHandler (
this IServiceCollection services,
IXUserRoleHelper helper = null
) {
//
// Check if Provider is null ...
if (helper.IsNull ()) {
helper = services.GetRegisteredService<IXUserRoleHelper> ();
}
//
// check if Provider registered or not ...
if (helper.IsNull ()) {
//
// Create Default provider ...
services.AddSingleton<IXUserRoleHelper> (new XDefaultUserRoleHelper ());
} else {
//
// Register Given Helper ...
services.AddSingleton<IXUserRoleHelper> (helper);
}
}
}
}