Files
tiku-backend.net/Tiku.Domain/Tenancy/Tenant.cs
2026-07-26 04:52:56 +08:00

41 lines
874 B
C#

using System.Text.Json;
using Tiku.Domain.Common;
namespace Tiku.Domain.Tenancy;
public sealed class Tenant : AuditableEntity
{
public string Slug { get; set; } = string.Empty;
public string Name { get; set; } = string.Empty;
public string? LegalName { get; set; }
public TenantStatus Status { get; set; } = TenantStatus.Active;
public TenantMode Mode { get; set; } = TenantMode.Saas;
public BillingStatus BillingStatus { get; set; } = BillingStatus.Trial;
public Guid? OwnerUserId { get; set; }
public string? LegacyId { get; set; }
public JsonElement Metadata { get; set; } = JsonDefaults.Object();
}
public enum TenantStatus
{
Draft,
Active,
Suspended,
Archived
}
public enum TenantMode
{
PlatformOwned,
Saas,
Dedicated
}
public enum BillingStatus
{
Trial,
Active,
PastDue,
Cancelled
}