74 lines
1.9 KiB
C#
74 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace IM_API.Models;
|
|
|
|
[Table("groups")]
|
|
[Index("GroupMaster", Name = "GroupMaster")]
|
|
[Index("Id", Name = "ID")]
|
|
[MySqlCharSet("utf8mb4")]
|
|
[MySqlCollation("utf8mb4_general_ci")]
|
|
public partial class Group
|
|
{
|
|
[Key]
|
|
[Column("ID", TypeName = "int(11)")]
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// 群聊名称
|
|
/// </summary>
|
|
[StringLength(20)]
|
|
public string Name { get; set; } = null!;
|
|
|
|
/// <summary>
|
|
/// 群主
|
|
/// </summary>
|
|
[Column(TypeName = "int(11)")]
|
|
public int GroupMaster { get; set; }
|
|
|
|
/// <summary>
|
|
/// 群权限
|
|
/// (0:需管理员同意,1:任意人可加群,2:不允许任何人加入)
|
|
/// </summary>
|
|
[Column(TypeName = "tinyint(4)")]
|
|
public sbyte Auhority { get; set; }
|
|
|
|
/// <summary>
|
|
/// 全员禁言(0允许发言,2全员禁言)
|
|
/// </summary>
|
|
[Column(TypeName = "tinyint(4)")]
|
|
public sbyte AllMembersBanned { get; set; }
|
|
|
|
/// <summary>
|
|
/// 群聊状态
|
|
/// (1:正常,2:封禁)
|
|
/// </summary>
|
|
[Column(TypeName = "tinyint(4)")]
|
|
public sbyte Status { get; set; }
|
|
|
|
/// <summary>
|
|
/// 群公告
|
|
/// </summary>
|
|
[Column(TypeName = "text")]
|
|
public string? Announcement { get; set; }
|
|
|
|
/// <summary>
|
|
/// 群聊创建时间
|
|
/// </summary>
|
|
[Column(TypeName = "datetime")]
|
|
public DateTime Created { get; set; }
|
|
|
|
[ForeignKey("GroupMaster")]
|
|
[InverseProperty("Groups")]
|
|
public virtual User GroupMasterNavigation { get; set; } = null!;
|
|
|
|
[InverseProperty("Group")]
|
|
public virtual ICollection<Groupinvite> Groupinvites { get; set; } = new List<Groupinvite>();
|
|
|
|
[InverseProperty("Group")]
|
|
public virtual ICollection<Grouprequest> Grouprequests { get; set; } = new List<Grouprequest>();
|
|
}
|