blueprint-platform/src/Core.Blueprint.Redis/DependencyInjection/BlueprintRedisServiceCollectionExtensions.cs
2026-02-22 15:15:59 -06:00

39 lines
1.2 KiB
C#

using Core.Blueprint.Common.DependencyInjection;
using Core.Blueprint.Redis.Runtime;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
namespace Core.Blueprint.Redis.DependencyInjection;
/// <summary>
/// Registers runtime redis integration defaults for blueprint consumers.
/// </summary>
public static class BlueprintRedisServiceCollectionExtensions
{
/// <summary>
/// Adds redis runtime settings and baseline runtime services.
/// </summary>
/// <param name="services">Service collection.</param>
/// <param name="keyPrefix">Redis key prefix.</param>
/// <returns>Service collection for fluent chaining.</returns>
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:";
}
}