using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.Dto.Sys.SiteMsg;
///
/// 请求:创建站内信
///
public record CreateSiteMsgReq : Sys_SiteMsg
{
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.消息内容不能为空))]
public override string Content { get; init; }
///
/// 部门编号列表
///
[MaxLength(Numbers.MAX_LIMIT_BULK_REQ)]
[MinLength(1)]
public IReadOnlyCollection DeptIds { get; init; }
///
[EnumDataType(typeof(SiteMsgTypes), ErrorMessageResourceType = typeof(Ln)
, ErrorMessageResourceName = nameof(Ln.站内信类型不正确))]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override SiteMsgTypes MsgType { get; init; }
///
/// 角色编号列表
///
[MaxLength(Numbers.MAX_LIMIT_BULK_REQ)]
[MinLength(1)]
public IReadOnlyCollection RoleIds { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.消息主题不能为空))]
public override string Title { get; init; }
///
/// 用户编号列表
///
[MaxLength(Numbers.MAX_LIMIT_BULK_REQ)]
[MinLength(1)]
public IReadOnlyCollection UserIds { get; init; }
}