// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using SPMS.Infrastructure; #nullable disable namespace SPMS.Infrastructure.Migrations { [DbContext(typeof(AppDbContext))] partial class AppDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.11") .HasAnnotation("Relational:MaxIdentifierLength", 64); MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); modelBuilder.Entity("SPMS.Domain.Entities.Admin", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("AdminCode") .IsRequired() .HasMaxLength(8) .HasColumnType("varchar(8)"); b.Property("AgreePrivacy") .HasColumnType("tinyint(1)"); b.Property("AgreeTerms") .HasColumnType("tinyint(1)"); b.Property("AgreedAt") .HasColumnType("datetime(6)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("DeletedAt") .HasColumnType("datetime(6)"); b.Property("Email") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("EmailVerified") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false); b.Property("EmailVerifiedAt") .HasColumnType("datetime(6)"); b.Property("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false); b.Property("LastLoginAt") .HasColumnType("datetime(6)"); b.Property("MustChangePassword") .HasColumnType("tinyint(1)"); b.Property("Name") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)"); b.Property("Password") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)"); b.Property("Phone") .IsRequired() .HasMaxLength(20) .HasColumnType("varchar(20)"); b.Property("RefreshToken") .HasMaxLength(255) .HasColumnType("varchar(255)"); b.Property("RefreshTokenExpiresAt") .HasColumnType("datetime(6)"); b.Property("Role") .HasColumnType("tinyint"); b.Property("TempPasswordIssuedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("AdminCode") .IsUnique(); b.HasIndex("Email") .IsUnique(); b.ToTable("Admin", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.AppConfig", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("ConfigKey") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("ConfigValue") .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("ServiceId") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("ServiceId", "ConfigKey") .IsUnique(); b.ToTable("AppConfig", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.Banner", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("ImageUrl") .IsRequired() .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true); b.Property("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false); b.Property("LinkType") .HasMaxLength(20) .HasColumnType("varchar(20)"); b.Property("LinkUrl") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("Position") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)"); b.Property("ServiceId") .HasColumnType("bigint"); b.Property("SortOrder") .HasColumnType("int"); b.Property("Title") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("ServiceId"); b.ToTable("Banner", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.DailyStat", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FailCnt") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.Property("OpenCnt") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.Property("SentCnt") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.Property("ServiceId") .HasColumnType("bigint"); b.Property("StatDate") .HasColumnType("date"); b.Property("SuccessCnt") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.HasKey("Id"); b.HasIndex("ServiceId", "StatDate") .IsUnique(); b.ToTable("DailyStat", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.Device", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("AgreeUpdatedAt") .HasColumnType("datetime(6)"); b.Property("AppVersion") .HasMaxLength(20) .HasColumnType("varchar(20)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("DeviceModel") .HasMaxLength(50) .HasColumnType("varchar(50)"); b.Property("DeviceToken") .IsRequired() .HasMaxLength(255) .HasColumnType("varchar(255)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true); b.Property("MarketingAgreed") .HasColumnType("tinyint(1)"); b.Property("MktAgreeUpdatedAt") .HasColumnType("datetime(6)"); b.Property("OsVersion") .HasMaxLength(20) .HasColumnType("varchar(20)"); b.Property("Platform") .HasColumnType("tinyint"); b.Property("PushAgreed") .HasColumnType("tinyint(1)"); b.Property("ServiceId") .HasColumnType("bigint"); b.Property("Tags") .HasColumnType("json"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("ServiceId", "DeviceToken"); b.ToTable("Device", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.Faq", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Answer") .IsRequired() .HasColumnType("text"); b.Property("Category") .HasMaxLength(50) .HasColumnType("varchar(50)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true); b.Property("Question") .IsRequired() .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("ServiceId") .HasColumnType("bigint"); b.Property("SortOrder") .HasColumnType("int"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("ServiceId"); b.ToTable("Faq", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.FileEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("CreatedBy") .HasColumnType("bigint"); b.Property("DeletedAt") .HasColumnType("datetime(6)"); b.Property("FileName") .IsRequired() .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("FilePath") .IsRequired() .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("FileSize") .HasColumnType("bigint"); b.Property("FileType") .IsRequired() .HasMaxLength(20) .HasColumnType("varchar(20)"); b.Property("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false); b.Property("MimeType") .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("ServiceId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("CreatedBy"); b.HasIndex("ServiceId"); b.ToTable("File", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.Message", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Body") .IsRequired() .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("CreatedBy") .HasColumnType("bigint"); b.Property("CustomData") .HasColumnType("json"); b.Property("DeletedAt") .HasColumnType("datetime(6)"); b.Property("ImageUrl") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false); b.Property("LinkType") .HasMaxLength(20) .HasColumnType("varchar(20)"); b.Property("LinkUrl") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("MessageCode") .IsRequired() .HasMaxLength(10) .HasColumnType("varchar(10)"); b.Property("ServiceId") .HasColumnType("bigint"); b.Property("Title") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)"); b.HasKey("Id"); b.HasIndex("CreatedBy"); b.HasIndex("MessageCode") .IsUnique(); b.HasIndex("ServiceId"); b.ToTable("Message", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.Notice", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Content") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("CreatedBy") .HasColumnType("bigint"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(true); b.Property("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false); b.Property("IsPinned") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false); b.Property("ServiceId") .HasColumnType("bigint"); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("CreatedBy"); b.HasIndex("ServiceId"); b.ToTable("Notice", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.Payment", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("AdminId") .HasColumnType("bigint"); b.Property("Amount") .HasColumnType("int"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Currency") .IsRequired() .HasMaxLength(10) .HasColumnType("varchar(10)"); b.Property("PaidAt") .HasColumnType("datetime(6)"); b.Property("PaymentKey") .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("PaymentMethod") .HasMaxLength(50) .HasColumnType("varchar(50)"); b.Property("ServiceId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("tinyint"); b.Property("TierAfter") .HasColumnType("tinyint"); b.Property("TierBefore") .HasColumnType("tinyint"); b.HasKey("Id"); b.HasIndex("AdminId"); b.HasIndex("ServiceId"); b.ToTable("Payment", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.PushOpenLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("DeviceId") .HasColumnType("bigint"); b.Property("MessageId") .HasColumnType("bigint"); b.Property("OpenedAt") .HasColumnType("datetime(6)"); b.Property("ServiceId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("DeviceId"); b.HasIndex("MessageId"); b.HasIndex("ServiceId", "OpenedAt"); b.ToTable("PushOpenLog", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.PushSendLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("DeviceId") .HasColumnType("bigint"); b.Property("FailReason") .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("MessageId") .HasColumnType("bigint"); b.Property("SentAt") .HasColumnType("datetime(6)"); b.Property("ServiceId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("tinyint"); b.HasKey("Id"); b.HasIndex("DeviceId"); b.HasIndex("MessageId"); b.HasIndex("ServiceId", "SentAt"); b.ToTable("PushSendLog", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.Service", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("ApiKey") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)"); b.Property("ApiKeyCreatedAt") .HasColumnType("datetime(6)"); b.Property("ApnsAuthType") .HasMaxLength(10) .HasColumnType("varchar(10)"); b.Property("ApnsBundleId") .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("ApnsCertExpiresAt") .HasColumnType("datetime(6)"); b.Property("ApnsCertPassword") .HasColumnType("text"); b.Property("ApnsCertificate") .HasColumnType("text"); b.Property("ApnsKeyId") .HasMaxLength(10) .HasColumnType("varchar(10)"); b.Property("ApnsPrivateKey") .HasColumnType("text"); b.Property("ApnsTeamId") .HasMaxLength(10) .HasColumnType("varchar(10)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("CreatedBy") .HasColumnType("bigint"); b.Property("DeletedAt") .HasColumnType("datetime(6)"); b.Property("Description") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("FcmCredentials") .HasColumnType("text"); b.Property("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("tinyint(1)") .HasDefaultValue(false); b.Property("ServiceCode") .IsRequired() .HasMaxLength(8) .HasColumnType("varchar(8)"); b.Property("ServiceName") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("Status") .HasColumnType("tinyint"); b.Property("SubStartedAt") .HasColumnType("datetime(6)"); b.Property("SubTier") .HasColumnType("tinyint"); b.Property("Tags") .HasColumnType("json"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.Property("WebhookEvents") .HasColumnType("longtext"); b.Property("WebhookUrl") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.HasKey("Id"); b.HasIndex("CreatedBy"); b.HasIndex("ServiceCode") .IsUnique(); b.ToTable("Service", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.ServiceIp", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("IpAddress") .IsRequired() .HasMaxLength(45) .HasColumnType("varchar(45)"); b.Property("ServiceId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("ServiceId"); b.ToTable("ServiceIp", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.SystemLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Action") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("AdminId") .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Details") .HasColumnType("json"); b.Property("IpAddress") .HasMaxLength(45) .HasColumnType("varchar(45)"); b.Property("ServiceId") .HasColumnType("bigint"); b.Property("TargetId") .HasColumnType("bigint"); b.Property("TargetType") .HasMaxLength(50) .HasColumnType("varchar(50)"); b.HasKey("Id"); b.HasIndex("AdminId"); b.HasIndex("CreatedAt"); b.HasIndex("ServiceId"); b.ToTable("SystemLog", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.WebhookLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("EventType") .HasColumnType("tinyint"); b.Property("Payload") .IsRequired() .HasColumnType("json"); b.Property("ResponseBody") .HasColumnType("text"); b.Property("ResponseCode") .HasColumnType("int"); b.Property("SentAt") .HasColumnType("datetime(6)"); b.Property("ServiceId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("tinyint"); b.Property("WebhookUrl") .IsRequired() .HasMaxLength(500) .HasColumnType("varchar(500)"); b.HasKey("Id"); b.HasIndex("ServiceId", "SentAt"); b.ToTable("WebhookLog", (string)null); }); modelBuilder.Entity("SPMS.Domain.Entities.AppConfig", b => { b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany() .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.Banner", b => { b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany() .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.DailyStat", b => { b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany() .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.Device", b => { b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany("Devices") .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.Faq", b => { b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany() .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.FileEntity", b => { b.HasOne("SPMS.Domain.Entities.Admin", "CreatedByAdmin") .WithMany() .HasForeignKey("CreatedBy") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany() .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("CreatedByAdmin"); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.Message", b => { b.HasOne("SPMS.Domain.Entities.Admin", "CreatedByAdmin") .WithMany() .HasForeignKey("CreatedBy") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany("Messages") .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("CreatedByAdmin"); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.Notice", b => { b.HasOne("SPMS.Domain.Entities.Admin", "CreatedByAdmin") .WithMany() .HasForeignKey("CreatedBy") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany() .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("CreatedByAdmin"); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.Payment", b => { b.HasOne("SPMS.Domain.Entities.Admin", "Admin") .WithMany() .HasForeignKey("AdminId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany() .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Admin"); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.PushOpenLog", b => { b.HasOne("SPMS.Domain.Entities.Device", "Device") .WithMany() .HasForeignKey("DeviceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("SPMS.Domain.Entities.Message", "Message") .WithMany() .HasForeignKey("MessageId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany() .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Device"); b.Navigation("Message"); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.PushSendLog", b => { b.HasOne("SPMS.Domain.Entities.Device", "Device") .WithMany() .HasForeignKey("DeviceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("SPMS.Domain.Entities.Message", "Message") .WithMany() .HasForeignKey("MessageId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany() .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Device"); b.Navigation("Message"); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.Service", b => { b.HasOne("SPMS.Domain.Entities.Admin", "CreatedByAdmin") .WithMany() .HasForeignKey("CreatedBy") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("CreatedByAdmin"); }); modelBuilder.Entity("SPMS.Domain.Entities.ServiceIp", b => { b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany("ServiceIps") .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.SystemLog", b => { b.HasOne("SPMS.Domain.Entities.Admin", "Admin") .WithMany() .HasForeignKey("AdminId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany() .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Admin"); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.WebhookLog", b => { b.HasOne("SPMS.Domain.Entities.Service", "Service") .WithMany() .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Service"); }); modelBuilder.Entity("SPMS.Domain.Entities.Service", b => { b.Navigation("Devices"); b.Navigation("Messages"); b.Navigation("ServiceIps"); }); #pragma warning restore 612, 618 } } }