protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("PermissionModule") .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "fuzzystrmatch"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Permissions.Model.RolePermission", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <bool>("IsGranted") .HasColumnType("boolean") .HasColumnName("is_granted"); b.Property <Guid>("Permission") .HasColumnType("uuid") .HasColumnName("permission"); b.Property <long>("RoleID") .HasColumnType("bigint") .HasColumnName("role_id"); b.Property <int>("Target") .HasColumnType("integer") .HasColumnName("target"); b.HasKey("ID") .HasName("pk_role_permissions"); b.ToTable("RolePermissions", "PermissionModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Permissions.Model.UserPermission", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <bool>("IsGranted") .HasColumnType("boolean") .HasColumnName("is_granted"); b.Property <Guid>("Permission") .HasColumnType("uuid") .HasColumnName("permission"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <int>("Target") .HasColumnType("integer") .HasColumnName("target"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_user_permissions"); b.ToTable("UserPermissions", "PermissionModule"); }); #pragma warning restore 612, 618 }
protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("AutoroleModule") .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "fuzzystrmatch"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.AutoroleConfiguration", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("DiscordRoleID") .HasColumnType("bigint"); b.Property <bool>("IsEnabled") .HasColumnType("boolean"); b.Property <bool>("RequiresConfirmation") .HasColumnType("boolean"); b.Property <long>("ServerID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("ServerID"); b.ToTable("AutoroleConfigurations", "AutoroleModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.AutoroleConfirmation", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("AutoroleID") .HasColumnType("bigint"); b.Property <bool>("HasNotificationBeenSent") .HasColumnType("boolean"); b.Property <bool>("IsConfirmed") .HasColumnType("boolean"); b.Property <long>("UserID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("AutoroleID"); b.HasIndex("UserID"); b.ToTable("AutoroleConfirmations", "AutoroleModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.AutoroleServerSettings", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long?>("AffirmationRequiredNotificationChannelID") .HasColumnType("bigint"); b.Property <long>("ServerID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("ServerID"); b.ToTable("AutoroleServerSettings", "AutoroleModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.AutoroleCondition", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long?>("AutoroleConfigurationID") .HasColumnType("bigint"); b.Property <string>("Discriminator") .IsRequired() .HasColumnType("text"); b.HasKey("ID"); b.HasIndex("AutoroleConfigurationID"); b.ToTable("AutoroleConditions", "AutoroleModule"); b.HasDiscriminator <string>("Discriminator").HasValue("AutoroleCondition"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Statistics.UserChannelStatistics", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("ChannelID") .HasColumnType("bigint"); b.Property <long?>("MessageCount") .HasColumnType("bigint"); b.Property <long?>("UserServerStatisticsID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("UserServerStatisticsID"); b.HasIndex("ChannelID", "UserServerStatisticsID") .IsUnique(); b.ToTable("UserChannelStatistics", "AutoroleModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Statistics.UserServerStatistics", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <DateTime?>("LastActivityTime") .HasColumnType("timestamp with time zone"); b.Property <long>("ServerID") .HasColumnType("bigint"); b.Property <long?>("TotalMessageCount") .HasColumnType("bigint"); b.Property <long?>("UserStatisticsID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("UserStatisticsID"); b.HasIndex("ServerID", "UserStatisticsID") .IsUnique(); b.ToTable("UserServerStatistics", "AutoroleModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Statistics.UserStatistics", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("UserID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("UserID") .IsUnique(); b.ToTable("UserStatistics", "AutoroleModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Description") .HasColumnType("text"); b.Property <long>("DiscordID") .HasColumnType("bigint"); b.Property <bool>("IsNSFW") .HasColumnType("boolean"); b.Property <string>("JoinMessage") .HasColumnType("text"); b.Property <bool>("SendJoinMessage") .HasColumnType("boolean"); b.Property <bool>("SuppressPermissionWarnings") .HasColumnType("boolean"); b.HasKey("ID"); b.ToTable("Servers", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("ServerID") .HasColumnType("bigint"); b.Property <long>("UserID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("ServerID"); b.HasIndex("UserID"); b.ToTable("ServerUser", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.User", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Bio") .IsRequired() .HasColumnType("text"); b.Property <long>("DiscordID") .HasColumnType("bigint"); b.Property <int?>("Timezone") .HasColumnType("integer"); b.HasKey("ID"); b.ToTable("Users", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.MessageCountInSourceCondition<DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.MessageCountInChannelCondition>", b => { b.HasBaseType("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.AutoroleCondition"); b.Property <long>("RequiredCount") .ValueGeneratedOnUpdateSometimes() .HasColumnType("bigint") .HasColumnName("RequiredCount"); b.Property <long>("SourceID") .ValueGeneratedOnUpdateSometimes() .HasColumnType("bigint") .HasColumnName("SourceID"); b.ToTable("AutoroleConditions", "AutoroleModule"); b.HasDiscriminator().HasValue("MessageCountInSourceCondition<MessageCountInChannelCondition>"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.MessageCountInSourceCondition<DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.MessageCountInGuildCondition>", b => { b.HasBaseType("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.AutoroleCondition"); b.Property <long>("RequiredCount") .ValueGeneratedOnUpdateSometimes() .HasColumnType("bigint") .HasColumnName("RequiredCount"); b.Property <long>("SourceID") .ValueGeneratedOnUpdateSometimes() .HasColumnType("bigint") .HasColumnName("SourceID"); b.ToTable("AutoroleConditions", "AutoroleModule"); b.HasDiscriminator().HasValue("MessageCountInSourceCondition<MessageCountInGuildCondition>"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.TimeSinceEventCondition<DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.TimeSinceJoinCondition>", b => { b.HasBaseType("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.AutoroleCondition"); b.Property <TimeSpan>("RequiredTime") .ValueGeneratedOnUpdateSometimes() .HasColumnType("interval") .HasColumnName("RequiredTime"); b.ToTable("AutoroleConditions", "AutoroleModule"); b.HasDiscriminator().HasValue("TimeSinceEventCondition<TimeSinceJoinCondition>"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.TimeSinceEventCondition<DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.TimeSinceLastActivityCondition>", b => { b.HasBaseType("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.AutoroleCondition"); b.Property <TimeSpan>("RequiredTime") .ValueGeneratedOnUpdateSometimes() .HasColumnType("interval") .HasColumnName("RequiredTime"); b.ToTable("AutoroleConditions", "AutoroleModule"); b.HasDiscriminator().HasValue("TimeSinceEventCondition<TimeSinceLastActivityCondition>"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.ReactionCondition", b => { b.HasBaseType("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.AutoroleCondition"); b.Property <long>("ChannelID") .HasColumnType("bigint"); b.Property <string>("EmoteName") .IsRequired() .HasColumnType("text"); b.Property <long>("MessageID") .HasColumnType("bigint"); b.ToTable("AutoroleConditions", "AutoroleModule"); b.HasDiscriminator().HasValue("ReactionCondition"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.RoleCondition", b => { b.HasBaseType("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.AutoroleCondition"); b.Property <long>("RoleID") .HasColumnType("bigint"); b.ToTable("AutoroleConditions", "AutoroleModule"); b.HasDiscriminator().HasValue("RoleCondition"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.MessageCountInChannelCondition", b => { b.HasBaseType("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.MessageCountInSourceCondition<DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.MessageCountInChannelCondition>"); b.ToTable("AutoroleConditions", "AutoroleModule"); b.HasDiscriminator().HasValue("MessageCountInChannelCondition"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.MessageCountInGuildCondition", b => { b.HasBaseType("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.MessageCountInSourceCondition<DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.MessageCountInGuildCondition>"); b.ToTable("AutoroleConditions", "AutoroleModule"); b.HasDiscriminator().HasValue("MessageCountInGuildCondition"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.TimeSinceJoinCondition", b => { b.HasBaseType("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.TimeSinceEventCondition<DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.TimeSinceJoinCondition>"); b.ToTable("AutoroleConditions", "AutoroleModule"); b.HasDiscriminator().HasValue("TimeSinceJoinCondition"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.TimeSinceLastActivityCondition", b => { b.HasBaseType("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.TimeSinceEventCondition<DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.TimeSinceLastActivityCondition>"); b.ToTable("AutoroleConditions", "AutoroleModule"); b.HasDiscriminator().HasValue("TimeSinceLastActivityCondition"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.AutoroleConfiguration", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.AutoroleConfirmation", b => { b.HasOne("DIGOS.Ambassador.Plugins.Autorole.Model.AutoroleConfiguration", "Autorole") .WithMany() .HasForeignKey("AutoroleID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Autorole"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.AutoroleServerSettings", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Conditions.Bases.AutoroleCondition", b => { b.HasOne("DIGOS.Ambassador.Plugins.Autorole.Model.AutoroleConfiguration", null) .WithMany("Conditions") .HasForeignKey("AutoroleConfigurationID") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Statistics.UserChannelStatistics", b => { b.HasOne("DIGOS.Ambassador.Plugins.Autorole.Model.Statistics.UserServerStatistics", null) .WithMany("ChannelStatistics") .HasForeignKey("UserServerStatisticsID") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Statistics.UserServerStatistics", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DIGOS.Ambassador.Plugins.Autorole.Model.Statistics.UserStatistics", null) .WithMany("ServerStatistics") .HasForeignKey("UserStatisticsID") .OnDelete(DeleteBehavior.Cascade); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Statistics.UserStatistics", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany("KnownUsers") .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.AutoroleConfiguration", b => { b.Navigation("Conditions"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Statistics.UserServerStatistics", b => { b.Navigation("ChannelStatistics"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Autorole.Model.Statistics.UserStatistics", b => { b.Navigation("ServerStatistics"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Navigation("KnownUsers"); }); #pragma warning restore 612, 618 }
protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "6.0.1") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "uuid-ossp"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Caster.Api.Domain.Models.Apply", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Output") .HasColumnType("text") .HasColumnName("output"); b.Property <Guid>("RunId") .HasColumnType("uuid") .HasColumnName("run_id"); b.Property <int>("Status") .HasColumnType("integer") .HasColumnName("status"); b.HasKey("Id"); b.HasIndex("RunId") .IsUnique(); b.ToTable("applies"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Directory", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <Guid?>("ParentId") .HasColumnType("uuid") .HasColumnName("parent_id"); b.Property <string>("Path") .HasColumnType("text") .HasColumnName("path"); b.Property <Guid>("ProjectId") .HasColumnType("uuid") .HasColumnName("project_id"); b.Property <string>("TerraformVersion") .HasColumnType("text") .HasColumnName("terraform_version"); b.HasKey("Id"); b.HasIndex("ParentId"); b.HasIndex("Path"); b.HasIndex("ProjectId"); b.ToTable("directories"); }); modelBuilder.Entity("Caster.Api.Domain.Models.File", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <bool>("AdministrativelyLocked") .HasColumnType("boolean") .HasColumnName("administratively_locked"); b.Property <string>("Content") .HasColumnType("text") .HasColumnName("content"); b.Property <DateTime?>("DateSaved") .HasColumnType("timestamp with time zone") .HasColumnName("date_saved"); b.Property <Guid>("DirectoryId") .HasColumnType("uuid") .HasColumnName("directory_id"); b.Property <bool>("IsDeleted") .HasColumnType("boolean") .HasColumnName("is_deleted"); b.Property <Guid?>("LockedById") .HasColumnType("uuid") .HasColumnName("locked_by_id"); b.Property <Guid?>("ModifiedById") .HasColumnType("uuid") .HasColumnName("modified_by_id"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <Guid?>("WorkspaceId") .HasColumnType("uuid") .HasColumnName("workspace_id"); b.HasKey("Id"); b.HasIndex("DirectoryId"); b.HasIndex("LockedById"); b.HasIndex("ModifiedById"); b.HasIndex("WorkspaceId"); b.ToTable("files"); }); modelBuilder.Entity("Caster.Api.Domain.Models.FileVersion", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Content") .HasColumnType("text") .HasColumnName("content"); b.Property <DateTime?>("DateSaved") .HasColumnType("timestamp with time zone") .HasColumnName("date_saved"); b.Property <DateTime?>("DateTagged") .HasColumnType("timestamp with time zone") .HasColumnName("date_tagged"); b.Property <Guid>("FileId") .HasColumnType("uuid") .HasColumnName("file_id"); b.Property <Guid?>("ModifiedById") .HasColumnType("uuid") .HasColumnName("modified_by_id"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <string>("Tag") .HasColumnType("text") .HasColumnName("tag"); b.Property <Guid?>("TaggedById") .HasColumnType("uuid") .HasColumnName("tagged_by_id"); b.HasKey("Id"); b.HasIndex("FileId"); b.HasIndex("ModifiedById"); b.HasIndex("TaggedById"); b.ToTable("file_versions"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Host", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Datastore") .HasColumnType("text") .HasColumnName("datastore"); b.Property <bool>("Development") .HasColumnType("boolean") .HasColumnName("development"); b.Property <bool>("Enabled") .HasColumnType("boolean") .HasColumnName("enabled"); b.Property <int>("MaximumMachines") .HasColumnType("integer") .HasColumnName("maximum_machines"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <Guid?>("ProjectId") .HasColumnType("uuid") .HasColumnName("project_id"); b.HasKey("Id"); b.HasIndex("ProjectId"); b.ToTable("hosts"); }); modelBuilder.Entity("Caster.Api.Domain.Models.HostMachine", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("HostId") .HasColumnType("uuid") .HasColumnName("host_id"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <Guid>("WorkspaceId") .HasColumnType("uuid") .HasColumnName("workspace_id"); b.HasKey("Id"); b.HasIndex("HostId"); b.HasIndex("WorkspaceId"); b.ToTable("host_machines"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Module", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <string>("Path") .HasColumnType("text") .HasColumnName("path"); b.HasKey("Id"); b.ToTable("modules"); }); modelBuilder.Entity("Caster.Api.Domain.Models.ModuleVersion", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <Guid>("ModuleId") .HasColumnType("uuid") .HasColumnName("module_id"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <string>("Outputs") .HasColumnType("text") .HasColumnName("outputs"); b.Property <string>("UrlLink") .HasColumnType("text") .HasColumnName("url_link"); b.Property <string>("Variables") .HasColumnType("text") .HasColumnName("variables"); b.HasKey("Id"); b.HasIndex("ModuleId"); b.ToTable("module_versions"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Permission", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <string>("Key") .HasColumnType("text") .HasColumnName("key"); b.Property <bool>("ReadOnly") .HasColumnType("boolean") .HasColumnName("read_only"); b.Property <string>("Value") .HasColumnType("text") .HasColumnName("value"); b.HasKey("Id"); b.HasIndex("Key", "Value") .IsUnique(); b.ToTable("permissions"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Plan", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Output") .HasColumnType("text") .HasColumnName("output"); b.Property <Guid>("RunId") .HasColumnType("uuid") .HasColumnName("run_id"); b.Property <int>("Status") .HasColumnType("integer") .HasColumnName("status"); b.HasKey("Id"); b.HasIndex("RunId") .IsUnique(); b.ToTable("plans"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Project", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.HasKey("Id"); b.ToTable("projects"); }); modelBuilder.Entity("Caster.Api.Domain.Models.RemovedResource", b => { b.Property <string>("Id") .HasColumnType("text") .HasColumnName("id"); b.HasKey("Id"); b.ToTable("removed_resources"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Run", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <DateTime>("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property <Guid?>("CreatedById") .HasColumnType("uuid") .HasColumnName("created_by_id"); b.Property <bool>("IsDestroy") .HasColumnType("boolean") .HasColumnName("is_destroy"); b.Property <DateTime?>("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property <Guid?>("ModifiedById") .HasColumnType("uuid") .HasColumnName("modified_by_id"); b.Property <int>("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property <string>("Targets") .HasColumnType("text") .HasColumnName("targets"); b.Property <Guid>("WorkspaceId") .HasColumnType("uuid") .HasColumnName("workspace_id"); b.HasKey("Id"); b.HasIndex("CreatedAt"); b.HasIndex("CreatedById"); b.HasIndex("ModifiedById"); b.HasIndex("WorkspaceId"); b.ToTable("runs"); }); modelBuilder.Entity("Caster.Api.Domain.Models.User", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.HasKey("Id"); b.ToTable("users"); }); modelBuilder.Entity("Caster.Api.Domain.Models.UserPermission", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("PermissionId") .HasColumnType("uuid") .HasColumnName("permission_id"); b.Property <Guid>("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id"); b.HasIndex("PermissionId"); b.HasIndex("UserId", "PermissionId") .IsUnique(); b.ToTable("user_permissions"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Workspace", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("DirectoryId") .HasColumnType("uuid") .HasColumnName("directory_id"); b.Property <bool>("DynamicHost") .HasColumnType("boolean") .HasColumnName("dynamic_host"); b.Property <Guid?>("HostId") .HasColumnType("uuid") .HasColumnName("host_id"); b.Property <DateTime?>("LastSynced") .HasColumnType("timestamp with time zone") .HasColumnName("last_synced"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <string>("State") .HasColumnType("text") .HasColumnName("state"); b.Property <string>("StateBackup") .HasColumnType("text") .HasColumnName("state_backup"); b.Property <string>("SyncErrors") .HasColumnType("text") .HasColumnName("sync_errors"); b.Property <string>("TerraformVersion") .HasColumnType("text") .HasColumnName("terraform_version"); b.HasKey("Id"); b.HasIndex("DirectoryId"); b.HasIndex("HostId"); b.ToTable("workspaces"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Apply", b => { b.HasOne("Caster.Api.Domain.Models.Run", "Run") .WithOne("Apply") .HasForeignKey("Caster.Api.Domain.Models.Apply", "RunId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Run"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Directory", b => { b.HasOne("Caster.Api.Domain.Models.Directory", "Parent") .WithMany("Children") .HasForeignKey("ParentId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("Caster.Api.Domain.Models.Project", "Project") .WithMany("Directories") .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Parent"); b.Navigation("Project"); }); modelBuilder.Entity("Caster.Api.Domain.Models.File", b => { b.HasOne("Caster.Api.Domain.Models.Directory", "Directory") .WithMany("Files") .HasForeignKey("DirectoryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Caster.Api.Domain.Models.User", "LockedBy") .WithMany() .HasForeignKey("LockedById"); b.HasOne("Caster.Api.Domain.Models.User", "ModifiedBy") .WithMany() .HasForeignKey("ModifiedById"); b.HasOne("Caster.Api.Domain.Models.Workspace", "Workspace") .WithMany("Files") .HasForeignKey("WorkspaceId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("Directory"); b.Navigation("LockedBy"); b.Navigation("ModifiedBy"); b.Navigation("Workspace"); }); modelBuilder.Entity("Caster.Api.Domain.Models.FileVersion", b => { b.HasOne("Caster.Api.Domain.Models.File", "File") .WithMany("FileVersions") .HasForeignKey("FileId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Caster.Api.Domain.Models.User", "ModifiedBy") .WithMany() .HasForeignKey("ModifiedById"); b.HasOne("Caster.Api.Domain.Models.User", "TaggedBy") .WithMany() .HasForeignKey("TaggedById"); b.Navigation("File"); b.Navigation("ModifiedBy"); b.Navigation("TaggedBy"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Host", b => { b.HasOne("Caster.Api.Domain.Models.Project", "Project") .WithMany() .HasForeignKey("ProjectId"); b.Navigation("Project"); }); modelBuilder.Entity("Caster.Api.Domain.Models.HostMachine", b => { b.HasOne("Caster.Api.Domain.Models.Host", "Host") .WithMany("Machines") .HasForeignKey("HostId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Caster.Api.Domain.Models.Workspace", "Workspace") .WithMany() .HasForeignKey("WorkspaceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Host"); b.Navigation("Workspace"); }); modelBuilder.Entity("Caster.Api.Domain.Models.ModuleVersion", b => { b.HasOne("Caster.Api.Domain.Models.Module", "Module") .WithMany("Versions") .HasForeignKey("ModuleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Module"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Plan", b => { b.HasOne("Caster.Api.Domain.Models.Run", "Run") .WithOne("Plan") .HasForeignKey("Caster.Api.Domain.Models.Plan", "RunId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Run"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Run", b => { b.HasOne("Caster.Api.Domain.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById"); b.HasOne("Caster.Api.Domain.Models.User", "ModifiedBy") .WithMany() .HasForeignKey("ModifiedById"); b.HasOne("Caster.Api.Domain.Models.Workspace", "Workspace") .WithMany("Runs") .HasForeignKey("WorkspaceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("CreatedBy"); b.Navigation("ModifiedBy"); b.Navigation("Workspace"); }); modelBuilder.Entity("Caster.Api.Domain.Models.UserPermission", b => { b.HasOne("Caster.Api.Domain.Models.Permission", "Permission") .WithMany("UserPermissions") .HasForeignKey("PermissionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Caster.Api.Domain.Models.User", "User") .WithMany("UserPermissions") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Permission"); b.Navigation("User"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Workspace", b => { b.HasOne("Caster.Api.Domain.Models.Directory", "Directory") .WithMany("Workspaces") .HasForeignKey("DirectoryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Caster.Api.Domain.Models.Host", "Host") .WithMany() .HasForeignKey("HostId"); b.Navigation("Directory"); b.Navigation("Host"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Directory", b => { b.Navigation("Children"); b.Navigation("Files"); b.Navigation("Workspaces"); }); modelBuilder.Entity("Caster.Api.Domain.Models.File", b => { b.Navigation("FileVersions"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Host", b => { b.Navigation("Machines"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Module", b => { b.Navigation("Versions"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Permission", b => { b.Navigation("UserPermissions"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Project", b => { b.Navigation("Directories"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Run", b => { b.Navigation("Apply"); b.Navigation("Plan"); }); modelBuilder.Entity("Caster.Api.Domain.Models.User", b => { b.Navigation("UserPermissions"); }); modelBuilder.Entity("Caster.Api.Domain.Models.Workspace", b => { b.Navigation("Files"); b.Navigation("Runs"); }); #pragma warning restore 612, 618 }
protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "postgis"); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "uuid-ossp"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.AccommodationChangeLog", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <int>("AccommodationId") .HasColumnType("integer"); b.Property <JsonDocument>("ChangeEventData") .IsRequired() .HasColumnType("jsonb"); b.Property <DateTimeOffset>("Created") .HasColumnType("timestamp with time zone"); b.Property <int>("EventSource") .HasColumnType("integer"); b.Property <int>("EventType") .HasColumnType("integer"); b.HasKey("Id"); b.ToTable("AccommodationChangeLogs"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Accommodations.RichAccommodationDetails", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <string>("AccommodationWithManualCorrections") .IsRequired() .HasColumnType("jsonb"); b.Property <string>("CountryCode") .HasColumnType("text"); b.Property <int>("CountryId") .HasColumnType("integer"); b.Property <DateTimeOffset>("Created") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <int>("DeactivationReason") .HasColumnType("integer"); b.Property <string>("DeactivationReasonDescription") .HasColumnType("text"); b.Property <string>("FinalAccommodation") .IsRequired() .HasColumnType("jsonb"); b.Property <bool>("HasDirectContract") .HasColumnType("boolean"); b.Property <bool>("IsActive") .HasColumnType("boolean"); b.Property <bool>("IsCorrected") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(true); b.Property <string>("KeyData") .IsRequired() .HasColumnType("jsonb"); b.Property <int?>("LocalityId") .HasColumnType("integer"); b.Property <int?>("LocalityZoneId") .HasColumnType("integer"); b.Property <DateTimeOffset>("Modified") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <string>("SupplierAccommodationCodes") .IsRequired() .HasColumnType("jsonb"); b.Property <string>("SuppliersPriority") .IsRequired() .HasColumnType("jsonb"); b.HasKey("Id"); b.HasIndex("CountryId"); b.HasIndex("LocalityId"); b.HasIndex("LocalityZoneId"); b.ToTable("Accommodations"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.AccommodationUncertainMatches", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <DateTimeOffset>("Created") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <int>("HtIdToMerge") .HasColumnType("integer"); b.Property <bool>("IsActive") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(true); b.Property <DateTimeOffset>("Modified") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <float>("Score") .HasColumnType("real"); b.Property <int>("SourceHtId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("HtIdToMerge"); b.HasIndex("SourceHtId"); b.ToTable("AccommodationUncertainMatches"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Ancillary.InvalidAccommodationMappingEntry", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <int>("AccommodationId") .HasColumnType("integer"); b.Property <List <MatchingResultEntry> >("MatchingResults") .IsRequired() .HasColumnType("jsonb"); b.Property <Dictionary <string, string> >("Suppliers") .HasColumnType("jsonb"); b.HasKey("Id"); b.ToTable("InvalidAccommodationMappings", (string)null); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Country", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <string>("Code") .IsRequired() .HasColumnType("text"); b.Property <DateTimeOffset>("Created") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <bool>("IsActive") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(true); b.Property <DateTimeOffset>("Modified") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <MultiLanguage <string> >("Names") .IsRequired() .HasColumnType("jsonb"); b.Property <string>("SupplierCountryCodes") .IsRequired() .HasColumnType("jsonb"); b.HasKey("Id"); b.ToTable("Countries"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.DataUpdateHistory", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <string>("SupplierNameCode") .IsRequired() .HasColumnType("text"); b.Property <int>("Type") .HasColumnType("integer"); b.Property <DateTimeOffset>("UpdateTime") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("DataUpdateHistories"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.HtAccommodationMapping", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <DateTimeOffset>("Created") .HasColumnType("timestamp with time zone"); b.Property <int>("HtId") .HasColumnType("integer"); b.Property <bool>("IsActive") .HasColumnType("boolean"); b.Property <HashSet <int> >("MappedHtIds") .IsRequired() .HasColumnType("jsonb"); b.Property <DateTimeOffset>("Modified") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("HtId"); b.ToTable("HtAccommodationMappings"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Localities.Locality", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <int>("CountryId") .HasColumnType("integer"); b.Property <DateTimeOffset>("Created") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <bool>("IsActive") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(true); b.Property <DateTimeOffset>("Modified") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <MultiLanguage <string> >("Names") .IsRequired() .HasColumnType("jsonb"); b.Property <string>("SupplierLocalityCodes") .HasColumnType("jsonb"); b.HasKey("Id"); b.HasIndex("CountryId"); b.ToTable("Localities"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Localities.LocalityCandidate", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <int>("CountryId") .HasColumnType("integer"); b.Property <DateTimeOffset>("Created") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <MultiLanguage <string> >("Names") .IsRequired() .HasColumnType("jsonb"); b.HasKey("Id"); b.HasIndex("CountryId"); b.ToTable("LocalityCandidates", (string)null); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Localities.LocalitySynonym", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <DateTimeOffset>("Created") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <int?>("ExLocalityId") .HasColumnType("integer"); b.Property <int>("LocalityId") .HasColumnType("integer"); b.Property <DateTimeOffset>("Modified") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <MultiLanguage <string> >("Names") .IsRequired() .HasColumnType("jsonb"); b.Property <int>("SynonymType") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasDefaultValue(1); b.HasKey("Id"); b.HasIndex("ExLocalityId"); NpgsqlIndexBuilderExtensions.IncludeProperties(b.HasIndex("ExLocalityId"), new[] { "SynonymType" }); b.HasIndex("LocalityId"); b.ToTable("LocalitySynonyms", (string)null); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.LocalityZone", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <DateTimeOffset>("Created") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <bool>("IsActive") .HasColumnType("boolean"); b.Property <int>("LocalityId") .HasColumnType("integer"); b.Property <DateTimeOffset>("Modified") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <MultiLanguage <string> >("Names") .IsRequired() .HasColumnType("jsonb"); b.Property <string>("SupplierLocalityZoneCodes") .HasColumnType("jsonb"); b.HasKey("Id"); b.HasIndex("LocalityId"); b.ToTable("LocalityZones"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Mappers.RawAccommodation", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <JsonDocument>("Accommodation") .IsRequired() .HasColumnType("jsonb"); b.Property <string>("CountryCode") .IsRequired() .HasColumnType("text"); b.Property <MultiLanguage <string> >("CountryNames") .IsRequired() .HasColumnType("jsonb"); b.Property <DateTimeOffset>("Created") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <MultiLanguage <string> >("LocalityNames") .HasColumnType("jsonb"); b.Property <MultiLanguage <string> >("LocalityZoneNames") .HasColumnType("jsonb"); b.Property <DateTimeOffset>("Modified") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property <int>("Supplier") .HasColumnType("integer"); b.Property <string>("SupplierAccommodationId") .IsRequired() .HasColumnType("text"); b.Property <string>("SupplierLocalityCode") .HasColumnType("text"); b.Property <string>("SupplierLocalityZoneCode") .HasColumnType("text"); b.Property <string>("SupplierNameCode") .HasColumnType("text"); b.HasKey("Id"); b.ToTable("RawAccommodations"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.ProjectionForGroupedAccommodations", b => { b.Property <string>("SupplierCode") .HasColumnType("text"); b.ToTable("ProjectionForGroupedAccommodations", null, t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.ProjectionForSupplierLocality", b => { b.Property <MultiLanguage <string> >("LocalityNames") .HasColumnType("jsonb"); b.Property <int>("Supplier") .HasColumnType("integer"); b.ToTable("ProjectionForSupplierLocalities", null, t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.StaticData", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <int>("Type") .HasColumnType("integer"); b.Property <JsonDocument>("Value") .HasColumnType("jsonb"); b.HasKey("Id"); b.ToTable("StaticData"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Accommodations.RichAccommodationDetails", b => { b.HasOne("HappyTravel.Nakijin.Data.Models.Country", "Country") .WithMany("Accommodations") .HasForeignKey("CountryId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("HappyTravel.Nakijin.Data.Models.Localities.Locality", "Locality") .WithMany("Accommodations") .HasForeignKey("LocalityId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("HappyTravel.Nakijin.Data.Models.LocalityZone", "LocalityZone") .WithMany("Accommodations") .HasForeignKey("LocalityZoneId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Country"); b.Navigation("Locality"); b.Navigation("LocalityZone"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.AccommodationUncertainMatches", b => { b.HasOne("HappyTravel.Nakijin.Data.Models.Accommodations.RichAccommodationDetails", "AccommodationToMatch") .WithMany("AccommodationToMatchUncertainMatches") .HasForeignKey("HtIdToMerge") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("HappyTravel.Nakijin.Data.Models.Accommodations.RichAccommodationDetails", "SourceAccommodation") .WithMany("SourceAccommodationUncertainMatches") .HasForeignKey("SourceHtId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("AccommodationToMatch"); b.Navigation("SourceAccommodation"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.HtAccommodationMapping", b => { b.HasOne("HappyTravel.Nakijin.Data.Models.Accommodations.RichAccommodationDetails", "Accommodation") .WithMany("HtAccommodationMappings") .HasForeignKey("HtId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Accommodation"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Localities.Locality", b => { b.HasOne("HappyTravel.Nakijin.Data.Models.Country", "Country") .WithMany("Localities") .HasForeignKey("CountryId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Country"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Localities.LocalityCandidate", b => { b.HasOne("HappyTravel.Nakijin.Data.Models.Country", "Country") .WithMany("LocalityCandidates") .HasForeignKey("CountryId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Country"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Localities.LocalitySynonym", b => { b.HasOne("HappyTravel.Nakijin.Data.Models.Localities.Locality", "Locality") .WithMany("LocalitySynonyms") .HasForeignKey("LocalityId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Locality"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.LocalityZone", b => { b.HasOne("HappyTravel.Nakijin.Data.Models.Localities.Locality", "Locality") .WithMany("LocalityZones") .HasForeignKey("LocalityId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Locality"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Accommodations.RichAccommodationDetails", b => { b.Navigation("AccommodationToMatchUncertainMatches"); b.Navigation("HtAccommodationMappings"); b.Navigation("SourceAccommodationUncertainMatches"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Country", b => { b.Navigation("Accommodations"); b.Navigation("Localities"); b.Navigation("LocalityCandidates"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.Localities.Locality", b => { b.Navigation("Accommodations"); b.Navigation("LocalitySynonyms"); b.Navigation("LocalityZones"); }); modelBuilder.Entity("HappyTravel.Nakijin.Data.Models.LocalityZone", b => { b.Navigation("Accommodations"); }); #pragma warning restore 612, 618 }
protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("TransformationModule") .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "fuzzystrmatch"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Character", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("AvatarUrl") .HasColumnType("text"); b.Property <string>("Description") .HasColumnType("text"); b.Property <bool>("IsCurrent") .HasColumnType("boolean"); b.Property <bool>("IsDefault") .HasColumnType("boolean"); b.Property <bool>("IsNSFW") .HasColumnType("boolean"); b.Property <string>("Name") .IsRequired() .HasColumnType("text"); b.Property <string>("Nickname") .HasColumnType("text"); b.Property <long>("OwnerID") .HasColumnType("bigint"); b.Property <string>("PronounProviderFamily") .IsRequired() .HasColumnType("text"); b.Property <long?>("RoleID") .HasColumnType("bigint"); b.Property <long>("ServerID") .HasColumnType("bigint"); b.Property <string>("Summary") .HasColumnType("text"); b.HasKey("ID"); b.HasIndex("OwnerID"); b.HasIndex("RoleID"); b.HasIndex("ServerID"); b.ToTable("Characters", "CharacterModule", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.CharacterRole", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <int>("Access") .HasColumnType("integer"); b.Property <long>("DiscordID") .HasColumnType("bigint"); b.Property <long>("ServerID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("ServerID"); b.ToTable("CharacterRoles", "CharacterModule", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Data.Image", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Caption") .IsRequired() .HasColumnType("text"); b.Property <long?>("CharacterID") .HasColumnType("bigint"); b.Property <bool>("IsNSFW") .HasColumnType("boolean"); b.Property <string>("Name") .IsRequired() .HasColumnType("text"); b.Property <string>("Url") .IsRequired() .HasColumnType("text"); b.HasKey("ID"); b.HasIndex("CharacterID"); b.ToTable("Images", "CharacterModule", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Description") .HasColumnType("text"); b.Property <long>("DiscordID") .HasColumnType("bigint"); b.Property <bool>("IsNSFW") .HasColumnType("boolean"); b.Property <string>("JoinMessage") .HasColumnType("text"); b.Property <bool>("SendJoinMessage") .HasColumnType("boolean"); b.Property <bool>("SuppressPermissionWarnings") .HasColumnType("boolean"); b.HasKey("ID"); b.ToTable("Servers", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("ServerID") .HasColumnType("bigint"); b.Property <long>("UserID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("ServerID"); b.HasIndex("UserID"); b.ToTable("ServerUser", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.User", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Bio") .IsRequired() .HasColumnType("text"); b.Property <long>("DiscordID") .HasColumnType("bigint"); b.Property <int?>("Timezone") .HasColumnType("integer"); b.HasKey("ID"); b.ToTable("Users", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Appearance", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("CharacterID") .HasColumnType("bigint"); b.Property <double>("Height") .HasColumnType("double precision"); b.Property <bool>("IsCurrent") .HasColumnType("boolean"); b.Property <bool>("IsDefault") .HasColumnType("boolean"); b.Property <double>("Muscularity") .HasColumnType("double precision"); b.Property <double>("Weight") .HasColumnType("double precision"); b.HasKey("ID"); b.HasIndex("CharacterID"); b.ToTable("Appearances", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.GlobalUserProtection", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <bool>("DefaultOptIn") .HasColumnType("boolean"); b.Property <int>("DefaultType") .HasColumnType("integer"); b.Property <long>("UserID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("UserID"); b.ToTable("GlobalUserProtections", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.ServerUserProtection", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <bool>("HasOptedIn") .HasColumnType("boolean"); b.Property <long>("ServerID") .HasColumnType("bigint"); b.Property <int>("Type") .HasColumnType("integer"); b.Property <long>("UserID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("ServerID"); b.HasIndex("UserID"); b.ToTable("ServerUserProtections", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Species", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Author") .IsRequired() .HasColumnType("text"); b.Property <string>("Description") .IsRequired() .HasColumnType("text"); b.Property <string>("Name") .IsRequired() .HasColumnType("text"); b.Property <long?>("ParentID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("ParentID"); b.ToTable("Species", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Transformation", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <int?>("DefaultPattern") .HasColumnType("integer"); b.Property <string>("Description") .IsRequired() .HasColumnType("text"); b.Property <string>("GrowMessage") .IsRequired() .HasColumnType("text"); b.Property <bool>("IsNSFW") .HasColumnType("boolean"); b.Property <int>("Part") .HasColumnType("integer"); b.Property <string>("ShiftMessage") .IsRequired() .HasColumnType("text"); b.Property <string>("SingleDescription") .IsRequired() .HasColumnType("text"); b.Property <long>("SpeciesID") .HasColumnType("bigint"); b.Property <string>("UniformDescription") .HasColumnType("text"); b.Property <string>("UniformGrowMessage") .HasColumnType("text"); b.Property <string>("UniformShiftMessage") .HasColumnType("text"); b.HasKey("ID"); b.HasIndex("SpeciesID"); b.ToTable("Transformations", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.UserProtectionEntry", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("GlobalProtectionID") .HasColumnType("bigint"); b.Property <int>("Type") .HasColumnType("integer"); b.Property <long>("UserID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("GlobalProtectionID"); b.HasIndex("UserID"); b.ToTable("UserProtectionEntries", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Character", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "Owner") .WithMany() .HasForeignKey("OwnerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DIGOS.Ambassador.Plugins.Characters.Model.CharacterRole", "Role") .WithMany() .HasForeignKey("RoleID"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Owner"); b.Navigation("Role"); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.CharacterRole", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Data.Image", b => { b.HasOne("DIGOS.Ambassador.Plugins.Characters.Model.Character", null) .WithMany("Images") .HasForeignKey("CharacterID"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany("KnownUsers") .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Appearance", b => { b.HasOne("DIGOS.Ambassador.Plugins.Characters.Model.Character", "Character") .WithMany() .HasForeignKey("CharacterID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.OwnsMany("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.AppearanceComponent", "Components", b1 => { b1.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b1.Property <long>("ID")); b1.Property <long>("AppearanceID") .HasColumnType("bigint"); b1.Property <int>("Chirality") .HasColumnType("integer"); b1.Property <int?>("Pattern") .HasColumnType("integer"); b1.Property <long>("TransformationID") .HasColumnType("bigint"); b1.HasKey("ID"); b1.HasIndex("AppearanceID"); b1.HasIndex("TransformationID"); b1.ToTable("AppearanceComponents", "TransformationModule"); b1.WithOwner() .HasForeignKey("AppearanceID"); b1.HasOne("DIGOS.Ambassador.Plugins.Transformations.Model.Transformation", "Transformation") .WithMany() .HasForeignKey("TransformationID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b1.OwnsOne("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Colour", "BaseColour", b2 => { b2.Property <long>("AppearanceComponentID") .HasColumnType("bigint"); b2.Property <int?>("Modifier") .HasColumnType("integer"); b2.Property <int>("Shade") .HasColumnType("integer"); b2.HasKey("AppearanceComponentID"); b2.ToTable("BaseColours", "TransformationModule"); b2.WithOwner() .HasForeignKey("AppearanceComponentID"); }); b1.OwnsOne("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Colour", "PatternColour", b2 => { b2.Property <long>("AppearanceComponentID") .HasColumnType("bigint"); b2.Property <int?>("Modifier") .HasColumnType("integer"); b2.Property <int>("Shade") .HasColumnType("integer"); b2.HasKey("AppearanceComponentID"); b2.ToTable("PatternColours", "TransformationModule"); b2.WithOwner() .HasForeignKey("AppearanceComponentID"); }); b1.Navigation("BaseColour") .IsRequired(); b1.Navigation("PatternColour"); b1.Navigation("Transformation"); }); b.Navigation("Character"); b.Navigation("Components"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.GlobalUserProtection", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.ServerUserProtection", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Species", b => { b.HasOne("DIGOS.Ambassador.Plugins.Transformations.Model.Species", "Parent") .WithMany() .HasForeignKey("ParentID"); b.Navigation("Parent"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Transformation", b => { b.HasOne("DIGOS.Ambassador.Plugins.Transformations.Model.Species", "Species") .WithMany() .HasForeignKey("SpeciesID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.OwnsOne("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Colour", "DefaultBaseColour", b1 => { b1.Property <long>("TransformationID") .HasColumnType("bigint"); b1.Property <int?>("Modifier") .HasColumnType("integer"); b1.Property <int>("Shade") .HasColumnType("integer"); b1.HasKey("TransformationID"); b1.ToTable("DefaultBaseColours", "TransformationModule"); b1.WithOwner() .HasForeignKey("TransformationID"); }); b.OwnsOne("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Colour", "DefaultPatternColour", b1 => { b1.Property <long>("TransformationID") .HasColumnType("bigint"); b1.Property <int?>("Modifier") .HasColumnType("integer"); b1.Property <int>("Shade") .HasColumnType("integer"); b1.HasKey("TransformationID"); b1.ToTable("DefaultPatternColours", "TransformationModule"); b1.WithOwner() .HasForeignKey("TransformationID"); }); b.Navigation("DefaultBaseColour") .IsRequired(); b.Navigation("DefaultPatternColour"); b.Navigation("Species"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.UserProtectionEntry", b => { b.HasOne("DIGOS.Ambassador.Plugins.Transformations.Model.GlobalUserProtection", "GlobalProtection") .WithMany("UserListing") .HasForeignKey("GlobalProtectionID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("GlobalProtection"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Character", b => { b.Navigation("Images"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Navigation("KnownUsers"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.GlobalUserProtection", b => { b.Navigation("UserListing"); }); #pragma warning restore 612, 618 }
protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("RoleplayModule") .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "fuzzystrmatch"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <bool>("IsNSFW") .HasColumnType("boolean") .HasColumnName("is_nsfw"); b.Property <string>("JoinMessage") .HasColumnType("text") .HasColumnName("join_message"); b.Property <bool>("SendJoinMessage") .HasColumnType("boolean") .HasColumnName("send_join_message"); b.Property <bool>("SuppressPermissionWarnings") .HasColumnType("boolean") .HasColumnName("suppress_permission_warnings"); b.HasKey("ID") .HasName("pk_servers"); b.ToTable("Servers", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_server_user"); b.HasIndex("ServerID") .HasDatabaseName("ix_server_user_server_id"); b.HasIndex("UserID") .HasDatabaseName("ix_server_user_user_id"); b.ToTable("ServerUser", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.User", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Bio") .IsRequired() .HasColumnType("text") .HasColumnName("bio"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <int?>("Timezone") .HasColumnType("integer") .HasColumnName("timezone"); b.HasKey("ID") .HasName("pk_users"); b.ToTable("Users", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Roleplaying.Model.Roleplay", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long?>("ActiveChannelID") .HasColumnType("bigint") .HasColumnName("active_channel_id"); b.Property <long?>("DedicatedChannelID") .HasColumnType("bigint") .HasColumnName("dedicated_channel_id"); b.Property <bool>("IsActive") .HasColumnType("boolean") .HasColumnName("is_active"); b.Property <bool>("IsNSFW") .HasColumnType("boolean") .HasColumnName("is_nsfw"); b.Property <bool>("IsPublic") .HasColumnType("boolean") .HasColumnName("is_public"); b.Property <DateTimeOffset?>("LastUpdated") .HasColumnType("timestamp with time zone") .HasColumnName("last_updated"); b.Property <string>("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property <long>("OwnerID") .HasColumnType("bigint") .HasColumnName("owner_id"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <string>("Summary") .HasColumnType("text") .HasColumnName("summary"); b.HasKey("ID") .HasName("pk_roleplays"); b.HasIndex("OwnerID") .HasDatabaseName("ix_roleplays_owner_id"); b.HasIndex("ServerID") .HasDatabaseName("ix_roleplays_server_id"); b.ToTable("Roleplays", "RoleplayModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Roleplaying.Model.RoleplayParticipant", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("RoleplayID") .HasColumnType("bigint") .HasColumnName("roleplay_id"); b.Property <int>("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_roleplay_participants"); b.HasIndex("RoleplayID") .HasDatabaseName("ix_roleplay_participants_roleplay_id"); b.HasIndex("UserID") .HasDatabaseName("ix_roleplay_participants_user_id"); b.ToTable("RoleplayParticipants", "RoleplayModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Roleplaying.Model.ServerRoleplaySettings", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long?>("ArchiveChannel") .HasColumnType("bigint") .HasColumnName("archive_channel"); b.Property <long?>("DedicatedRoleplayChannelsCategory") .HasColumnType("bigint") .HasColumnName("dedicated_roleplay_channels_category"); b.Property <long?>("DefaultUserRole") .HasColumnType("bigint") .HasColumnName("default_user_role"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.HasKey("ID") .HasName("pk_server_settings"); b.HasIndex("ServerID") .HasDatabaseName("ix_server_settings_server_id"); b.ToTable("ServerSettings", "RoleplayModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Roleplaying.Model.UserMessage", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("AuthorID") .HasColumnType("bigint") .HasColumnName("author_id"); b.Property <string>("AuthorNickname") .IsRequired() .HasColumnType("text") .HasColumnName("author_nickname"); b.Property <string>("Contents") .IsRequired() .HasColumnType("text") .HasColumnName("contents"); b.Property <long>("DiscordMessageID") .HasColumnType("bigint") .HasColumnName("discord_message_id"); b.Property <long?>("RoleplayID") .HasColumnType("bigint") .HasColumnName("roleplay_id"); b.Property <DateTimeOffset>("Timestamp") .HasColumnType("timestamp with time zone") .HasColumnName("timestamp"); b.HasKey("ID") .HasName("pk_user_messages"); b.HasIndex("AuthorID") .HasDatabaseName("ix_user_messages_author_id"); b.HasIndex("RoleplayID") .HasDatabaseName("ix_user_messages_roleplay_id"); b.ToTable("UserMessages", "RoleplayModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany("KnownUsers") .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_servers_server_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_users_user_id"); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Roleplaying.Model.Roleplay", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "Owner") .WithMany() .HasForeignKey("OwnerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_roleplays_users_owner_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_roleplays_servers_server_id"); b.Navigation("Owner"); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Roleplaying.Model.RoleplayParticipant", b => { b.HasOne("DIGOS.Ambassador.Plugins.Roleplaying.Model.Roleplay", "Roleplay") .WithMany("ParticipatingUsers") .HasForeignKey("RoleplayID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_roleplay_participants_roleplays_roleplay_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_roleplay_participants_users_user_id"); b.Navigation("Roleplay"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Roleplaying.Model.ServerRoleplaySettings", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_settings_servers_server_id"); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Roleplaying.Model.UserMessage", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "Author") .WithMany() .HasForeignKey("AuthorID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_messages_users_author_id"); b.HasOne("DIGOS.Ambassador.Plugins.Roleplaying.Model.Roleplay", null) .WithMany("Messages") .HasForeignKey("RoleplayID") .HasConstraintName("fk_user_messages_roleplays_roleplay_id"); b.Navigation("Author"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Navigation("KnownUsers"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Roleplaying.Model.Roleplay", b => { b.Navigation("Messages"); b.Navigation("ParticipatingUsers"); }); #pragma warning restore 612, 618 }
protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("ModerationModule") .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "fuzzystrmatch"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <bool>("IsNSFW") .HasColumnType("boolean") .HasColumnName("is_nsfw"); b.Property <string>("JoinMessage") .HasColumnType("text") .HasColumnName("join_message"); b.Property <bool>("SendJoinMessage") .HasColumnType("boolean") .HasColumnName("send_join_message"); b.Property <bool>("SuppressPermissionWarnings") .HasColumnType("boolean") .HasColumnName("suppress_permission_warnings"); b.HasKey("ID") .HasName("pk_servers"); b.ToTable("Servers", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_server_user"); b.HasIndex("ServerID") .HasDatabaseName("ix_server_user_server_id"); b.HasIndex("UserID") .HasDatabaseName("ix_server_user_user_id"); b.ToTable("ServerUser", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.User", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Bio") .IsRequired() .HasColumnType("text") .HasColumnName("bio"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <int?>("Timezone") .HasColumnType("integer") .HasColumnName("timezone"); b.HasKey("ID") .HasName("pk_users"); b.ToTable("Users", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Moderation.Model.ServerModerationSettings", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long?>("ModerationLogChannel") .HasColumnType("bigint") .HasColumnName("moderation_log_channel"); b.Property <long?>("MonitoringChannel") .HasColumnType("bigint") .HasColumnName("monitoring_channel"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <int>("WarningThreshold") .HasColumnType("integer") .HasColumnName("warning_threshold"); b.HasKey("ID") .HasName("pk_server_moderation_settings"); b.HasIndex("ServerID") .HasDatabaseName("ix_server_moderation_settings_server_id"); b.ToTable("ServerModerationSettings", "ModerationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Moderation.Model.UserBan", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("AuthorID") .HasColumnType("bigint") .HasColumnName("author_id"); b.Property <DateTimeOffset>("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property <DateTimeOffset?>("ExpiresOn") .HasColumnType("timestamp with time zone") .HasColumnName("expires_on"); b.Property <long?>("MessageID") .HasColumnType("bigint") .HasColumnName("message_id"); b.Property <string>("Reason") .IsRequired() .HasColumnType("text") .HasColumnName("reason"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <DateTimeOffset>("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_user_bans"); b.HasIndex("AuthorID") .HasDatabaseName("ix_user_bans_author_id"); b.HasIndex("ServerID") .HasDatabaseName("ix_user_bans_server_id"); b.HasIndex("UserID") .HasDatabaseName("ix_user_bans_user_id"); b.ToTable("UserBans", "ModerationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Moderation.Model.UserNote", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("AuthorID") .HasColumnType("bigint") .HasColumnName("author_id"); b.Property <string>("Content") .IsRequired() .HasColumnType("text") .HasColumnName("content"); b.Property <DateTimeOffset>("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <DateTimeOffset>("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_user_notes"); b.HasIndex("AuthorID") .HasDatabaseName("ix_user_notes_author_id"); b.HasIndex("ServerID") .HasDatabaseName("ix_user_notes_server_id"); b.HasIndex("UserID") .HasDatabaseName("ix_user_notes_user_id"); b.ToTable("UserNotes", "ModerationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Moderation.Model.UserWarning", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("AuthorID") .HasColumnType("bigint") .HasColumnName("author_id"); b.Property <DateTimeOffset>("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property <DateTimeOffset?>("ExpiresOn") .HasColumnType("timestamp with time zone") .HasColumnName("expires_on"); b.Property <long?>("MessageID") .HasColumnType("bigint") .HasColumnName("message_id"); b.Property <string>("Reason") .IsRequired() .HasColumnType("text") .HasColumnName("reason"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <DateTimeOffset>("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_user_warnings"); b.HasIndex("AuthorID") .HasDatabaseName("ix_user_warnings_author_id"); b.HasIndex("ServerID") .HasDatabaseName("ix_user_warnings_server_id"); b.HasIndex("UserID") .HasDatabaseName("ix_user_warnings_user_id"); b.ToTable("UserWarnings", "ModerationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany("KnownUsers") .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_servers_server_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_users_user_id"); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Moderation.Model.ServerModerationSettings", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_moderation_settings_servers_server_id"); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Moderation.Model.UserBan", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "Author") .WithMany() .HasForeignKey("AuthorID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_bans_users_author_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_bans_servers_server_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_bans_users_user_id"); b.Navigation("Author"); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Moderation.Model.UserNote", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "Author") .WithMany() .HasForeignKey("AuthorID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_notes_users_author_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_notes_servers_server_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_notes_users_user_id"); b.Navigation("Author"); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Moderation.Model.UserWarning", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "Author") .WithMany() .HasForeignKey("AuthorID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_warnings_users_author_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_warnings_servers_server_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_warnings_users_user_id"); b.Navigation("Author"); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Navigation("KnownUsers"); }); #pragma warning restore 612, 618 }
protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("KinkModule") .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "fuzzystrmatch"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.User", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Bio") .IsRequired() .HasColumnType("text"); b.Property <long>("DiscordID") .HasColumnType("bigint"); b.Property <int?>("Timezone") .HasColumnType("integer"); b.HasKey("ID"); b.ToTable("Users", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Kinks.Model.Kink", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <int>("Category") .HasColumnType("integer"); b.Property <string>("Description") .IsRequired() .HasColumnType("text"); b.Property <long>("FListID") .HasColumnType("bigint"); b.Property <string>("Name") .IsRequired() .HasColumnType("text"); b.HasKey("ID"); b.HasIndex("FListID") .IsUnique(); b.ToTable("Kinks", "KinkModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Kinks.Model.UserKink", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("KinkID") .HasColumnType("bigint"); b.Property <int>("Preference") .HasColumnType("integer"); b.Property <long>("UserID") .HasColumnType("bigint"); b.HasKey("ID"); b.HasIndex("KinkID"); b.HasIndex("UserID"); b.ToTable("UserKinks", "KinkModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Kinks.Model.UserKink", b => { b.HasOne("DIGOS.Ambassador.Plugins.Kinks.Model.Kink", "Kink") .WithMany() .HasForeignKey("KinkID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Kink"); b.Navigation("User"); }); #pragma warning restore 612, 618 }
protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "6.0.1") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "uuid-ossp"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Player.Api.Data.Data.Models.ApplicationEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid?>("ApplicationTemplateId") .HasColumnType("uuid") .HasColumnName("application_template_id"); b.Property <bool?>("Embeddable") .HasColumnType("boolean") .HasColumnName("embeddable"); b.Property <string>("Icon") .HasColumnType("text") .HasColumnName("icon"); b.Property <bool?>("LoadInBackground") .HasColumnType("boolean") .HasColumnName("load_in_background"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <string>("Url") .HasColumnType("text") .HasColumnName("url"); b.Property <Guid>("ViewId") .HasColumnType("uuid") .HasColumnName("view_id"); b.HasKey("Id"); b.HasIndex("ApplicationTemplateId"); b.HasIndex("ViewId"); b.ToTable("applications"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.ApplicationInstanceEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("ApplicationId") .HasColumnType("uuid") .HasColumnName("application_id"); b.Property <float>("DisplayOrder") .HasColumnType("real") .HasColumnName("display_order"); b.Property <Guid>("TeamId") .HasColumnType("uuid") .HasColumnName("team_id"); b.HasKey("Id"); b.HasIndex("ApplicationId"); b.HasIndex("TeamId"); b.ToTable("application_instances"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.ApplicationTemplateEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <bool>("Embeddable") .HasColumnType("boolean") .HasColumnName("embeddable"); b.Property <string>("Icon") .HasColumnType("text") .HasColumnName("icon"); b.Property <bool>("LoadInBackground") .HasColumnType("boolean") .HasColumnName("load_in_background"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <string>("Url") .HasColumnType("text") .HasColumnName("url"); b.HasKey("Id"); b.ToTable("application_templates"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.FileEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <string>("Path") .HasColumnType("text") .HasColumnName("path"); b.Property <List <Guid> >("TeamIds") .HasColumnType("uuid[]") .HasColumnName("team_ids"); b.Property <Guid?>("ViewId") .HasColumnType("uuid") .HasColumnName("view_id"); b.HasKey("Id"); b.HasIndex("ViewId"); b.ToTable("files"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.NotificationEntity", b => { b.Property <int>("Key") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("key"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Key")); b.Property <DateTime>("BroadcastTime") .HasColumnType("timestamp with time zone") .HasColumnName("broadcast_time"); b.Property <Guid>("FromId") .HasColumnType("uuid") .HasColumnName("from_id"); b.Property <string>("FromName") .HasColumnType("text") .HasColumnName("from_name"); b.Property <int>("FromType") .HasColumnType("integer") .HasColumnName("from_type"); b.Property <string>("Link") .HasColumnType("text") .HasColumnName("link"); b.Property <int>("Priority") .HasColumnType("integer") .HasColumnName("priority"); b.Property <string>("Subject") .HasColumnType("text") .HasColumnName("subject"); b.Property <string>("Text") .HasColumnType("text") .HasColumnName("text"); b.Property <Guid>("ToId") .HasColumnType("uuid") .HasColumnName("to_id"); b.Property <string>("ToName") .HasColumnType("text") .HasColumnName("to_name"); b.Property <int>("ToType") .HasColumnType("integer") .HasColumnName("to_type"); b.Property <Guid?>("ViewId") .HasColumnType("uuid") .HasColumnName("view_id"); b.HasKey("Key"); b.ToTable("notifications"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.PermissionEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <string>("Key") .HasColumnType("text") .HasColumnName("key"); b.Property <bool>("ReadOnly") .HasColumnType("boolean") .HasColumnName("read_only"); b.Property <string>("Value") .HasColumnType("text") .HasColumnName("value"); b.HasKey("Id"); b.HasIndex("Key", "Value") .IsUnique(); b.ToTable("permissions"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.RoleEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.HasKey("Id"); b.HasIndex("Name") .IsUnique(); b.ToTable("roles"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.RolePermissionEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("PermissionId") .HasColumnType("uuid") .HasColumnName("permission_id"); b.Property <Guid>("RoleId") .HasColumnType("uuid") .HasColumnName("role_id"); b.HasKey("Id"); b.HasIndex("PermissionId"); b.HasIndex("RoleId", "PermissionId") .IsUnique(); b.ToTable("role_permissions"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.TeamEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <Guid?>("RoleId") .HasColumnType("uuid") .HasColumnName("role_id"); b.Property <Guid>("ViewId") .HasColumnType("uuid") .HasColumnName("view_id"); b.HasKey("Id"); b.HasIndex("RoleId"); b.HasIndex("ViewId"); b.ToTable("teams"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.TeamMembershipEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid?>("RoleId") .HasColumnType("uuid") .HasColumnName("role_id"); b.Property <Guid>("TeamId") .HasColumnType("uuid") .HasColumnName("team_id"); b.Property <Guid>("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.Property <Guid>("ViewMembershipId") .HasColumnType("uuid") .HasColumnName("view_membership_id"); b.HasKey("Id"); b.HasIndex("RoleId"); b.HasIndex("UserId"); b.HasIndex("ViewMembershipId"); b.HasIndex("TeamId", "UserId") .IsUnique(); b.ToTable("team_memberships"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.TeamPermissionEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("PermissionId") .HasColumnType("uuid") .HasColumnName("permission_id"); b.Property <Guid>("TeamId") .HasColumnType("uuid") .HasColumnName("team_id"); b.HasKey("Id"); b.HasIndex("PermissionId"); b.HasIndex("TeamId", "PermissionId") .IsUnique(); b.ToTable("team_permissions"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.UserEntity", b => { b.Property <int>("Key") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("key"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Key")); b.Property <Guid>("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <Guid?>("RoleId") .HasColumnType("uuid") .HasColumnName("role_id"); b.HasKey("Key"); b.HasIndex("Id") .IsUnique(); b.HasIndex("RoleId"); b.ToTable("users"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.UserPermissionEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("PermissionId") .HasColumnType("uuid") .HasColumnName("permission_id"); b.Property <Guid>("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id"); b.HasIndex("PermissionId"); b.HasIndex("UserId", "PermissionId") .IsUnique(); b.ToTable("user_permissions"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.ViewEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <Guid?>("ParentViewId") .HasColumnType("uuid") .HasColumnName("parent_view_id"); b.Property <int>("Status") .HasColumnType("integer") .HasColumnName("status"); b.HasKey("Id"); b.HasIndex("ParentViewId"); b.ToTable("views"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.ViewMembershipEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid?>("PrimaryTeamMembershipId") .HasColumnType("uuid") .HasColumnName("primary_team_membership_id"); b.Property <Guid>("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.Property <Guid>("ViewId") .HasColumnType("uuid") .HasColumnName("view_id"); b.HasKey("Id"); b.HasIndex("PrimaryTeamMembershipId"); b.HasIndex("UserId"); b.HasIndex("ViewId", "UserId") .IsUnique(); b.ToTable("view_memberships"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.Webhooks.PendingEventEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <int>("EventType") .HasColumnType("integer") .HasColumnName("event_type"); b.Property <string>("Payload") .HasColumnType("text") .HasColumnName("payload"); b.Property <Guid>("SubscriptionId") .HasColumnType("uuid") .HasColumnName("subscription_id"); b.Property <DateTime>("Timestamp") .HasColumnType("timestamp with time zone") .HasColumnName("timestamp"); b.HasKey("Id"); b.HasIndex("SubscriptionId"); b.ToTable("pending_events"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.Webhooks.WebhookSubscriptionEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("CallbackUri") .HasColumnType("text") .HasColumnName("callback_uri"); b.Property <string>("ClientId") .HasColumnType("text") .HasColumnName("client_id"); b.Property <string>("ClientSecret") .HasColumnType("text") .HasColumnName("client_secret"); b.Property <string>("LastError") .HasColumnType("text") .HasColumnName("last_error"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.HasKey("Id"); b.ToTable("webhooks"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.Webhooks.WebhookSubscriptionEventTypeEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <int>("EventType") .HasColumnType("integer") .HasColumnName("event_type"); b.Property <Guid>("SubscriptionId") .HasColumnType("uuid") .HasColumnName("subscription_id"); b.HasKey("Id"); b.HasIndex("SubscriptionId", "EventType") .IsUnique(); b.ToTable("webhook_subscription_event_types"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.ApplicationEntity", b => { b.HasOne("Player.Api.Data.Data.Models.ApplicationTemplateEntity", "Template") .WithMany() .HasForeignKey("ApplicationTemplateId"); b.HasOne("Player.Api.Data.Data.Models.ViewEntity", "View") .WithMany("Applications") .HasForeignKey("ViewId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Template"); b.Navigation("View"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.ApplicationInstanceEntity", b => { b.HasOne("Player.Api.Data.Data.Models.ApplicationEntity", "Application") .WithMany() .HasForeignKey("ApplicationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Player.Api.Data.Data.Models.TeamEntity", "Team") .WithMany("Applications") .HasForeignKey("TeamId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Application"); b.Navigation("Team"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.FileEntity", b => { b.HasOne("Player.Api.Data.Data.Models.ViewEntity", "View") .WithMany("Files") .HasForeignKey("ViewId"); b.Navigation("View"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.RolePermissionEntity", b => { b.HasOne("Player.Api.Data.Data.Models.PermissionEntity", "Permission") .WithMany() .HasForeignKey("PermissionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Player.Api.Data.Data.Models.RoleEntity", "Role") .WithMany("Permissions") .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Permission"); b.Navigation("Role"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.TeamEntity", b => { b.HasOne("Player.Api.Data.Data.Models.RoleEntity", "Role") .WithMany() .HasForeignKey("RoleId"); b.HasOne("Player.Api.Data.Data.Models.ViewEntity", "View") .WithMany("Teams") .HasForeignKey("ViewId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Role"); b.Navigation("View"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.TeamMembershipEntity", b => { b.HasOne("Player.Api.Data.Data.Models.RoleEntity", "Role") .WithMany() .HasForeignKey("RoleId"); b.HasOne("Player.Api.Data.Data.Models.TeamEntity", "Team") .WithMany("Memberships") .HasForeignKey("TeamId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Player.Api.Data.Data.Models.UserEntity", "User") .WithMany("TeamMemberships") .HasForeignKey("UserId") .HasPrincipalKey("Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Player.Api.Data.Data.Models.ViewMembershipEntity", "ViewMembership") .WithMany("TeamMemberships") .HasForeignKey("ViewMembershipId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Role"); b.Navigation("Team"); b.Navigation("User"); b.Navigation("ViewMembership"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.TeamPermissionEntity", b => { b.HasOne("Player.Api.Data.Data.Models.PermissionEntity", "Permission") .WithMany() .HasForeignKey("PermissionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Player.Api.Data.Data.Models.TeamEntity", "Team") .WithMany("Permissions") .HasForeignKey("TeamId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Permission"); b.Navigation("Team"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.UserEntity", b => { b.HasOne("Player.Api.Data.Data.Models.RoleEntity", "Role") .WithMany() .HasForeignKey("RoleId"); b.Navigation("Role"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.UserPermissionEntity", b => { b.HasOne("Player.Api.Data.Data.Models.PermissionEntity", "Permission") .WithMany() .HasForeignKey("PermissionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Player.Api.Data.Data.Models.UserEntity", "User") .WithMany("Permissions") .HasForeignKey("UserId") .HasPrincipalKey("Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Permission"); b.Navigation("User"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.ViewEntity", b => { b.HasOne("Player.Api.Data.Data.Models.ViewEntity", "ParentView") .WithMany() .HasForeignKey("ParentViewId"); b.Navigation("ParentView"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.ViewMembershipEntity", b => { b.HasOne("Player.Api.Data.Data.Models.TeamMembershipEntity", "PrimaryTeamMembership") .WithMany() .HasForeignKey("PrimaryTeamMembershipId"); b.HasOne("Player.Api.Data.Data.Models.UserEntity", "User") .WithMany("ViewMemberships") .HasForeignKey("UserId") .HasPrincipalKey("Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Player.Api.Data.Data.Models.ViewEntity", "View") .WithMany("Memberships") .HasForeignKey("ViewId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("PrimaryTeamMembership"); b.Navigation("User"); b.Navigation("View"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.Webhooks.PendingEventEntity", b => { b.HasOne("Player.Api.Data.Data.Models.Webhooks.WebhookSubscriptionEntity", "Subscription") .WithMany() .HasForeignKey("SubscriptionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Subscription"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.Webhooks.WebhookSubscriptionEventTypeEntity", b => { b.HasOne("Player.Api.Data.Data.Models.Webhooks.WebhookSubscriptionEntity", "Subscription") .WithMany("EventTypes") .HasForeignKey("SubscriptionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Subscription"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.RoleEntity", b => { b.Navigation("Permissions"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.TeamEntity", b => { b.Navigation("Applications"); b.Navigation("Memberships"); b.Navigation("Permissions"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.UserEntity", b => { b.Navigation("Permissions"); b.Navigation("TeamMemberships"); b.Navigation("ViewMemberships"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.ViewEntity", b => { b.Navigation("Applications"); b.Navigation("Files"); b.Navigation("Memberships"); b.Navigation("Teams"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.ViewMembershipEntity", b => { b.Navigation("TeamMemberships"); }); modelBuilder.Entity("Player.Api.Data.Data.Models.Webhooks.WebhookSubscriptionEntity", b => { b.Navigation("EventTypes"); }); #pragma warning restore 612, 618 }
protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("CharacterModule") .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "fuzzystrmatch"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Character", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("AvatarUrl") .HasColumnType("text") .HasColumnName("avatar_url"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <bool>("IsCurrent") .HasColumnType("boolean") .HasColumnName("is_current"); b.Property <bool>("IsDefault") .HasColumnType("boolean") .HasColumnName("is_default"); b.Property <bool>("IsNSFW") .HasColumnType("boolean") .HasColumnName("is_nsfw"); b.Property <string>("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property <string>("Nickname") .HasColumnType("text") .HasColumnName("nickname"); b.Property <long>("OwnerID") .HasColumnType("bigint") .HasColumnName("owner_id"); b.Property <string>("PronounProviderFamily") .IsRequired() .HasColumnType("text") .HasColumnName("pronoun_provider_family"); b.Property <long?>("RoleID") .HasColumnType("bigint") .HasColumnName("role_id"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <string>("Summary") .HasColumnType("text") .HasColumnName("summary"); b.HasKey("ID") .HasName("pk_characters"); b.HasIndex("OwnerID") .HasDatabaseName("ix_characters_owner_id"); b.HasIndex("RoleID") .HasDatabaseName("ix_characters_role_id"); b.HasIndex("ServerID") .HasDatabaseName("ix_characters_server_id"); b.ToTable("Characters", "CharacterModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.CharacterRole", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <int>("Access") .HasColumnType("integer") .HasColumnName("access"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.HasKey("ID") .HasName("pk_character_roles"); b.HasIndex("ServerID") .HasDatabaseName("ix_character_roles_server_id"); b.ToTable("CharacterRoles", "CharacterModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Data.Image", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Caption") .IsRequired() .HasColumnType("text") .HasColumnName("caption"); b.Property <long?>("CharacterID") .HasColumnType("bigint") .HasColumnName("character_id"); b.Property <bool>("IsNSFW") .HasColumnType("boolean") .HasColumnName("is_nsfw"); b.Property <string>("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property <string>("Url") .IsRequired() .HasColumnType("text") .HasColumnName("url"); b.HasKey("ID") .HasName("pk_images"); b.HasIndex("CharacterID") .HasDatabaseName("ix_images_character_id"); b.ToTable("Images", "CharacterModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <bool>("IsNSFW") .HasColumnType("boolean") .HasColumnName("is_nsfw"); b.Property <string>("JoinMessage") .HasColumnType("text") .HasColumnName("join_message"); b.Property <bool>("SendJoinMessage") .HasColumnType("boolean") .HasColumnName("send_join_message"); b.Property <bool>("SuppressPermissionWarnings") .HasColumnType("boolean") .HasColumnName("suppress_permission_warnings"); b.HasKey("ID") .HasName("pk_servers"); b.ToTable("Servers", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_server_user"); b.HasIndex("ServerID") .HasDatabaseName("ix_server_user_server_id"); b.HasIndex("UserID") .HasDatabaseName("ix_server_user_user_id"); b.ToTable("ServerUser", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.User", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Bio") .IsRequired() .HasColumnType("text") .HasColumnName("bio"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <int?>("Timezone") .HasColumnType("integer") .HasColumnName("timezone"); b.HasKey("ID") .HasName("pk_users"); b.ToTable("Users", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Character", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "Owner") .WithMany() .HasForeignKey("OwnerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_characters_users_owner_id"); b.HasOne("DIGOS.Ambassador.Plugins.Characters.Model.CharacterRole", "Role") .WithMany() .HasForeignKey("RoleID") .HasConstraintName("fk_characters_character_roles_role_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_characters_servers_server_id"); b.Navigation("Owner"); b.Navigation("Role"); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.CharacterRole", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_character_roles_servers_server_id"); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Data.Image", b => { b.HasOne("DIGOS.Ambassador.Plugins.Characters.Model.Character", null) .WithMany("Images") .HasForeignKey("CharacterID") .HasConstraintName("fk_images_characters_character_id"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany("KnownUsers") .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_servers_server_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_users_user_id"); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Character", b => { b.Navigation("Images"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Navigation("KnownUsers"); }); #pragma warning restore 612, 618 }
protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("Core") .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "fuzzystrmatch"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <bool>("IsNSFW") .HasColumnType("boolean") .HasColumnName("is_nsfw"); b.Property <string>("JoinMessage") .HasColumnType("text") .HasColumnName("join_message"); b.Property <bool>("SendJoinMessage") .HasColumnType("boolean") .HasColumnName("send_join_message"); b.Property <bool>("SuppressPermissionWarnings") .HasColumnType("boolean") .HasColumnName("suppress_permission_warnings"); b.HasKey("ID") .HasName("pk_servers"); b.HasIndex("DiscordID") .IsUnique() .HasDatabaseName("ix_servers_discord_id"); b.ToTable("Servers", "Core"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_server_user"); b.HasIndex("ServerID") .HasDatabaseName("ix_server_user_server_id"); b.HasIndex("UserID") .HasDatabaseName("ix_server_user_user_id"); b.ToTable("ServerUser", "Core"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.User", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Bio") .IsRequired() .HasColumnType("text") .HasColumnName("bio"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <int?>("Timezone") .HasColumnType("integer") .HasColumnName("timezone"); b.HasKey("ID") .HasName("pk_users"); b.HasIndex("DiscordID") .IsUnique() .HasDatabaseName("ix_users_discord_id"); b.ToTable("Users", "Core"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.UserConsent", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <bool>("HasConsented") .HasColumnType("boolean") .HasColumnName("has_consented"); b.HasKey("ID") .HasName("pk_user_consents"); b.ToTable("UserConsents", "Core"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany("KnownUsers") .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_servers_server_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_users_user_id"); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Navigation("KnownUsers"); }); #pragma warning restore 612, 618 }
protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("TransformationModule") .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "fuzzystrmatch"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Character", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("AvatarUrl") .HasColumnType("text") .HasColumnName("avatar_url"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <bool>("IsCurrent") .HasColumnType("boolean") .HasColumnName("is_current"); b.Property <bool>("IsDefault") .HasColumnType("boolean") .HasColumnName("is_default"); b.Property <bool>("IsNSFW") .HasColumnType("boolean") .HasColumnName("is_nsfw"); b.Property <string>("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property <string>("Nickname") .HasColumnType("text") .HasColumnName("nickname"); b.Property <long>("OwnerID") .HasColumnType("bigint") .HasColumnName("owner_id"); b.Property <string>("PronounProviderFamily") .IsRequired() .HasColumnType("text") .HasColumnName("pronoun_provider_family"); b.Property <long?>("RoleID") .HasColumnType("bigint") .HasColumnName("role_id"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <string>("Summary") .HasColumnType("text") .HasColumnName("summary"); b.HasKey("ID") .HasName("pk_characters"); b.HasIndex("OwnerID") .HasDatabaseName("ix_characters_owner_id"); b.HasIndex("RoleID") .HasDatabaseName("ix_characters_role_id"); b.HasIndex("ServerID") .HasDatabaseName("ix_characters_server_id"); b.ToTable("Characters", "CharacterModule", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.CharacterRole", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <int>("Access") .HasColumnType("integer") .HasColumnName("access"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.HasKey("ID") .HasName("pk_character_roles"); b.HasIndex("ServerID") .HasDatabaseName("ix_character_roles_server_id"); b.ToTable("CharacterRoles", "CharacterModule", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Data.Image", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Caption") .IsRequired() .HasColumnType("text") .HasColumnName("caption"); b.Property <long?>("CharacterID") .HasColumnType("bigint") .HasColumnName("character_id"); b.Property <bool>("IsNSFW") .HasColumnType("boolean") .HasColumnName("is_nsfw"); b.Property <string>("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property <string>("Url") .IsRequired() .HasColumnType("text") .HasColumnName("url"); b.HasKey("ID") .HasName("pk_images"); b.HasIndex("CharacterID") .HasDatabaseName("ix_images_character_id"); b.ToTable("Images", "CharacterModule", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <bool>("IsNSFW") .HasColumnType("boolean") .HasColumnName("is_nsfw"); b.Property <string>("JoinMessage") .HasColumnType("text") .HasColumnName("join_message"); b.Property <bool>("SendJoinMessage") .HasColumnType("boolean") .HasColumnName("send_join_message"); b.Property <bool>("SuppressPermissionWarnings") .HasColumnType("boolean") .HasColumnName("suppress_permission_warnings"); b.HasKey("ID") .HasName("pk_servers"); b.ToTable("Servers", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_server_user"); b.HasIndex("ServerID") .HasDatabaseName("ix_server_user_server_id"); b.HasIndex("UserID") .HasDatabaseName("ix_server_user_user_id"); b.ToTable("ServerUser", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.User", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Bio") .IsRequired() .HasColumnType("text") .HasColumnName("bio"); b.Property <long>("DiscordID") .HasColumnType("bigint") .HasColumnName("discord_id"); b.Property <int?>("Timezone") .HasColumnType("integer") .HasColumnName("timezone"); b.HasKey("ID") .HasName("pk_users"); b.ToTable("Users", "Core", t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Appearance", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("CharacterID") .HasColumnType("bigint") .HasColumnName("character_id"); b.Property <double>("Height") .HasColumnType("double precision") .HasColumnName("height"); b.Property <bool>("IsCurrent") .HasColumnType("boolean") .HasColumnName("is_current"); b.Property <bool>("IsDefault") .HasColumnType("boolean") .HasColumnName("is_default"); b.Property <double>("Muscularity") .HasColumnType("double precision") .HasColumnName("muscularity"); b.Property <double>("Weight") .HasColumnType("double precision") .HasColumnName("weight"); b.HasKey("ID") .HasName("pk_appearances"); b.HasIndex("CharacterID") .HasDatabaseName("ix_appearances_character_id"); b.ToTable("Appearances", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.GlobalUserProtection", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <bool>("DefaultOptIn") .HasColumnType("boolean") .HasColumnName("default_opt_in"); b.Property <int>("DefaultType") .HasColumnType("integer") .HasColumnName("default_type"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_global_user_protections"); b.HasIndex("UserID") .HasDatabaseName("ix_global_user_protections_user_id"); b.ToTable("GlobalUserProtections", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.ServerUserProtection", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <bool>("HasOptedIn") .HasColumnType("boolean") .HasColumnName("has_opted_in"); b.Property <long>("ServerID") .HasColumnType("bigint") .HasColumnName("server_id"); b.Property <int>("Type") .HasColumnType("integer") .HasColumnName("type"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_server_user_protections"); b.HasIndex("ServerID") .HasDatabaseName("ix_server_user_protections_server_id"); b.HasIndex("UserID") .HasDatabaseName("ix_server_user_protections_user_id"); b.ToTable("ServerUserProtections", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Species", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <string>("Author") .IsRequired() .HasColumnType("text") .HasColumnName("author"); b.Property <string>("Description") .IsRequired() .HasColumnType("text") .HasColumnName("description"); b.Property <string>("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property <long?>("ParentID") .HasColumnType("bigint") .HasColumnName("parent_id"); b.HasKey("ID") .HasName("pk_species"); b.HasIndex("ParentID") .HasDatabaseName("ix_species_parent_id"); b.ToTable("Species", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Transformation", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <int?>("DefaultPattern") .HasColumnType("integer") .HasColumnName("default_pattern"); b.Property <string>("Description") .IsRequired() .HasColumnType("text") .HasColumnName("description"); b.Property <string>("GrowMessage") .IsRequired() .HasColumnType("text") .HasColumnName("grow_message"); b.Property <bool>("IsNSFW") .HasColumnType("boolean") .HasColumnName("is_nsfw"); b.Property <int>("Part") .HasColumnType("integer") .HasColumnName("part"); b.Property <string>("ShiftMessage") .IsRequired() .HasColumnType("text") .HasColumnName("shift_message"); b.Property <string>("SingleDescription") .IsRequired() .HasColumnType("text") .HasColumnName("single_description"); b.Property <long>("SpeciesID") .HasColumnType("bigint") .HasColumnName("species_id"); b.Property <string>("UniformDescription") .HasColumnType("text") .HasColumnName("uniform_description"); b.Property <string>("UniformGrowMessage") .HasColumnType("text") .HasColumnName("uniform_grow_message"); b.Property <string>("UniformShiftMessage") .HasColumnType("text") .HasColumnName("uniform_shift_message"); b.HasKey("ID") .HasName("pk_transformations"); b.HasIndex("SpeciesID") .HasDatabaseName("ix_transformations_species_id"); b.ToTable("Transformations", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.UserProtectionEntry", b => { b.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("ID")); b.Property <long>("GlobalProtectionID") .HasColumnType("bigint") .HasColumnName("global_protection_id"); b.Property <int>("Type") .HasColumnType("integer") .HasColumnName("type"); b.Property <long>("UserID") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("ID") .HasName("pk_user_protection_entries"); b.HasIndex("GlobalProtectionID") .HasDatabaseName("ix_user_protection_entries_global_protection_id"); b.HasIndex("UserID") .HasDatabaseName("ix_user_protection_entries_user_id"); b.ToTable("UserProtectionEntries", "TransformationModule"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Character", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "Owner") .WithMany() .HasForeignKey("OwnerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_characters_users_owner_id"); b.HasOne("DIGOS.Ambassador.Plugins.Characters.Model.CharacterRole", "Role") .WithMany() .HasForeignKey("RoleID") .HasConstraintName("fk_characters_character_roles_role_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_characters_servers_server_id"); b.Navigation("Owner"); b.Navigation("Role"); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.CharacterRole", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_character_roles_servers_server_id"); b.Navigation("Server"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Data.Image", b => { b.HasOne("DIGOS.Ambassador.Plugins.Characters.Model.Character", null) .WithMany("Images") .HasForeignKey("CharacterID") .HasConstraintName("fk_images_characters_character_id"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Users.ServerUser", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany("KnownUsers") .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_servers_server_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_users_user_id"); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Appearance", b => { b.HasOne("DIGOS.Ambassador.Plugins.Characters.Model.Character", "Character") .WithMany() .HasForeignKey("CharacterID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_appearances_characters_character_id"); b.OwnsMany("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.AppearanceComponent", "Components", b1 => { b1.Property <long>("ID") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b1.Property <long>("ID")); b1.Property <long>("AppearanceID") .HasColumnType("bigint") .HasColumnName("appearance_id"); b1.Property <int>("Chirality") .HasColumnType("integer") .HasColumnName("chirality"); b1.Property <int?>("Pattern") .HasColumnType("integer") .HasColumnName("pattern"); b1.Property <long>("TransformationID") .HasColumnType("bigint") .HasColumnName("transformation_id"); b1.HasKey("ID"); b1.HasIndex("AppearanceID") .HasDatabaseName("ix_appearance_components_appearance_id"); b1.HasIndex("TransformationID") .HasDatabaseName("ix_appearance_components_transformation_id"); b1.ToTable("AppearanceComponents", "TransformationModule"); b1.WithOwner() .HasForeignKey("AppearanceID") .HasConstraintName("fk_appearance_components_appearances_appearance_id"); b1.HasOne("DIGOS.Ambassador.Plugins.Transformations.Model.Transformation", "Transformation") .WithMany() .HasForeignKey("TransformationID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_appearance_components_transformations_transformation_id"); b1.OwnsOne("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Colour", "BaseColour", b2 => { b2.Property <long>("AppearanceComponentID") .HasColumnType("bigint") .HasColumnName("appearance_component_id"); b2.Property <int?>("Modifier") .HasColumnType("integer") .HasColumnName("modifier"); b2.Property <int>("Shade") .HasColumnType("integer") .HasColumnName("shade"); b2.HasKey("AppearanceComponentID"); b2.ToTable("BaseColours", "TransformationModule"); b2.WithOwner() .HasForeignKey("AppearanceComponentID") .HasConstraintName("fk_base_colours_appearance_components_appearance_id_id"); }); b1.OwnsOne("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Colour", "PatternColour", b2 => { b2.Property <long>("AppearanceComponentID") .HasColumnType("bigint") .HasColumnName("appearance_component_id"); b2.Property <int?>("Modifier") .HasColumnType("integer") .HasColumnName("modifier"); b2.Property <int>("Shade") .HasColumnType("integer") .HasColumnName("shade"); b2.HasKey("AppearanceComponentID"); b2.ToTable("PatternColours", "TransformationModule"); b2.WithOwner() .HasForeignKey("AppearanceComponentID") .HasConstraintName("fk_pattern_colours_appearance_components_appearance_id_id"); }); b1.Navigation("BaseColour") .IsRequired(); b1.Navigation("PatternColour"); b1.Navigation("Transformation"); }); b.Navigation("Character"); b.Navigation("Components"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.GlobalUserProtection", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_global_user_protections_users_user_id"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.ServerUserProtection", b => { b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", "Server") .WithMany() .HasForeignKey("ServerID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_protections_servers_server_id"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_server_user_protections_users_user_id"); b.Navigation("Server"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Species", b => { b.HasOne("DIGOS.Ambassador.Plugins.Transformations.Model.Species", "Parent") .WithMany() .HasForeignKey("ParentID") .HasConstraintName("fk_species_species_parent_id"); b.Navigation("Parent"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.Transformation", b => { b.HasOne("DIGOS.Ambassador.Plugins.Transformations.Model.Species", "Species") .WithMany() .HasForeignKey("SpeciesID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_transformations_species_species_id"); b.OwnsOne("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Colour", "DefaultBaseColour", b1 => { b1.Property <long>("TransformationID") .HasColumnType("bigint") .HasColumnName("id"); b1.Property <int?>("Modifier") .HasColumnType("integer") .HasColumnName("modifier"); b1.Property <int>("Shade") .HasColumnType("integer") .HasColumnName("shade"); b1.HasKey("TransformationID") .HasName("pk_default_base_colours"); b1.ToTable("DefaultBaseColours", "TransformationModule"); b1.WithOwner() .HasForeignKey("TransformationID") .HasConstraintName("fk_default_base_colours_transformations_id"); }); b.OwnsOne("DIGOS.Ambassador.Plugins.Transformations.Model.Appearances.Colour", "DefaultPatternColour", b1 => { b1.Property <long>("TransformationID") .HasColumnType("bigint") .HasColumnName("id"); b1.Property <int?>("Modifier") .HasColumnType("integer") .HasColumnName("modifier"); b1.Property <int>("Shade") .HasColumnType("integer") .HasColumnName("shade"); b1.HasKey("TransformationID") .HasName("pk_default_pattern_colours"); b1.ToTable("DefaultPatternColours", "TransformationModule"); b1.WithOwner() .HasForeignKey("TransformationID") .HasConstraintName("fk_default_pattern_colours_transformations_id"); }); b.Navigation("DefaultBaseColour") .IsRequired(); b.Navigation("DefaultPatternColour"); b.Navigation("Species"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.UserProtectionEntry", b => { b.HasOne("DIGOS.Ambassador.Plugins.Transformations.Model.GlobalUserProtection", "GlobalProtection") .WithMany("UserListing") .HasForeignKey("GlobalProtectionID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_protection_entries_global_user_protections_global_protectio"); b.HasOne("DIGOS.Ambassador.Plugins.Core.Model.Users.User", "User") .WithMany() .HasForeignKey("UserID") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_protection_entries_users_user_id"); b.Navigation("GlobalProtection"); b.Navigation("User"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Characters.Model.Character", b => { b.Navigation("Images"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Core.Model.Servers.Server", b => { b.Navigation("KnownUsers"); }); modelBuilder.Entity("DIGOS.Ambassador.Plugins.Transformations.Model.GlobalUserProtection", b => { b.Navigation("UserListing"); }); #pragma warning restore 612, 618 }
protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "6.0.1") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "uuid-ossp"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Player.Api.Client.WebhookEvent", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Payload") .HasColumnType("text") .HasColumnName("payload"); b.Property <DateTimeOffset>("Timestamp") .HasColumnType("timestamp with time zone") .HasColumnName("timestamp"); b.Property <int>("Type") .HasColumnType("integer") .HasColumnName("type"); b.HasKey("Id"); b.ToTable("webhook_events"); }); modelBuilder.Entity("Player.Vm.Api.Domain.Models.Coordinate", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("Label") .HasColumnType("text") .HasColumnName("label"); b.Property <double>("Radius") .HasColumnType("double precision") .HasColumnName("radius"); b.Property <string[]>("Urls") .HasColumnType("text[]") .HasColumnName("urls"); b.Property <Guid?>("VmMapId") .HasColumnType("uuid") .HasColumnName("vm_map_id"); b.Property <double>("XPosition") .HasColumnType("double precision") .HasColumnName("x_position"); b.Property <double>("YPosition") .HasColumnType("double precision") .HasColumnName("y_position"); b.HasKey("Id"); b.HasIndex("VmMapId"); b.ToTable("coordinate"); }); modelBuilder.Entity("Player.Vm.Api.Domain.Models.Team", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.HasKey("Id"); b.ToTable("teams"); }); modelBuilder.Entity("Player.Vm.Api.Domain.Models.Vm", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string[]>("AllowedNetworks") .HasColumnType("text[]") .HasColumnName("allowed_networks"); b.Property <string>("ConsoleConnectionInfo") .HasColumnType("text") .HasColumnName("console_connection_info"); b.Property <bool>("HasPendingTasks") .HasColumnType("boolean") .HasColumnName("has_pending_tasks"); b.Property <string[]>("IpAddresses") .HasColumnType("text[]") .HasColumnName("ip_addresses"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <int>("PowerState") .HasColumnType("integer") .HasColumnName("power_state"); b.Property <string>("Url") .HasColumnType("text") .HasColumnName("url"); b.Property <Guid?>("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id"); b.ToTable("vms"); }); modelBuilder.Entity("Player.Vm.Api.Domain.Models.VmMap", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("ImageUrl") .HasColumnType("text") .HasColumnName("image_url"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <List <Guid> >("TeamIds") .HasColumnType("uuid[]") .HasColumnName("team_ids"); b.Property <Guid>("ViewId") .HasColumnType("uuid") .HasColumnName("view_id"); b.HasKey("Id"); b.ToTable("maps"); }); modelBuilder.Entity("Player.Vm.Api.Domain.Models.VmTeam", b => { b.Property <Guid>("TeamId") .HasColumnType("uuid") .HasColumnName("team_id"); b.Property <Guid>("VmId") .HasColumnType("uuid") .HasColumnName("vm_id"); b.HasKey("TeamId", "VmId"); b.HasIndex("VmId"); b.ToTable("vm_teams"); }); modelBuilder.Entity("Player.Vm.Api.Domain.Models.Coordinate", b => { b.HasOne("Player.Vm.Api.Domain.Models.VmMap", null) .WithMany("Coordinates") .HasForeignKey("VmMapId"); }); modelBuilder.Entity("Player.Vm.Api.Domain.Models.VmTeam", b => { b.HasOne("Player.Vm.Api.Domain.Models.Team", "Team") .WithMany("VmTeams") .HasForeignKey("TeamId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Player.Vm.Api.Domain.Models.Vm", "Vm") .WithMany("VmTeams") .HasForeignKey("VmId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Team"); b.Navigation("Vm"); }); modelBuilder.Entity("Player.Vm.Api.Domain.Models.Team", b => { b.Navigation("VmTeams"); }); modelBuilder.Entity("Player.Vm.Api.Domain.Models.Vm", b => { b.Navigation("VmTeams"); }); modelBuilder.Entity("Player.Vm.Api.Domain.Models.VmMap", b => { b.Navigation("Coordinates"); }); #pragma warning restore 612, 618 }
protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "6.0.1") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "uuid-ossp"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Alloy.Api.Data.Models.EventEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <DateTime?>("EndDate") .HasColumnType("timestamp with time zone") .HasColumnName("end_date"); b.Property <Guid?>("EventTemplateId") .HasColumnType("uuid") .HasColumnName("event_template_id"); b.Property <DateTime?>("ExpirationDate") .HasColumnType("timestamp with time zone") .HasColumnName("expiration_date"); b.Property <int>("FailureCount") .HasColumnType("integer") .HasColumnName("failure_count"); b.Property <int>("InternalStatus") .HasColumnType("integer") .HasColumnName("internal_status"); b.Property <int>("LastEndInternalStatus") .HasColumnType("integer") .HasColumnName("last_end_internal_status"); b.Property <int>("LastEndStatus") .HasColumnType("integer") .HasColumnName("last_end_status"); b.Property <int>("LastLaunchInternalStatus") .HasColumnType("integer") .HasColumnName("last_launch_internal_status"); b.Property <int>("LastLaunchStatus") .HasColumnType("integer") .HasColumnName("last_launch_status"); b.Property <DateTime?>("LaunchDate") .HasColumnType("timestamp with time zone") .HasColumnName("launch_date"); b.Property <Guid?>("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <Guid?>("RunId") .HasColumnType("uuid") .HasColumnName("run_id"); b.Property <Guid?>("ScenarioId") .HasColumnType("uuid") .HasColumnName("scenario_id"); b.Property <string>("ShareCode") .HasColumnType("text") .HasColumnName("share_code"); b.Property <int>("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property <DateTime>("StatusDate") .HasColumnType("timestamp with time zone") .HasColumnName("status_date"); b.Property <Guid>("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.Property <string>("Username") .HasColumnType("text") .HasColumnName("username"); b.Property <Guid?>("ViewId") .HasColumnType("uuid") .HasColumnName("view_id"); b.Property <Guid?>("WorkspaceId") .HasColumnType("uuid") .HasColumnName("workspace_id"); b.HasKey("Id"); b.HasIndex("EventTemplateId"); b.ToTable("events"); }); modelBuilder.Entity("Alloy.Api.Data.Models.EventTemplateEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <Guid?>("DirectoryId") .HasColumnType("uuid") .HasColumnName("directory_id"); b.Property <int>("DurationHours") .HasColumnType("integer") .HasColumnName("duration_hours"); b.Property <bool>("IsPublished") .HasColumnType("boolean") .HasColumnName("is_published"); b.Property <Guid?>("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <Guid?>("ScenarioTemplateId") .HasColumnType("uuid") .HasColumnName("scenario_template_id"); b.Property <bool>("UseDynamicHost") .HasColumnType("boolean") .HasColumnName("use_dynamic_host"); b.Property <Guid?>("ViewId") .HasColumnType("uuid") .HasColumnName("view_id"); b.HasKey("Id"); b.ToTable("event_templates"); }); modelBuilder.Entity("Alloy.Api.Data.Models.EventUserEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <Guid>("EventId") .HasColumnType("uuid") .HasColumnName("event_id"); b.Property <Guid?>("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property <Guid>("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id"); b.HasIndex("EventId", "UserId") .IsUnique(); b.ToTable("event_users"); }); modelBuilder.Entity("Alloy.Api.Data.Models.EventEntity", b => { b.HasOne("Alloy.Api.Data.Models.EventTemplateEntity", "EventTemplate") .WithMany() .HasForeignKey("EventTemplateId"); b.Navigation("EventTemplate"); }); modelBuilder.Entity("Alloy.Api.Data.Models.EventUserEntity", b => { b.HasOne("Alloy.Api.Data.Models.EventEntity", "Event") .WithMany("EventUsers") .HasForeignKey("EventId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Event"); }); modelBuilder.Entity("Alloy.Api.Data.Models.EventEntity", b => { b.Navigation("EventUsers"); }); #pragma warning restore 612, 618 }
protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "6.0.1") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "uuid-ossp"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Steamfitter.Api.Data.Models.BondAgent", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <string>("AgentInstalledPath") .HasColumnType("text") .HasColumnName("agent_installed_path"); b.Property <string>("AgentName") .HasColumnType("text") .HasColumnName("agent_name"); b.Property <string>("AgentVersion") .HasColumnType("text") .HasColumnName("agent_version"); b.Property <DateTime?>("CheckinTime") .HasColumnType("timestamp with time zone") .HasColumnName("checkin_time"); b.Property <string>("FQDN") .HasColumnType("text") .HasColumnName("fqdn"); b.Property <string>("GuestIp") .HasColumnType("text") .HasColumnName("guest_ip"); b.Property <string>("MachineName") .HasColumnType("text") .HasColumnName("machine_name"); b.Property <int?>("OperatingSystemId") .HasColumnType("integer") .HasColumnName("operating_system_id"); b.Property <Guid>("VmWareName") .HasColumnType("uuid") .HasColumnName("vm_ware_name"); b.Property <Guid>("VmWareUuid") .HasColumnType("uuid") .HasColumnName("vm_ware_uuid"); b.HasKey("Id"); b.HasIndex("OperatingSystemId"); b.ToTable("bond_agents"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.FileEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <long>("Length") .HasColumnType("bigint") .HasColumnName("length"); b.Property <Guid?>("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <string>("StoragePath") .HasColumnType("text") .HasColumnName("storage_path"); b.HasKey("Id"); b.ToTable("files"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.LocalUser", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <Guid?>("BondAgentId") .HasColumnType("uuid") .HasColumnName("bond_agent_id"); b.Property <string>("Domain") .HasColumnType("text") .HasColumnName("domain"); b.Property <bool>("IsCurrent") .HasColumnType("boolean") .HasColumnName("is_current"); b.Property <string>("Username") .HasColumnType("text") .HasColumnName("username"); b.HasKey("Id"); b.HasIndex("BondAgentId"); b.ToTable("local_user"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.MonitoredTool", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <Guid?>("BondAgentId") .HasColumnType("uuid") .HasColumnName("bond_agent_id"); b.Property <bool>("IsRunning") .HasColumnType("boolean") .HasColumnName("is_running"); b.Property <string>("Location") .HasColumnType("text") .HasColumnName("location"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <string>("Version") .HasColumnType("text") .HasColumnName("version"); b.HasKey("Id"); b.HasIndex("BondAgentId"); b.ToTable("monitored_tool"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.OS", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <string>("Platform") .HasColumnType("text") .HasColumnName("platform"); b.Property <string>("ServicePack") .HasColumnType("text") .HasColumnName("service_pack"); b.Property <string>("Version") .HasColumnType("text") .HasColumnName("version"); b.Property <string>("VersionString") .HasColumnType("text") .HasColumnName("version_string"); b.HasKey("Id"); b.ToTable("os"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.PermissionEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <string>("Key") .HasColumnType("text") .HasColumnName("key"); b.Property <Guid?>("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property <bool>("ReadOnly") .HasColumnType("boolean") .HasColumnName("read_only"); b.Property <string>("Value") .HasColumnType("text") .HasColumnName("value"); b.HasKey("Id"); b.HasIndex("Key", "Value") .IsUnique(); b.ToTable("permissions"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.ResultEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <int>("Action") .HasColumnType("integer") .HasColumnName("action"); b.Property <string>("ActualOutput") .HasColumnType("text") .HasColumnName("actual_output"); b.Property <string>("ApiUrl") .HasColumnType("text") .HasColumnName("api_url"); b.Property <Guid>("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property <int>("CurrentIteration") .HasColumnType("integer") .HasColumnName("current_iteration"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <string>("ExpectedOutput") .HasColumnType("text") .HasColumnName("expected_output"); b.Property <int>("ExpirationSeconds") .HasColumnType("integer") .HasColumnName("expiration_seconds"); b.Property <string>("InputString") .HasColumnType("text") .HasColumnName("input_string"); b.Property <int>("IntervalSeconds") .HasColumnType("integer") .HasColumnName("interval_seconds"); b.Property <int>("Iterations") .HasColumnType("integer") .HasColumnName("iterations"); b.Property <Guid?>("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property <DateTime>("SentDate") .HasColumnType("timestamp with time zone") .HasColumnName("sent_date"); b.Property <int>("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property <DateTime>("StatusDate") .HasColumnType("timestamp with time zone") .HasColumnName("status_date"); b.Property <Guid?>("TaskId") .HasColumnType("uuid") .HasColumnName("task_id"); b.Property <Guid?>("VmId") .HasColumnType("uuid") .HasColumnName("vm_id"); b.Property <string>("VmName") .HasColumnType("text") .HasColumnName("vm_name"); b.HasKey("Id"); b.HasIndex("TaskId"); b.ToTable("results"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.ScenarioEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <Guid?>("DefaultVmCredentialId") .HasColumnType("uuid") .HasColumnName("default_vm_credential_id"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <DateTime>("EndDate") .HasColumnType("timestamp with time zone") .HasColumnName("end_date"); b.Property <Guid?>("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <bool>("OnDemand") .HasColumnType("boolean") .HasColumnName("on_demand"); b.Property <Guid?>("ScenarioTemplateId") .HasColumnType("uuid") .HasColumnName("scenario_template_id"); b.Property <int>("Score") .HasColumnType("integer") .HasColumnName("score"); b.Property <int>("ScoreEarned") .HasColumnType("integer") .HasColumnName("score_earned"); b.Property <DateTime>("StartDate") .HasColumnType("timestamp with time zone") .HasColumnName("start_date"); b.Property <int>("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property <bool>("UpdateScores") .HasColumnType("boolean") .HasColumnName("update_scores"); b.Property <string>("View") .HasColumnType("text") .HasColumnName("view"); b.Property <Guid?>("ViewId") .HasColumnType("uuid") .HasColumnName("view_id"); b.HasKey("Id"); b.HasIndex("ScenarioTemplateId"); b.ToTable("scenarios"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.ScenarioTemplateEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <Guid?>("DefaultVmCredentialId") .HasColumnType("uuid") .HasColumnName("default_vm_credential_id"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <int?>("DurationHours") .HasColumnType("integer") .HasColumnName("duration_hours"); b.Property <Guid?>("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <int>("Score") .HasColumnType("integer") .HasColumnName("score"); b.Property <bool>("UpdateScores") .HasColumnType("boolean") .HasColumnName("update_scores"); b.HasKey("Id"); b.ToTable("scenario_templates"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.SshPort", b => { b.Property <int>("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <int>("Id")); b.Property <Guid?>("BondAgentId") .HasColumnType("uuid") .HasColumnName("bond_agent_id"); b.Property <string>("Guest") .HasColumnType("text") .HasColumnName("guest"); b.Property <long>("GuestPort") .HasColumnType("bigint") .HasColumnName("guest_port"); b.Property <string>("Server") .HasColumnType("text") .HasColumnName("server"); b.Property <long>("ServerPort") .HasColumnType("bigint") .HasColumnName("server_port"); b.HasKey("Id"); b.HasIndex("BondAgentId"); b.ToTable("ssh_port"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.TaskEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <int>("Action") .HasColumnType("integer") .HasColumnName("action"); b.Property <string>("ApiUrl") .HasColumnType("text") .HasColumnName("api_url"); b.Property <Guid>("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property <int>("CurrentIteration") .HasColumnType("integer") .HasColumnName("current_iteration"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <int>("DelaySeconds") .HasColumnType("integer") .HasColumnName("delay_seconds"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <string>("ExpectedOutput") .HasColumnType("text") .HasColumnName("expected_output"); b.Property <int>("ExpirationSeconds") .HasColumnType("integer") .HasColumnName("expiration_seconds"); b.Property <string>("InputString") .HasColumnType("text") .HasColumnName("input_string"); b.Property <int>("IntervalSeconds") .HasColumnType("integer") .HasColumnName("interval_seconds"); b.Property <int>("IterationTermination") .HasColumnType("integer") .HasColumnName("iteration_termination"); b.Property <int>("Iterations") .HasColumnType("integer") .HasColumnName("iterations"); b.Property <Guid?>("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.Property <bool>("Repeatable") .HasColumnType("boolean") .HasColumnName("repeatable"); b.Property <Guid?>("ScenarioId") .HasColumnType("uuid") .HasColumnName("scenario_id"); b.Property <Guid?>("ScenarioTemplateId") .HasColumnType("uuid") .HasColumnName("scenario_template_id"); b.Property <int>("Score") .HasColumnType("integer") .HasColumnName("score"); b.Property <int>("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property <int>("TotalScore") .HasColumnType("integer") .HasColumnName("total_score"); b.Property <int>("TotalScoreEarned") .HasColumnType("integer") .HasColumnName("total_score_earned"); b.Property <int>("TotalStatus") .HasColumnType("integer") .HasColumnName("total_status"); b.Property <int>("TriggerCondition") .HasColumnType("integer") .HasColumnName("trigger_condition"); b.Property <Guid?>("TriggerTaskId") .HasColumnType("uuid") .HasColumnName("trigger_task_id"); b.Property <bool>("UserExecutable") .HasColumnType("boolean") .HasColumnName("user_executable"); b.Property <Guid?>("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.Property <string>("VmMask") .HasColumnType("text") .HasColumnName("vm_mask"); b.HasKey("Id"); b.HasIndex("ScenarioId"); b.HasIndex("ScenarioTemplateId"); b.HasIndex("TriggerTaskId"); b.HasIndex("UserId"); b.ToTable("tasks"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.UserEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <Guid?>("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property <string>("Name") .HasColumnType("text") .HasColumnName("name"); b.HasKey("Id"); b.HasIndex("Id") .IsUnique(); b.ToTable("users"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.UserPermissionEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("PermissionId") .HasColumnType("uuid") .HasColumnName("permission_id"); b.Property <Guid>("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id"); b.HasIndex("PermissionId"); b.HasIndex("UserId", "PermissionId") .IsUnique(); b.ToTable("user_permissions"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.UserScenarioEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("ScenarioId") .HasColumnType("uuid") .HasColumnName("scenario_id"); b.Property <Guid>("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id"); b.HasIndex("ScenarioId"); b.HasIndex("UserId", "ScenarioId") .IsUnique(); b.ToTable("user_scenario_entity"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.VmCredentialEntity", b => { b.Property <Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id") .HasDefaultValueSql("uuid_generate_v4()"); b.Property <Guid>("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property <DateTime>("DateCreated") .HasColumnType("timestamp with time zone") .HasColumnName("date_created"); b.Property <DateTime?>("DateModified") .HasColumnType("timestamp with time zone") .HasColumnName("date_modified"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <Guid?>("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property <string>("Password") .HasColumnType("text") .HasColumnName("password"); b.Property <Guid?>("ScenarioId") .HasColumnType("uuid") .HasColumnName("scenario_id"); b.Property <Guid?>("ScenarioTemplateId") .HasColumnType("uuid") .HasColumnName("scenario_template_id"); b.Property <string>("Username") .HasColumnType("text") .HasColumnName("username"); b.HasKey("Id"); b.HasIndex("ScenarioId"); b.HasIndex("ScenarioTemplateId"); b.ToTable("vm_credentials"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.BondAgent", b => { b.HasOne("Steamfitter.Api.Data.Models.OS", "OperatingSystem") .WithMany() .HasForeignKey("OperatingSystemId"); b.Navigation("OperatingSystem"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.LocalUser", b => { b.HasOne("Steamfitter.Api.Data.Models.BondAgent", null) .WithMany("LocalUsers") .HasForeignKey("BondAgentId"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.MonitoredTool", b => { b.HasOne("Steamfitter.Api.Data.Models.BondAgent", null) .WithMany("MonitoredTools") .HasForeignKey("BondAgentId"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.ResultEntity", b => { b.HasOne("Steamfitter.Api.Data.Models.TaskEntity", "Task") .WithMany("Results") .HasForeignKey("TaskId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Task"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.ScenarioEntity", b => { b.HasOne("Steamfitter.Api.Data.Models.ScenarioTemplateEntity", "ScenarioTemplate") .WithMany("Scenarios") .HasForeignKey("ScenarioTemplateId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("ScenarioTemplate"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.SshPort", b => { b.HasOne("Steamfitter.Api.Data.Models.BondAgent", null) .WithMany("SshPorts") .HasForeignKey("BondAgentId"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.TaskEntity", b => { b.HasOne("Steamfitter.Api.Data.Models.ScenarioEntity", "Scenario") .WithMany("Tasks") .HasForeignKey("ScenarioId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("Steamfitter.Api.Data.Models.ScenarioTemplateEntity", "ScenarioTemplate") .WithMany("Tasks") .HasForeignKey("ScenarioTemplateId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("Steamfitter.Api.Data.Models.TaskEntity", "TriggerTask") .WithMany("Children") .HasForeignKey("TriggerTaskId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("Scenario"); b.Navigation("ScenarioTemplate"); b.Navigation("TriggerTask"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.UserPermissionEntity", b => { b.HasOne("Steamfitter.Api.Data.Models.PermissionEntity", "Permission") .WithMany("UserPermissions") .HasForeignKey("PermissionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Steamfitter.Api.Data.Models.UserEntity", "User") .WithMany("UserPermissions") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Permission"); b.Navigation("User"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.UserScenarioEntity", b => { b.HasOne("Steamfitter.Api.Data.Models.ScenarioEntity", "Scenario") .WithMany("Users") .HasForeignKey("ScenarioId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Steamfitter.Api.Data.Models.UserEntity", "User") .WithMany("UserScenarios") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Scenario"); b.Navigation("User"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.VmCredentialEntity", b => { b.HasOne("Steamfitter.Api.Data.Models.ScenarioEntity", "Scenario") .WithMany("VmCredentials") .HasForeignKey("ScenarioId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("Steamfitter.Api.Data.Models.ScenarioTemplateEntity", "ScenarioTemplate") .WithMany("VmCredentials") .HasForeignKey("ScenarioTemplateId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("Scenario"); b.Navigation("ScenarioTemplate"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.BondAgent", b => { b.Navigation("LocalUsers"); b.Navigation("MonitoredTools"); b.Navigation("SshPorts"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.PermissionEntity", b => { b.Navigation("UserPermissions"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.ScenarioEntity", b => { b.Navigation("Tasks"); b.Navigation("Users"); b.Navigation("VmCredentials"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.ScenarioTemplateEntity", b => { b.Navigation("Scenarios"); b.Navigation("Tasks"); b.Navigation("VmCredentials"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.TaskEntity", b => { b.Navigation("Children"); b.Navigation("Results"); }); modelBuilder.Entity("Steamfitter.Api.Data.Models.UserEntity", b => { b.Navigation("UserPermissions"); b.Navigation("UserScenarios"); }); #pragma warning restore 612, 618 }
protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "uuid-ossp"); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Audiochan.Domain.Entities.Audio", b => { b.Property <long>("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("Id")); b.Property <DateTime>("Created") .HasColumnType("timestamp with time zone") .HasColumnName("created"); b.Property <string>("Description") .HasColumnType("text") .HasColumnName("description"); b.Property <decimal>("Duration") .HasColumnType("numeric") .HasColumnName("duration"); b.Property <string>("File") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("file"); b.Property <DateTime?>("LastModified") .HasColumnType("timestamp with time zone") .HasColumnName("last_modified"); b.Property <string>("Picture") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("picture"); b.Property <long>("Size") .HasColumnType("bigint") .HasColumnName("size"); b.Property <List <string> >("Tags") .IsRequired() .HasColumnType("text[]") .HasColumnName("tags"); b.Property <string>("Title") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)") .HasColumnName("title"); b.Property <long>("UserId") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_audios"); b.HasIndex("Created") .HasDatabaseName("ix_audios_created"); b.HasIndex("Tags") .HasDatabaseName("ix_audios_tags"); NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("Tags"), "GIN"); b.HasIndex("Title") .HasDatabaseName("ix_audios_title"); b.HasIndex("UserId") .HasDatabaseName("ix_audios_user_id"); b.ToTable("audios", (string)null); }); modelBuilder.Entity("Audiochan.Domain.Entities.FavoriteAudio", b => { b.Property <long>("AudioId") .HasColumnType("bigint") .HasColumnName("audio_id"); b.Property <long>("UserId") .HasColumnType("bigint") .HasColumnName("user_id"); b.Property <long?>("AudioId1") .HasColumnType("bigint") .HasColumnName("audio_id1"); b.Property <DateTime>("Favorited") .HasColumnType("timestamp with time zone") .HasColumnName("favorited"); b.HasKey("AudioId", "UserId") .HasName("pk_favorite_audios"); b.HasIndex("AudioId1") .HasDatabaseName("ix_favorite_audios_audio_id1"); b.HasIndex("UserId") .HasDatabaseName("ix_favorite_audios_user_id"); b.ToTable("favorite_audios", (string)null); }); modelBuilder.Entity("Audiochan.Domain.Entities.FollowedUser", b => { b.Property <long>("ObserverId") .HasColumnType("bigint") .HasColumnName("observer_id"); b.Property <long>("TargetId") .HasColumnType("bigint") .HasColumnName("target_id"); b.Property <DateTime>("FollowedDate") .HasColumnType("timestamp with time zone") .HasColumnName("followed_date"); b.Property <DateTime?>("UnfollowedDate") .HasColumnType("timestamp with time zone") .HasColumnName("unfollowed_date"); b.HasKey("ObserverId", "TargetId") .HasName("pk_followed_users"); b.HasIndex("FollowedDate") .HasDatabaseName("ix_followed_users_followed_date"); b.HasIndex("TargetId") .HasDatabaseName("ix_followed_users_target_id"); b.ToTable("followed_users", (string)null); }); modelBuilder.Entity("Audiochan.Domain.Entities.User", b => { b.Property <long>("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property <long>("Id")); b.Property <DateTime>("Created") .HasColumnType("timestamp with time zone") .HasColumnName("created"); b.Property <string>("Email") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("email"); b.Property <DateTime?>("LastModified") .HasColumnType("timestamp with time zone") .HasColumnName("last_modified"); b.Property <string>("PasswordHash") .IsRequired() .HasColumnType("text") .HasColumnName("password_hash"); b.Property <string>("Picture") .HasColumnType("text") .HasColumnName("picture"); b.Property <int>("Role") .HasColumnType("integer") .HasColumnName("role"); b.Property <string>("UserName") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("user_name"); b.HasKey("Id") .HasName("pk_users"); b.HasIndex("Email") .IsUnique() .HasDatabaseName("ix_users_email"); b.HasIndex("UserName") .IsUnique() .HasDatabaseName("ix_users_user_name"); b.ToTable("users", (string)null); }); modelBuilder.Entity("Audiochan.Domain.Entities.Audio", b => { b.HasOne("Audiochan.Domain.Entities.User", "User") .WithMany("Audios") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_audios_users_user_id"); b.Navigation("User"); }); modelBuilder.Entity("Audiochan.Domain.Entities.FavoriteAudio", b => { b.HasOne("Audiochan.Domain.Entities.Audio", "Audio") .WithMany() .HasForeignKey("AudioId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_favorite_audios_audios_audio_id"); b.HasOne("Audiochan.Domain.Entities.Audio", null) .WithMany("FavoriteAudios") .HasForeignKey("AudioId1") .HasConstraintName("fk_favorite_audios_audios_audio_id1"); b.HasOne("Audiochan.Domain.Entities.User", "User") .WithMany("FavoriteAudios") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_favorite_audios_users_user_id"); b.Navigation("Audio"); b.Navigation("User"); }); modelBuilder.Entity("Audiochan.Domain.Entities.FollowedUser", b => { b.HasOne("Audiochan.Domain.Entities.User", "Observer") .WithMany("Followings") .HasForeignKey("ObserverId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_followed_users_users_observer_id"); b.HasOne("Audiochan.Domain.Entities.User", "Target") .WithMany("Followers") .HasForeignKey("TargetId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_followed_users_users_target_id"); b.Navigation("Observer"); b.Navigation("Target"); }); modelBuilder.Entity("Audiochan.Domain.Entities.Audio", b => { b.Navigation("FavoriteAudios"); }); modelBuilder.Entity("Audiochan.Domain.Entities.User", b => { b.Navigation("Audios"); b.Navigation("FavoriteAudios"); b.Navigation("Followers"); b.Navigation("Followings"); }); #pragma warning restore 612, 618 }