using Core.Blueprint.Common.DependencyInjection; using Core.Blueprint.Redis.Runtime; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; namespace Core.Blueprint.Redis.DependencyInjection; /// /// Registers runtime redis integration defaults for blueprint consumers. /// public static class BlueprintRedisServiceCollectionExtensions { /// /// Adds redis runtime settings and baseline runtime services. /// /// Service collection. /// Redis key prefix. /// Service collection for fluent chaining. public static IServiceCollection AddBlueprintRedisModule( this IServiceCollection services, string keyPrefix = "agilewebs:") { services.AddBlueprintRuntimeCore(); services.TryAddSingleton(new BlueprintRedisRuntimeSettings(ResolveKeyPrefix(keyPrefix))); return services; } private static string ResolveKeyPrefix(string keyPrefix) { if (!string.IsNullOrWhiteSpace(keyPrefix)) { return keyPrefix; } return "agilewebs:"; } }