102 lines
2.4 KiB
C#
102 lines
2.4 KiB
C#
using System.ComponentModel.DataAnnotations;
|
||
|
||
namespace TakeoutSaaS.Infrastructure.Identity.Options;
|
||
|
||
/// <summary>
|
||
/// 管理后台初始账号配置。
|
||
/// </summary>
|
||
public sealed class AdminSeedOptions
|
||
{
|
||
/// <summary>
|
||
/// 是否启用后台账号与权限种子。
|
||
/// </summary>
|
||
public bool Enabled { get; set; } = true;
|
||
|
||
/// <summary>
|
||
/// 初始用户列表。
|
||
/// </summary>
|
||
public List<SeedUserOptions> Users { get; set; } = new();
|
||
|
||
/// <summary>
|
||
/// 角色模板种子列表。
|
||
/// </summary>
|
||
public List<RoleTemplateSeedOptions> RoleTemplates { get; set; } = new();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 种子用户配置:用于初始化管理后台账号。
|
||
/// </summary>
|
||
public sealed class SeedUserOptions
|
||
{
|
||
/// <summary>
|
||
/// 登录账号。
|
||
/// </summary>
|
||
[Required]
|
||
public string Account { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 登录密码(明文,将在初始化时进行哈希处理)。
|
||
/// </summary>
|
||
[Required]
|
||
public string Password { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 展示名称。
|
||
/// </summary>
|
||
[Required]
|
||
public string DisplayName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 所属租户 ID。
|
||
/// </summary>
|
||
public long TenantId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 所属商户 ID(租户管理员为空)。
|
||
/// </summary>
|
||
public long? MerchantId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 角色集合。
|
||
/// </summary>
|
||
public string[] Roles { get; set; } = Array.Empty<string>();
|
||
|
||
/// <summary>
|
||
/// 权限集合。
|
||
/// </summary>
|
||
public string[] Permissions { get; set; } = Array.Empty<string>();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 角色模板种子配置。
|
||
/// </summary>
|
||
public sealed class RoleTemplateSeedOptions
|
||
{
|
||
/// <summary>
|
||
/// 模板编码。
|
||
/// </summary>
|
||
[Required]
|
||
public string TemplateCode { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 模板名称。
|
||
/// </summary>
|
||
[Required]
|
||
public string Name { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 模板描述。
|
||
/// </summary>
|
||
public string? Description { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否启用。
|
||
/// </summary>
|
||
public bool IsActive { get; set; } = true;
|
||
|
||
/// <summary>
|
||
/// 权限编码集合。
|
||
/// </summary>
|
||
public string[] Permissions { get; set; } = Array.Empty<string>();
|
||
}
|