feat: enforce tenant isolation and shared question bank

This commit is contained in:
2026-07-27 16:59:12 +08:00
parent 28e9a9fa41
commit db4c7b4496
137 changed files with 6402 additions and 112274 deletions

View File

@@ -26,7 +26,7 @@ public sealed class TenantSecret : AuditableTenantEntity
public DateTimeOffset? ExpiresAt { get; set; }
}
public sealed class SmsVerificationCode : Entity
public sealed class SmsVerificationCode : Entity, ITenantOwned
{
public Guid TenantId { get; set; }
public string Phone { get; set; } = string.Empty;
@@ -43,7 +43,7 @@ public sealed class SmsVerificationCode : Entity
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
}
public sealed class AuthLoginEvent : Entity
public sealed class AuthLoginEvent : Entity, ITenantOwned
{
public Guid TenantId { get; set; }
public Guid? UserId { get; set; }
@@ -69,7 +69,7 @@ public sealed class AuthSession : AuditableTenantEntity
public JsonElement Metadata { get; set; } = JsonDefaults.Object();
}
public sealed class SmsSendRateLimit
public sealed class SmsSendRateLimit : ITenantOwned
{
public Guid TenantId { get; set; }
public SmsRateLimitDimension Dimension { get; set; } = SmsRateLimitDimension.Phone;