Database
This commit is contained in:
@@ -44,7 +44,7 @@
|
||||
>
|
||||
</li>
|
||||
<a
|
||||
href="https://login.microsoftonline.com/3415f2f7-f5a8-4092-b52a-003aaf844853/oauth2/v2.0/authorize?client_id=5931fda0-e9e0-4754-80c2-18bcb9d9561a&response_type=id_token&scope=openid email profile&nonce=aaaa"
|
||||
href="https://login.microsoftonline.com/3415f2f7-f5a8-4092-b52a-003aaf844853/oauth2/v2.0/authorize?client_id=5931fda0-e9e0-4754-80c2-18bcb9d9561a&response_type=id_token&scope=openid email&nonce=aaaa"
|
||||
>Login</a
|
||||
>
|
||||
</ul>
|
||||
|
226
KTUSAPS.Data/Migrations/20210909173149_Initial.Designer.cs
generated
Normal file
226
KTUSAPS.Data/Migrations/20210909173149_Initial.Designer.cs
generated
Normal file
@@ -0,0 +1,226 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using KTUSAPS.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
namespace KTUSAPS.Data.Migrations
|
||||
{
|
||||
[DbContext(typeof(SAPSDataContext))]
|
||||
[Migration("20210909173149_Initial")]
|
||||
partial class Initial
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 64)
|
||||
.HasAnnotation("ProductVersion", "5.0.9");
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Admin", b =>
|
||||
{
|
||||
b.Property<string>("UserId")
|
||||
.HasMaxLength(64)
|
||||
.HasColumnType("varchar(64)");
|
||||
|
||||
b.Property<string>("Comment")
|
||||
.HasMaxLength(256)
|
||||
.HasColumnType("varchar(256)");
|
||||
|
||||
b.HasKey("UserId");
|
||||
|
||||
b.ToTable("Admins");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Issue", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<DateTime>("Created")
|
||||
.HasColumnType("datetime(6)");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("Email")
|
||||
.HasMaxLength(320)
|
||||
.HasColumnType("varchar(320)");
|
||||
|
||||
b.Property<bool>("Publishable")
|
||||
.HasColumnType("tinyint(1)");
|
||||
|
||||
b.Property<bool>("Solved")
|
||||
.HasColumnType("tinyint(1)");
|
||||
|
||||
b.Property<string>("UserID")
|
||||
.HasMaxLength(64)
|
||||
.HasColumnType("varchar(64)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Issues");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedFeedback", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<DateTime>("Created")
|
||||
.HasColumnType("datetime(6)");
|
||||
|
||||
b.Property<string>("FeedbackEn")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("FeedbackLt")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<int?>("IssueId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("IssueId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("PublishedFeedbacks");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedProblem", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<DateTime>("Created")
|
||||
.HasColumnType("datetime(6)");
|
||||
|
||||
b.Property<int?>("IssueId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("ProblemEn")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("ProblemLt")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("ResponseEn")
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("ResponseLt")
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<int?>("SolutionId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("IssueId")
|
||||
.IsUnique();
|
||||
|
||||
b.HasIndex("SolutionId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("PublishedProblems");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Solution", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<DateTime>("Created")
|
||||
.HasColumnType("datetime(6)");
|
||||
|
||||
b.Property<string>("SolutionEn")
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("SolutionLt")
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Solutions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Vote", b =>
|
||||
{
|
||||
b.Property<string>("UserId")
|
||||
.HasMaxLength(64)
|
||||
.HasColumnType("varchar(64)");
|
||||
|
||||
b.Property<int>("ProblemId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("UserId", "ProblemId");
|
||||
|
||||
b.HasIndex("ProblemId");
|
||||
|
||||
b.ToTable("Votes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedFeedback", b =>
|
||||
{
|
||||
b.HasOne("KTUSAPS.Data.Model.Issue", "Issue")
|
||||
.WithOne("Feedback")
|
||||
.HasForeignKey("KTUSAPS.Data.Model.PublishedFeedback", "IssueId");
|
||||
|
||||
b.Navigation("Issue");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedProblem", b =>
|
||||
{
|
||||
b.HasOne("KTUSAPS.Data.Model.Issue", "Issue")
|
||||
.WithOne("Problem")
|
||||
.HasForeignKey("KTUSAPS.Data.Model.PublishedProblem", "IssueId");
|
||||
|
||||
b.HasOne("KTUSAPS.Data.Model.Solution", "Solution")
|
||||
.WithOne("Problem")
|
||||
.HasForeignKey("KTUSAPS.Data.Model.PublishedProblem", "SolutionId");
|
||||
|
||||
b.Navigation("Issue");
|
||||
|
||||
b.Navigation("Solution");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Vote", b =>
|
||||
{
|
||||
b.HasOne("KTUSAPS.Data.Model.PublishedProblem", "Problem")
|
||||
.WithMany("Votes")
|
||||
.HasForeignKey("ProblemId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Problem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Issue", b =>
|
||||
{
|
||||
b.Navigation("Feedback");
|
||||
|
||||
b.Navigation("Problem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedProblem", b =>
|
||||
{
|
||||
b.Navigation("Votes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Solution", b =>
|
||||
{
|
||||
b.Navigation("Problem");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
195
KTUSAPS.Data/Migrations/20210909173149_Initial.cs
Normal file
195
KTUSAPS.Data/Migrations/20210909173149_Initial.cs
Normal file
@@ -0,0 +1,195 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace KTUSAPS.Data.Migrations
|
||||
{
|
||||
public partial class Initial : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AlterDatabase()
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Admins",
|
||||
columns: table => new
|
||||
{
|
||||
UserId = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Comment = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Admins", x => x.UserId);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Issues",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||
UserID = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Email = table.Column<string>(type: "varchar(320)", maxLength: 320, nullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Publishable = table.Column<bool>(type: "tinyint(1)", nullable: false),
|
||||
Solved = table.Column<bool>(type: "tinyint(1)", nullable: false),
|
||||
Created = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
Description = table.Column<string>(type: "longtext", nullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Issues", x => x.Id);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Solutions",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||
SolutionLt = table.Column<string>(type: "longtext", nullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
SolutionEn = table.Column<string>(type: "longtext", nullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Created = table.Column<DateTime>(type: "datetime(6)", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Solutions", x => x.Id);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "PublishedFeedbacks",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||
FeedbackLt = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
FeedbackEn = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Created = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
IssueId = table.Column<int>(type: "int", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_PublishedFeedbacks", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_PublishedFeedbacks_Issues_IssueId",
|
||||
column: x => x.IssueId,
|
||||
principalTable: "Issues",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "PublishedProblems",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||
ProblemLt = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
ProblemEn = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
ResponseLt = table.Column<string>(type: "longtext", nullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
ResponseEn = table.Column<string>(type: "longtext", nullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Created = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
IssueId = table.Column<int>(type: "int", nullable: true),
|
||||
SolutionId = table.Column<int>(type: "int", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_PublishedProblems", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_PublishedProblems_Issues_IssueId",
|
||||
column: x => x.IssueId,
|
||||
principalTable: "Issues",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_PublishedProblems_Solutions_SolutionId",
|
||||
column: x => x.SolutionId,
|
||||
principalTable: "Solutions",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Votes",
|
||||
columns: table => new
|
||||
{
|
||||
UserId = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
ProblemId = table.Column<int>(type: "int", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Votes", x => new { x.UserId, x.ProblemId });
|
||||
table.ForeignKey(
|
||||
name: "FK_Votes_PublishedProblems_ProblemId",
|
||||
column: x => x.ProblemId,
|
||||
principalTable: "PublishedProblems",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_PublishedFeedbacks_IssueId",
|
||||
table: "PublishedFeedbacks",
|
||||
column: "IssueId",
|
||||
unique: true);
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_PublishedProblems_IssueId",
|
||||
table: "PublishedProblems",
|
||||
column: "IssueId",
|
||||
unique: true);
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_PublishedProblems_SolutionId",
|
||||
table: "PublishedProblems",
|
||||
column: "SolutionId",
|
||||
unique: true);
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Votes_ProblemId",
|
||||
table: "Votes",
|
||||
column: "ProblemId");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "Admins");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "PublishedFeedbacks");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Votes");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "PublishedProblems");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Issues");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Solutions");
|
||||
}
|
||||
}
|
||||
}
|
224
KTUSAPS.Data/Migrations/SAPSDataContextModelSnapshot.cs
Normal file
224
KTUSAPS.Data/Migrations/SAPSDataContextModelSnapshot.cs
Normal file
@@ -0,0 +1,224 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using KTUSAPS.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
namespace KTUSAPS.Data.Migrations
|
||||
{
|
||||
[DbContext(typeof(SAPSDataContext))]
|
||||
partial class SAPSDataContextModelSnapshot : ModelSnapshot
|
||||
{
|
||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 64)
|
||||
.HasAnnotation("ProductVersion", "5.0.9");
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Admin", b =>
|
||||
{
|
||||
b.Property<string>("UserId")
|
||||
.HasMaxLength(64)
|
||||
.HasColumnType("varchar(64)");
|
||||
|
||||
b.Property<string>("Comment")
|
||||
.HasMaxLength(256)
|
||||
.HasColumnType("varchar(256)");
|
||||
|
||||
b.HasKey("UserId");
|
||||
|
||||
b.ToTable("Admins");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Issue", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<DateTime>("Created")
|
||||
.HasColumnType("datetime(6)");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("Email")
|
||||
.HasMaxLength(320)
|
||||
.HasColumnType("varchar(320)");
|
||||
|
||||
b.Property<bool>("Publishable")
|
||||
.HasColumnType("tinyint(1)");
|
||||
|
||||
b.Property<bool>("Solved")
|
||||
.HasColumnType("tinyint(1)");
|
||||
|
||||
b.Property<string>("UserID")
|
||||
.HasMaxLength(64)
|
||||
.HasColumnType("varchar(64)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Issues");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedFeedback", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<DateTime>("Created")
|
||||
.HasColumnType("datetime(6)");
|
||||
|
||||
b.Property<string>("FeedbackEn")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("FeedbackLt")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<int?>("IssueId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("IssueId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("PublishedFeedbacks");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedProblem", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<DateTime>("Created")
|
||||
.HasColumnType("datetime(6)");
|
||||
|
||||
b.Property<int?>("IssueId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("ProblemEn")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("ProblemLt")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("ResponseEn")
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("ResponseLt")
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<int?>("SolutionId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("IssueId")
|
||||
.IsUnique();
|
||||
|
||||
b.HasIndex("SolutionId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("PublishedProblems");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Solution", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<DateTime>("Created")
|
||||
.HasColumnType("datetime(6)");
|
||||
|
||||
b.Property<string>("SolutionEn")
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("SolutionLt")
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Solutions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Vote", b =>
|
||||
{
|
||||
b.Property<string>("UserId")
|
||||
.HasMaxLength(64)
|
||||
.HasColumnType("varchar(64)");
|
||||
|
||||
b.Property<int>("ProblemId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("UserId", "ProblemId");
|
||||
|
||||
b.HasIndex("ProblemId");
|
||||
|
||||
b.ToTable("Votes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedFeedback", b =>
|
||||
{
|
||||
b.HasOne("KTUSAPS.Data.Model.Issue", "Issue")
|
||||
.WithOne("Feedback")
|
||||
.HasForeignKey("KTUSAPS.Data.Model.PublishedFeedback", "IssueId");
|
||||
|
||||
b.Navigation("Issue");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedProblem", b =>
|
||||
{
|
||||
b.HasOne("KTUSAPS.Data.Model.Issue", "Issue")
|
||||
.WithOne("Problem")
|
||||
.HasForeignKey("KTUSAPS.Data.Model.PublishedProblem", "IssueId");
|
||||
|
||||
b.HasOne("KTUSAPS.Data.Model.Solution", "Solution")
|
||||
.WithOne("Problem")
|
||||
.HasForeignKey("KTUSAPS.Data.Model.PublishedProblem", "SolutionId");
|
||||
|
||||
b.Navigation("Issue");
|
||||
|
||||
b.Navigation("Solution");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Vote", b =>
|
||||
{
|
||||
b.HasOne("KTUSAPS.Data.Model.PublishedProblem", "Problem")
|
||||
.WithMany("Votes")
|
||||
.HasForeignKey("ProblemId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Problem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Issue", b =>
|
||||
{
|
||||
b.Navigation("Feedback");
|
||||
|
||||
b.Navigation("Problem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.PublishedProblem", b =>
|
||||
{
|
||||
b.Navigation("Votes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("KTUSAPS.Data.Model.Solution", b =>
|
||||
{
|
||||
b.Navigation("Problem");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
17
KTUSAPS.Data/Model/Admin.cs
Normal file
17
KTUSAPS.Data/Model/Admin.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace KTUSAPS.Data.Model
|
||||
{
|
||||
public class Admin
|
||||
{
|
||||
[Key, MaxLength(64)]
|
||||
public string UserId { get; set; }
|
||||
[MaxLength(256)]
|
||||
public string Comment { get; set; }
|
||||
}
|
||||
}
|
@@ -14,8 +14,8 @@ namespace KTUSAPS.Data.Model
|
||||
public int Id { get; set; }
|
||||
[MaxLength(64)]
|
||||
public string UserID { get; set; }
|
||||
[MaxLength(320)]
|
||||
public string Email { get; set; }
|
||||
public bool Anonimous { get; set; }
|
||||
public bool Publishable { get; set; }
|
||||
public bool Solved { get; set; } = false;
|
||||
public DateTime Created { get; set; }
|
||||
|
@@ -1,18 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ClassDiagram MajorVersion="1" MinorVersion="1">
|
||||
<Class Name="KTUSAPS.Data.Model.Issue">
|
||||
<Position X="0.75" Y="1.25" Width="1.5" />
|
||||
<Position X="0.5" Y="0.75" Width="1.5" />
|
||||
<TypeIdentifier>
|
||||
<HashCode>AAACAAJAACAgAAAAAAACAAgIAAEAAAQAAAAAAAAAAAA=</HashCode>
|
||||
<HashCode>AAACAAJAACAgAAAAAAACAAgIAAAAAAQAAAAAAAAAAAA=</HashCode>
|
||||
<FileName>Model\Issue.cs</FileName>
|
||||
</TypeIdentifier>
|
||||
<ShowAsAssociation>
|
||||
<Property Name="Feedback" />
|
||||
<Property Name="Problem" />
|
||||
<Property Name="Feedback" />
|
||||
</ShowAsAssociation>
|
||||
</Class>
|
||||
<Class Name="KTUSAPS.Data.Model.PublishedFeedback">
|
||||
<Position X="3.75" Y="3.75" Width="1.5" />
|
||||
<Position X="2.75" Y="3.75" Width="1.5" />
|
||||
<TypeIdentifier>
|
||||
<HashCode>AAECAAAAAAAAAAAACAIAAAAAAAAAAAQAEAAAAAAAAAA=</HashCode>
|
||||
<FileName>Model\PublishedFeedback.cs</FileName>
|
||||
@@ -22,21 +22,21 @@
|
||||
</ShowAsAssociation>
|
||||
</Class>
|
||||
<Class Name="KTUSAPS.Data.Model.PublishedProblem">
|
||||
<Position X="3.75" Y="0.5" Width="1.5" />
|
||||
<Position X="2.75" Y="0.75" Width="1.5" />
|
||||
<TypeIdentifier>
|
||||
<HashCode>ACECABAAAAEAAAgAAAABAAAAEAAAQAQAEAAAAAAAAAA=</HashCode>
|
||||
<FileName>Model\PublishedProblem.cs</FileName>
|
||||
</TypeIdentifier>
|
||||
<ShowAsAssociation>
|
||||
<Property Name="Solution" />
|
||||
<Property Name="Issue" />
|
||||
<Property Name="Solution" />
|
||||
</ShowAsAssociation>
|
||||
<ShowAsCollectionAssociation>
|
||||
<Property Name="Votes" />
|
||||
</ShowAsCollectionAssociation>
|
||||
</Class>
|
||||
<Class Name="KTUSAPS.Data.Model.Solution">
|
||||
<Position X="6.5" Y="0.5" Width="1.5" />
|
||||
<Position X="6" Y="0.5" Width="1.5" />
|
||||
<TypeIdentifier>
|
||||
<HashCode>AAACAAIABAAAAQAAAAAAAAAAAAAAAAQAAAAAAAAAAAA=</HashCode>
|
||||
<FileName>Model\Solution.cs</FileName>
|
||||
@@ -46,7 +46,7 @@
|
||||
</ShowAsAssociation>
|
||||
</Class>
|
||||
<Class Name="KTUSAPS.Data.Model.Vote">
|
||||
<Position X="6.5" Y="2.25" Width="1.5" />
|
||||
<Position X="6" Y="2.5" Width="1.5" />
|
||||
<TypeIdentifier>
|
||||
<HashCode>AAAAAAIAAAAAEAAAAAAAAAgAAAAAAAAAAAAAAAAAAAA=</HashCode>
|
||||
<FileName>Model\Vote.cs</FileName>
|
@@ -22,7 +22,7 @@ namespace KTUSAPS.Data
|
||||
{
|
||||
if (!optionsBuilder.IsConfigured)
|
||||
{
|
||||
optionsBuilder.UseMySql("Server=localhost;User=samokdev;Password=;Database=samok_dev", new MariaDbServerVersion(new Version(10, 6, 3)));
|
||||
optionsBuilder.UseMySql("Server=localhost;User=saps;Password=;Database=saps_dev", new MariaDbServerVersion(new Version(10, 6, 3)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@ namespace KTUSAPS.Data
|
||||
public DbSet<PublishedProblem> PublishedProblems { get; set; }
|
||||
public DbSet<Solution> Solutions { get; set; }
|
||||
public DbSet<Vote> Votes { get; set; }
|
||||
public DbSet<Admin> Admins { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user