//
using System;
using System.Collections.Generic;
using GroupService.Infrastructure;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace GroupService.Infrastructure.Migrations
{
[DbContext(typeof(GroupDbContext))]
partial class GroupDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);
modelBuilder.Entity("GroupService.Domain.Entities.Group", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("AllMembersBanned")
.HasColumnType("tinyint(1)");
b.Property("Announcement")
.IsRequired()
.HasColumnType("longtext");
b.Property("Authority")
.HasColumnType("int");
b.Property("Avatar")
.HasColumnType("longtext");
b.Property("CreationTime")
.HasColumnType("datetime(6)");
b.Property("Deletion")
.HasColumnType("datetime(6)");
b.Property("GroupMaster")
.HasColumnType("char(36)");
b.Property("IsDeleted")
.HasColumnType("tinyint(1)");
b.Property("LastMessage")
.IsRequired()
.HasColumnType("longtext");
b.Property("LastSenderName")
.IsRequired()
.HasColumnType("longtext");
b.Property("MaxSequenceId")
.HasColumnType("bigint");
b.Property("ModificationTime")
.HasColumnType("datetime(6)");
b.Property("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property("Status")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("groups", (string)null);
});
modelBuilder.Entity("GroupService.Domain.Entities.GroupInvitation", b =>
{
b.Property("GroupId")
.HasColumnType("char(36)");
b.Property("UserId")
.HasColumnType("char(36)");
b.Property("CreationTime")
.HasColumnType("datetime(6)");
b.Property("Deletion")
.HasColumnType("datetime(6)");
b.Property("Id")
.HasColumnType("char(36)");
b.Property("IsDeleted")
.HasColumnType("tinyint(1)");
b.Property("ModificationTime")
.HasColumnType("datetime(6)");
b.Property("OperatorId")
.HasColumnType("char(36)");
b.Property("State")
.HasColumnType("int");
b.ComplexProperty>("GroupProfile", "GroupService.Domain.Entities.GroupInvitation.GroupProfile#GroupProfile", b1 =>
{
b1.IsRequired();
b1.Property("Avatar")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("varchar(100)");
b1.Property("GroupName")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("varchar(20)");
});
b.ComplexProperty>("OperatorProfile", "GroupService.Domain.Entities.GroupInvitation.OperatorProfile#UserProfile", b1 =>
{
b1.IsRequired();
b1.Property("Avatar")
.HasMaxLength(100)
.HasColumnType("varchar(100)");
b1.Property("NickName")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("varchar(20)");
});
b.ComplexProperty>("UserProfile", "GroupService.Domain.Entities.GroupInvitation.UserProfile#UserProfile", b1 =>
{
b1.IsRequired();
b1.Property("Avatar")
.HasMaxLength(100)
.HasColumnType("varchar(100)");
b1.Property("NickName")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("varchar(20)");
});
b.HasKey("GroupId", "UserId");
b.ToTable("group_invitations", (string)null);
});
modelBuilder.Entity("GroupService.Domain.Entities.GroupJoinRequest", b =>
{
b.Property("GroupId")
.HasColumnType("char(36)");
b.Property("UserId")
.HasColumnType("char(36)");
b.Property("CreationTime")
.HasColumnType("datetime(6)");
b.Property("Deletion")
.HasColumnType("datetime(6)");
b.Property("Description")
.IsRequired()
.HasColumnType("longtext");
b.Property("Id")
.HasColumnType("char(36)");
b.Property("IsDeleted")
.HasColumnType("tinyint(1)");
b.Property("ModificationTime")
.HasColumnType("datetime(6)");
b.Property("OperatorAvatar")
.HasColumnType("longtext");
b.Property("OperatorId")
.HasColumnType("char(36)");
b.Property("OperatorName")
.HasColumnType("longtext");
b.Property("State")
.HasColumnType("int");
b.ComplexProperty>("GroupProfile", "GroupService.Domain.Entities.GroupJoinRequest.GroupProfile#GroupProfile", b1 =>
{
b1.IsRequired();
b1.Property("Avatar")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("varchar(100)");
b1.Property("GroupName")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("varchar(20)");
});
b.ComplexProperty>("UserProfile", "GroupService.Domain.Entities.GroupJoinRequest.UserProfile#UserProfile", b1 =>
{
b1.IsRequired();
b1.Property("Avatar")
.HasMaxLength(100)
.HasColumnType("varchar(100)");
b1.Property("NickName")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("varchar(20)");
});
b.HasKey("GroupId", "UserId");
b.HasIndex("Id")
.IsUnique();
b.HasIndex("GroupId", "State", "CreationTime");
b.HasIndex("UserId", "CreationTime");
b.ToTable("group_join_requests", (string)null);
});
modelBuilder.Entity("GroupService.Domain.Entities.GroupMember", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Avatar")
.HasColumnType("longtext");
b.Property("CreationTime")
.HasColumnType("datetime(6)");
b.Property("Deletion")
.HasColumnType("datetime(6)");
b.Property("GroupId")
.HasColumnType("char(36)");
b.Property("GroupNickName")
.IsRequired()
.HasColumnType("longtext");
b.Property("IsDeleted")
.HasColumnType("tinyint(1)");
b.Property("ModificationTime")
.HasColumnType("datetime(6)");
b.Property("Role")
.HasColumnType("int");
b.Property("UserId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("GroupId", "IsDeleted", "Role");
b.HasIndex("UserId", "IsDeleted", "GroupId");
b.ToTable("group_members", (string)null);
});
#pragma warning restore 612, 618
}
}
}