forked from xiongyuxing/tiku-backend.net
feat: add phase five operations foundation
This commit is contained in:
@@ -51,6 +51,111 @@ public sealed class AuditLog : Entity
|
||||
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
||||
}
|
||||
|
||||
public sealed class BackendPermission : AuditableEntity
|
||||
{
|
||||
public string Code { get; set; } = string.Empty;
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public BackendPermissionArea Area { get; set; } = BackendPermissionArea.Tenant;
|
||||
public string Module { get; set; } = string.Empty;
|
||||
public string? Description { get; set; }
|
||||
public bool IsSystem { get; set; } = true;
|
||||
public int SortOrder { get; set; } = 100;
|
||||
}
|
||||
|
||||
public sealed class BackendMenu : AuditableEntity
|
||||
{
|
||||
public string Code { get; set; } = string.Empty;
|
||||
public string? ParentCode { get; set; }
|
||||
public string Title { get; set; } = string.Empty;
|
||||
public BackendPermissionArea Area { get; set; } = BackendPermissionArea.Tenant;
|
||||
public string? Path { get; set; }
|
||||
public string? Icon { get; set; }
|
||||
public string? PermissionCode { get; set; }
|
||||
public int SortOrder { get; set; } = 100;
|
||||
public bool IsActive { get; set; } = true;
|
||||
}
|
||||
|
||||
public sealed class TenantBackendRole : AuditableTenantEntity
|
||||
{
|
||||
public string Code { get; set; } = string.Empty;
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public BackendRoleStatus Status { get; set; } = BackendRoleStatus.Active;
|
||||
public bool IsSystem { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public JsonElement DataScope { get; set; } = JsonDefaults.Object();
|
||||
}
|
||||
|
||||
public sealed class TenantBackendRolePermission : Entity, ITenantOwned
|
||||
{
|
||||
public Guid TenantId { get; set; }
|
||||
public Guid RoleId { get; set; }
|
||||
public string PermissionCode { get; set; } = string.Empty;
|
||||
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
||||
}
|
||||
|
||||
public sealed class TenantBackendRoleMenu : Entity, ITenantOwned
|
||||
{
|
||||
public Guid TenantId { get; set; }
|
||||
public Guid RoleId { get; set; }
|
||||
public string MenuCode { get; set; } = string.Empty;
|
||||
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
||||
}
|
||||
|
||||
public sealed class TenantBackendUserRole : Entity, ITenantOwned
|
||||
{
|
||||
public Guid TenantId { get; set; }
|
||||
public Guid UserId { get; set; }
|
||||
public Guid RoleId { get; set; }
|
||||
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
||||
}
|
||||
|
||||
public sealed class PlatformBackendRole : AuditableEntity
|
||||
{
|
||||
public string Code { get; set; } = string.Empty;
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public BackendRoleStatus Status { get; set; } = BackendRoleStatus.Active;
|
||||
public bool IsSystem { get; set; }
|
||||
public string? Description { get; set; }
|
||||
}
|
||||
|
||||
public sealed class PlatformBackendRolePermission : Entity
|
||||
{
|
||||
public Guid RoleId { get; set; }
|
||||
public string PermissionCode { get; set; } = string.Empty;
|
||||
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
||||
}
|
||||
|
||||
public sealed class PlatformBackendRoleMenu : Entity
|
||||
{
|
||||
public Guid RoleId { get; set; }
|
||||
public string MenuCode { get; set; } = string.Empty;
|
||||
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
||||
}
|
||||
|
||||
public sealed class PlatformBackendUserRole : Entity
|
||||
{
|
||||
public Guid UserId { get; set; }
|
||||
public Guid RoleId { get; set; }
|
||||
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
||||
}
|
||||
|
||||
public sealed class BackgroundJob : AuditableTenantEntity
|
||||
{
|
||||
public string JobType { get; set; } = string.Empty;
|
||||
public BackgroundJobStatus Status { get; set; } = BackgroundJobStatus.Pending;
|
||||
public JsonElement Payload { get; set; } = JsonDefaults.Object();
|
||||
public int RetryCount { get; set; }
|
||||
public int MaxRetries { get; set; } = 3;
|
||||
public string? LockedBy { get; set; }
|
||||
public DateTimeOffset? LockExpiresAt { get; set; }
|
||||
public DateTimeOffset? RunAfter { get; set; }
|
||||
public DateTimeOffset? StartedAt { get; set; }
|
||||
public DateTimeOffset? CompletedAt { get; set; }
|
||||
public string? LastError { get; set; }
|
||||
public Guid? OutputAssetId { get; set; }
|
||||
public JsonElement Result { get; set; } = JsonDefaults.Object();
|
||||
}
|
||||
|
||||
public sealed class UserNotification : AuditableTenantEntity
|
||||
{
|
||||
public Guid UserId { get; set; }
|
||||
@@ -147,3 +252,6 @@ public enum TenantContentNotificationType { PublicQuestionBankSynced, PublicQues
|
||||
public enum TenantContentNotificationStatus { Unread, Read, Dismissed, Resolved }
|
||||
public enum TenantThemeTemplateStatus { Active, Disabled }
|
||||
public enum TenantThemeConfigStatus { Draft, Published }
|
||||
public enum BackendPermissionArea { Platform, Tenant, Both }
|
||||
public enum BackendRoleStatus { Active, Disabled, Archived }
|
||||
public enum BackgroundJobStatus { Pending, Processing, Succeeded, Failed, Cancelled }
|
||||
|
||||
@@ -162,7 +162,7 @@ public enum TenantExternalProviderCapability { Identity, ObjectStorage, Sms, Pay
|
||||
public enum TenantExternalProviderStatus { Active, Disabled, Testing }
|
||||
public enum TenantSecretStatus { Active, Disabled, Rotating }
|
||||
public enum SmsPurpose { Login, BindPhone, ResetPassword }
|
||||
public enum SmsVerificationStatus { Pending, Sent, Verified, Expired, Blocked }
|
||||
public enum SmsVerificationStatus { Pending, Sent, Verified, Expired, Blocked, Failed }
|
||||
public enum AuthLoginResult { Sent, Success, Failed, Blocked }
|
||||
public enum SmsRateLimitDimension { Tenant, Phone, Ip, Device }
|
||||
public enum TenantRoleTemplateStatus { Active, Disabled, Archived }
|
||||
|
||||
Reference in New Issue
Block a user