Files
Deal/src/core/Deal.Infrastructure/Data/TenantContext.cs
T
stepan 0d2204219a Явные реализации интерфейсов в проде
TenantContext, LocalTelegramGateway, DefaultPasswordHasher и
WTelegramSessionClient переведены на явные реализации; типы в тестах
приведены к ITenantContext.
2026-09-13 14:15:23 +03:00

20 lines
578 B
C#

using Deal.SharedKernel.Tenants.Abstractions;
using Deal.SharedKernel.Tenants.Models;
namespace Deal.Infrastructure.Data;
public sealed class TenantContext : ITenantContext
{
private static readonly AsyncLocal<TenantId?> Current = new();
TenantId? ITenantContext.TenantId => Current.Value;
bool ITenantContext.HasTenant => Current.Value is not null;
string? ITenantContext.SchemaName => Current.Value?.SchemaName;
void ITenantContext.SetTenant(TenantId tenantId) => Current.Value = tenantId;
void ITenantContext.Reset() => Current.Value = null;
}