mirror of
https://github.com/rjNemo/ticket_manager
synced 2026-06-06 00:36:39 +00:00
pulling react
This commit is contained in:
parent
70725684b3
commit
179078fb47
4 changed files with 975 additions and 0 deletions
14
.gitignore
vendored
Normal file
14
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
.vs/
|
||||||
|
.vscode/
|
||||||
|
bin/
|
||||||
|
obj/
|
||||||
|
Properties/
|
||||||
|
Scripts/
|
||||||
|
Tests/TicketManager.Tests/UnitTests/ControllersTests/ControllerTests.cs
|
||||||
|
Tests/TicketManager.Tests/UnitTests/ControllersTests/SeedDb.cs
|
||||||
|
Tests/TicketManager.Tests/bin/
|
||||||
|
Tests/TicketManager.Tests/obj/
|
||||||
|
client/node_modules/
|
||||||
|
client/src/authentication/config.json
|
||||||
|
client/src/pages/TestPage.tsx
|
||||||
|
|
||||||
337
Migrations/20200312204707_Migration1.Designer.cs
generated
Normal file
337
Migrations/20200312204707_Migration1.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,337 @@
|
||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
using TicketManager.Data;
|
||||||
|
|
||||||
|
namespace TicketManager.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(AppDbContext))]
|
||||||
|
[Migration("20200312204707_Migration1")]
|
||||||
|
partial class Migration1
|
||||||
|
{
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "3.1.1");
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Activity", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("ActivityType")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<Guid?>("AppUserId")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("ProjectId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("TaskId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("TicketId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("UpdateDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("AppUserId");
|
||||||
|
|
||||||
|
b.HasIndex("ProjectId");
|
||||||
|
|
||||||
|
b.HasIndex("TicketId");
|
||||||
|
|
||||||
|
b.ToTable("Activities");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.AppUser", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreationDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("FirstName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(50);
|
||||||
|
|
||||||
|
b.Property<string>("LastName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(50);
|
||||||
|
|
||||||
|
b.Property<string>("Phone")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Picture")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Presentation")
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(200);
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("AppUsers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Assignment", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("ProjectId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<Guid>("UserId")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("ProjectId", "UserId");
|
||||||
|
|
||||||
|
b.HasIndex("UserId");
|
||||||
|
|
||||||
|
b.ToTable("Assignments");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.File", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<Guid?>("AddedById")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("FileName")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Format")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Location")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("ProjectId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Size")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("TicketId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("UserId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("AddedById");
|
||||||
|
|
||||||
|
b.HasIndex("ProjectId");
|
||||||
|
|
||||||
|
b.HasIndex("TicketId");
|
||||||
|
|
||||||
|
b.ToTable("Files");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Note", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreationDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("TicketId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Title")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("TicketId");
|
||||||
|
|
||||||
|
b.ToTable("Notes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Project", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreationDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(200);
|
||||||
|
|
||||||
|
b.Property<DateTime>("EndingDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<Guid?>("ManagerId")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("Status")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Title")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(50);
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ManagerId");
|
||||||
|
|
||||||
|
b.ToTable("Projects");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Ticket", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<Guid?>("AppUserId")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("Category")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreationDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<Guid>("CreatorId")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(100);
|
||||||
|
|
||||||
|
b.Property<int>("Difficulty")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("EndingDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("Impact")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("ProjectId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Status")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Title")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(100);
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("AppUserId");
|
||||||
|
|
||||||
|
b.HasIndex("ProjectId");
|
||||||
|
|
||||||
|
b.ToTable("Tickets");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Activity", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.AppUser", null)
|
||||||
|
.WithMany("Activities")
|
||||||
|
.HasForeignKey("AppUserId");
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.Project", null)
|
||||||
|
.WithMany("Activities")
|
||||||
|
.HasForeignKey("ProjectId");
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.Ticket", null)
|
||||||
|
.WithMany("Activities")
|
||||||
|
.HasForeignKey("TicketId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Assignment", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.Project", "Project")
|
||||||
|
.WithMany("Assignments")
|
||||||
|
.HasForeignKey("ProjectId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.AppUser", "User")
|
||||||
|
.WithMany("Assignments")
|
||||||
|
.HasForeignKey("UserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.File", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.AppUser", "AddedBy")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("AddedById");
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.Project", null)
|
||||||
|
.WithMany("Files")
|
||||||
|
.HasForeignKey("ProjectId");
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.Ticket", null)
|
||||||
|
.WithMany("Files")
|
||||||
|
.HasForeignKey("TicketId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Note", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.Ticket", "Ticket")
|
||||||
|
.WithMany("Notes")
|
||||||
|
.HasForeignKey("TicketId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Project", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.AppUser", "Manager")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ManagerId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Ticket", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.AppUser", null)
|
||||||
|
.WithMany("Tickets")
|
||||||
|
.HasForeignKey("AppUserId");
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.Project", "Project")
|
||||||
|
.WithMany("Tickets")
|
||||||
|
.HasForeignKey("ProjectId");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
289
Migrations/20200312204707_Migration1.cs
Normal file
289
Migrations/20200312204707_Migration1.cs
Normal file
|
|
@ -0,0 +1,289 @@
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
namespace TicketManager.Migrations
|
||||||
|
{
|
||||||
|
public partial class Migration1 : Migration
|
||||||
|
{
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "AppUsers",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(nullable: false),
|
||||||
|
FirstName = table.Column<string>(maxLength: 50, nullable: false),
|
||||||
|
LastName = table.Column<string>(maxLength: 50, nullable: false),
|
||||||
|
Presentation = table.Column<string>(maxLength: 200, nullable: true),
|
||||||
|
Email = table.Column<string>(nullable: true),
|
||||||
|
Phone = table.Column<string>(nullable: true),
|
||||||
|
CreationDate = table.Column<DateTime>(nullable: false),
|
||||||
|
Picture = table.Column<string>(nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_AppUsers", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Projects",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
Title = table.Column<string>(maxLength: 50, nullable: false),
|
||||||
|
Description = table.Column<string>(maxLength: 200, nullable: true),
|
||||||
|
CreationDate = table.Column<DateTime>(nullable: false),
|
||||||
|
EndingDate = table.Column<DateTime>(nullable: false),
|
||||||
|
Status = table.Column<int>(nullable: false),
|
||||||
|
ManagerId = table.Column<Guid>(nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Projects", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Projects_AppUsers_ManagerId",
|
||||||
|
column: x => x.ManagerId,
|
||||||
|
principalTable: "AppUsers",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Assignments",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
UserId = table.Column<Guid>(nullable: false),
|
||||||
|
ProjectId = table.Column<int>(nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Assignments", x => new { x.ProjectId, x.UserId });
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Assignments_Projects_ProjectId",
|
||||||
|
column: x => x.ProjectId,
|
||||||
|
principalTable: "Projects",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Assignments_AppUsers_UserId",
|
||||||
|
column: x => x.UserId,
|
||||||
|
principalTable: "AppUsers",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Tickets",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
Title = table.Column<string>(maxLength: 100, nullable: false),
|
||||||
|
Description = table.Column<string>(maxLength: 100, nullable: true),
|
||||||
|
CreationDate = table.Column<DateTime>(nullable: false),
|
||||||
|
EndingDate = table.Column<DateTime>(nullable: false),
|
||||||
|
Status = table.Column<int>(nullable: false),
|
||||||
|
Impact = table.Column<int>(nullable: false),
|
||||||
|
Difficulty = table.Column<int>(nullable: false),
|
||||||
|
Category = table.Column<int>(nullable: false),
|
||||||
|
CreatorId = table.Column<Guid>(nullable: false),
|
||||||
|
ProjectId = table.Column<int>(nullable: true),
|
||||||
|
AppUserId = table.Column<Guid>(nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Tickets", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Tickets_AppUsers_AppUserId",
|
||||||
|
column: x => x.AppUserId,
|
||||||
|
principalTable: "AppUsers",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Tickets_Projects_ProjectId",
|
||||||
|
column: x => x.ProjectId,
|
||||||
|
principalTable: "Projects",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Activities",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
Description = table.Column<string>(nullable: true),
|
||||||
|
UpdateDate = table.Column<DateTime>(nullable: false),
|
||||||
|
ActivityType = table.Column<int>(nullable: false),
|
||||||
|
TaskId = table.Column<int>(nullable: false),
|
||||||
|
AppUserId = table.Column<Guid>(nullable: true),
|
||||||
|
ProjectId = table.Column<int>(nullable: true),
|
||||||
|
TicketId = table.Column<int>(nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Activities", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Activities_AppUsers_AppUserId",
|
||||||
|
column: x => x.AppUserId,
|
||||||
|
principalTable: "AppUsers",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Activities_Projects_ProjectId",
|
||||||
|
column: x => x.ProjectId,
|
||||||
|
principalTable: "Projects",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Activities_Tickets_TicketId",
|
||||||
|
column: x => x.TicketId,
|
||||||
|
principalTable: "Tickets",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Files",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
FileName = table.Column<string>(nullable: true),
|
||||||
|
Location = table.Column<string>(nullable: true),
|
||||||
|
Description = table.Column<string>(nullable: true),
|
||||||
|
Size = table.Column<int>(nullable: false),
|
||||||
|
Format = table.Column<string>(nullable: true),
|
||||||
|
AddedById = table.Column<Guid>(nullable: true),
|
||||||
|
UserId = table.Column<int>(nullable: false),
|
||||||
|
ProjectId = table.Column<int>(nullable: true),
|
||||||
|
TicketId = table.Column<int>(nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Files", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Files_AppUsers_AddedById",
|
||||||
|
column: x => x.AddedById,
|
||||||
|
principalTable: "AppUsers",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Files_Projects_ProjectId",
|
||||||
|
column: x => x.ProjectId,
|
||||||
|
principalTable: "Projects",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Files_Tickets_TicketId",
|
||||||
|
column: x => x.TicketId,
|
||||||
|
principalTable: "Tickets",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Notes",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(nullable: false)
|
||||||
|
.Annotation("Sqlite:Autoincrement", true),
|
||||||
|
Title = table.Column<string>(nullable: true),
|
||||||
|
Description = table.Column<string>(nullable: true),
|
||||||
|
CreationDate = table.Column<DateTime>(nullable: false),
|
||||||
|
TicketId = table.Column<int>(nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Notes", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Notes_Tickets_TicketId",
|
||||||
|
column: x => x.TicketId,
|
||||||
|
principalTable: "Tickets",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Activities_AppUserId",
|
||||||
|
table: "Activities",
|
||||||
|
column: "AppUserId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Activities_ProjectId",
|
||||||
|
table: "Activities",
|
||||||
|
column: "ProjectId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Activities_TicketId",
|
||||||
|
table: "Activities",
|
||||||
|
column: "TicketId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Assignments_UserId",
|
||||||
|
table: "Assignments",
|
||||||
|
column: "UserId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Files_AddedById",
|
||||||
|
table: "Files",
|
||||||
|
column: "AddedById");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Files_ProjectId",
|
||||||
|
table: "Files",
|
||||||
|
column: "ProjectId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Files_TicketId",
|
||||||
|
table: "Files",
|
||||||
|
column: "TicketId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Notes_TicketId",
|
||||||
|
table: "Notes",
|
||||||
|
column: "TicketId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Projects_ManagerId",
|
||||||
|
table: "Projects",
|
||||||
|
column: "ManagerId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Tickets_AppUserId",
|
||||||
|
table: "Tickets",
|
||||||
|
column: "AppUserId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Tickets_ProjectId",
|
||||||
|
table: "Tickets",
|
||||||
|
column: "ProjectId");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Activities");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Assignments");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Files");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Notes");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Tickets");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Projects");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "AppUsers");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
335
Migrations/AppDbContextModelSnapshot.cs
Normal file
335
Migrations/AppDbContextModelSnapshot.cs
Normal file
|
|
@ -0,0 +1,335 @@
|
||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
using TicketManager.Data;
|
||||||
|
|
||||||
|
namespace TicketManager.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(AppDbContext))]
|
||||||
|
partial class AppDbContextModelSnapshot : ModelSnapshot
|
||||||
|
{
|
||||||
|
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "3.1.1");
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Activity", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("ActivityType")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<Guid?>("AppUserId")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("ProjectId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("TaskId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("TicketId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("UpdateDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("AppUserId");
|
||||||
|
|
||||||
|
b.HasIndex("ProjectId");
|
||||||
|
|
||||||
|
b.HasIndex("TicketId");
|
||||||
|
|
||||||
|
b.ToTable("Activities");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.AppUser", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreationDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("FirstName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(50);
|
||||||
|
|
||||||
|
b.Property<string>("LastName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(50);
|
||||||
|
|
||||||
|
b.Property<string>("Phone")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Picture")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Presentation")
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(200);
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("AppUsers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Assignment", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("ProjectId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<Guid>("UserId")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("ProjectId", "UserId");
|
||||||
|
|
||||||
|
b.HasIndex("UserId");
|
||||||
|
|
||||||
|
b.ToTable("Assignments");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.File", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<Guid?>("AddedById")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("FileName")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Format")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Location")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("ProjectId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Size")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("TicketId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("UserId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("AddedById");
|
||||||
|
|
||||||
|
b.HasIndex("ProjectId");
|
||||||
|
|
||||||
|
b.HasIndex("TicketId");
|
||||||
|
|
||||||
|
b.ToTable("Files");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Note", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreationDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("TicketId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Title")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("TicketId");
|
||||||
|
|
||||||
|
b.ToTable("Notes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Project", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreationDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(200);
|
||||||
|
|
||||||
|
b.Property<DateTime>("EndingDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<Guid?>("ManagerId")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("Status")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Title")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(50);
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ManagerId");
|
||||||
|
|
||||||
|
b.ToTable("Projects");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Ticket", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<Guid?>("AppUserId")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("Category")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreationDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<Guid>("CreatorId")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(100);
|
||||||
|
|
||||||
|
b.Property<int>("Difficulty")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("EndingDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("Impact")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("ProjectId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Status")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Title")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasMaxLength(100);
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("AppUserId");
|
||||||
|
|
||||||
|
b.HasIndex("ProjectId");
|
||||||
|
|
||||||
|
b.ToTable("Tickets");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Activity", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.AppUser", null)
|
||||||
|
.WithMany("Activities")
|
||||||
|
.HasForeignKey("AppUserId");
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.Project", null)
|
||||||
|
.WithMany("Activities")
|
||||||
|
.HasForeignKey("ProjectId");
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.Ticket", null)
|
||||||
|
.WithMany("Activities")
|
||||||
|
.HasForeignKey("TicketId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Assignment", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.Project", "Project")
|
||||||
|
.WithMany("Assignments")
|
||||||
|
.HasForeignKey("ProjectId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.AppUser", "User")
|
||||||
|
.WithMany("Assignments")
|
||||||
|
.HasForeignKey("UserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.File", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.AppUser", "AddedBy")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("AddedById");
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.Project", null)
|
||||||
|
.WithMany("Files")
|
||||||
|
.HasForeignKey("ProjectId");
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.Ticket", null)
|
||||||
|
.WithMany("Files")
|
||||||
|
.HasForeignKey("TicketId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Note", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.Ticket", "Ticket")
|
||||||
|
.WithMany("Notes")
|
||||||
|
.HasForeignKey("TicketId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Project", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.AppUser", "Manager")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ManagerId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("TicketManager.Models.Ticket", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("TicketManager.Models.AppUser", null)
|
||||||
|
.WithMany("Tickets")
|
||||||
|
.HasForeignKey("AppUserId");
|
||||||
|
|
||||||
|
b.HasOne("TicketManager.Models.Project", "Project")
|
||||||
|
.WithMany("Tickets")
|
||||||
|
.HasForeignKey("ProjectId");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue