39 lines
1.2 KiB
C#
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:";
|
|
}
|
|
}
|