forked from xiongyuxing/tiku-backend.net
41 lines
874 B
C#
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
|
|
}
|