From 5054330f299f61684099e356db46938462d9d812 Mon Sep 17 00:00:00 2001 From: mborzyszkowski Date: Mon, 31 Aug 2020 18:13:30 +0200 Subject: [PATCH] cleanign --- .../Controllers/AdminController.cs | 2 - .../Controllers/DocumentsController.cs | 10 +- .../Controllers/EditionController.cs | 8 +- .../InternshipRegistrationController.cs | 31 +- .../Controllers/RegistrationController.cs | 12 +- src/InternshipSystem.Api/Security/User.cs | 1 - .../20200828182238_Init.Designer.cs | 609 ------------------ .../Migrations/20200828182238_Init.cs | 438 ------------- .../InternshipDbContextModelSnapshot.cs | 607 ----------------- 9 files changed, 25 insertions(+), 1693 deletions(-) delete mode 100644 src/InternshipSystem.Repository/Migrations/20200828182238_Init.Designer.cs delete mode 100644 src/InternshipSystem.Repository/Migrations/20200828182238_Init.cs delete mode 100644 src/InternshipSystem.Repository/Migrations/InternshipDbContextModelSnapshot.cs diff --git a/src/InternshipSystem.Api/Controllers/AdminController.cs b/src/InternshipSystem.Api/Controllers/AdminController.cs index 3fbb0ef..6a153f8 100644 --- a/src/InternshipSystem.Api/Controllers/AdminController.cs +++ b/src/InternshipSystem.Api/Controllers/AdminController.cs @@ -1,7 +1,5 @@ using System.Threading.Tasks; using InternshipSystem.Repository; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; namespace InternshipSystem.Api.Controllers diff --git a/src/InternshipSystem.Api/Controllers/DocumentsController.cs b/src/InternshipSystem.Api/Controllers/DocumentsController.cs index 9350e02..3eb8585 100644 --- a/src/InternshipSystem.Api/Controllers/DocumentsController.cs +++ b/src/InternshipSystem.Api/Controllers/DocumentsController.cs @@ -42,7 +42,7 @@ namespace InternshipSystem.Api.Controllers [ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status401Unauthorized)] [Authorize(Policy = Policies.RegisteredOnly)] - public async Task AddDocumentToInternship([FromBody] DocumentPublishRequest documentRequest, User user) + public async Task AddDocumentToInternship([FromBody] DocumentPublishRequest documentRequest) { var validator = new DocumentPublishRequest.Validator(); var validationResult = await validator.ValidateAsync(documentRequest); @@ -52,14 +52,14 @@ namespace InternshipSystem.Api.Controllers return BadRequest(validationResult.ToString()); } - var edition = - await Context.Editions - .FindAsync(user.EditionId.Value); + var personNumber = long.Parse(User.FindFirst(InternshipClaims.PersonNumber).Value); + + var edition = await Context.Editions.FindAsync(personNumber); var internship = await Context.Entry(edition) .Collection(e => e.Internships) .Query() - .SingleAsync(i => i.Student.Id == user.PersonNumber); + .SingleAsync(i => i.Student.Id == personNumber); var document = Mapper.Map(documentRequest); diff --git a/src/InternshipSystem.Api/Controllers/EditionController.cs b/src/InternshipSystem.Api/Controllers/EditionController.cs index 67c2f81..f9e6774 100644 --- a/src/InternshipSystem.Api/Controllers/EditionController.cs +++ b/src/InternshipSystem.Api/Controllers/EditionController.cs @@ -8,7 +8,6 @@ using AutoMapper.QueryableExtensions; using IdentityServer4.Extensions; using InternshipSystem.Api.Result; using InternshipSystem.Api.Security; -using InternshipSystem.Core.Entity.Internship; using InternshipSystem.Repository; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; @@ -41,7 +40,7 @@ namespace InternshipSystem.Api.Controllers [Authorize] public async Task>> GetAvailableEditions(CancellationToken token) { - var personNumber = long.Parse(User.FindFirst("PersonNumber").Value); + var personNumber = long.Parse(User.FindFirst(InternshipClaims.PersonNumber).Value); var editions = await Context.Editions @@ -69,11 +68,9 @@ namespace InternshipSystem.Api.Controllers [HttpGet("{id}")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] - [Authorize(Policy = "RegisteredForEditionOnly")] + [Authorize(Policy = Policies.RegisteredOnly)] public async Task> GetEditionsConfiguration(Guid id, CancellationToken token) { - var personNumber = long.Parse(User.FindFirst(InternshipClaims.PersonNumber).Value); - var edition = await Context.Editions .Include(e => e.AvailableSubjects) @@ -88,6 +85,5 @@ namespace InternshipSystem.Api.Controllers return Ok(edition); } - } } \ No newline at end of file diff --git a/src/InternshipSystem.Api/Controllers/InternshipRegistrationController.cs b/src/InternshipSystem.Api/Controllers/InternshipRegistrationController.cs index 5914f3e..2926d6f 100644 --- a/src/InternshipSystem.Api/Controllers/InternshipRegistrationController.cs +++ b/src/InternshipSystem.Api/Controllers/InternshipRegistrationController.cs @@ -4,8 +4,10 @@ using System.Threading; using System.Threading.Tasks; using AutoMapper; using InternshipSystem.Api.Queries; +using InternshipSystem.Api.Security; using InternshipSystem.Core; using InternshipSystem.Repository; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; @@ -35,6 +37,7 @@ namespace InternshipSystem.Api.Controllers [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [Authorize] public async Task SubmitRegistrationForm([FromBody] RegistrationFormQuery registrationQuery, CancellationToken cancellationToken) { @@ -46,7 +49,14 @@ namespace InternshipSystem.Api.Controllers return BadRequest(validationResult.ToString()); } - var internship = await GetCurrentStudentInternship(); + var personNumber = long.Parse(User.FindFirst(InternshipClaims.PersonNumber).Value); + + var edition = await Context.Editions.FindAsync(personNumber); + + var internship = await Context.Entry(edition) + .Collection(e => e.Internships) + .Query() + .SingleAsync(i => i.Student.Id == personNumber, cancellationToken); var internshipRegistration = internship.InternshipRegistration; @@ -85,11 +95,6 @@ namespace InternshipSystem.Api.Controllers internshipRegistration.Start = registrationQuery.Start ?? internshipRegistration.Start; internshipRegistration.End = registrationQuery.End ?? internshipRegistration.End; - var editionId = Guid.Parse(User.Claims.First(c => c.Type == "Edition").Value); - - var edition = await Context.Editions - .FirstAsync(e => e.Id == editionId, cancellationToken); - if (registrationQuery.Type.HasValue && edition.IsInternshipTypeAllowed(registrationQuery.Type.Value)) { return BadRequest("Edition doesn't have this type of employment in available employments type"); @@ -100,19 +105,5 @@ namespace InternshipSystem.Api.Controllers await Context.SaveChangesAsync(cancellationToken); return Ok(); } - - private async Task GetCurrentStudentInternship() - { - // TODO: rewrite when authentication will be implemented - var edition = await Context - .Editions - .FirstAsync(); - - return await Context.Entry(edition) - .Collection(e => e.Internships) - .Query() - .Include(i => i.InternshipRegistration) - .FirstAsync(); - } } } \ No newline at end of file diff --git a/src/InternshipSystem.Api/Controllers/RegistrationController.cs b/src/InternshipSystem.Api/Controllers/RegistrationController.cs index 26931fc..8ecc086 100644 --- a/src/InternshipSystem.Api/Controllers/RegistrationController.cs +++ b/src/InternshipSystem.Api/Controllers/RegistrationController.cs @@ -35,19 +35,21 @@ namespace InternshipSystem.Api.Controllers [ProducesResponseType(StatusCodes.Status400BadRequest)] [ProducesResponseType(StatusCodes.Status404NotFound)] [Authorize] - public async Task RegisterStudentForEdition([FromBody] Guid registrationCode, User user, CancellationToken token) + public async Task RegisterStudentForEdition([FromBody] Guid registrationCode, CancellationToken token) { - var edition = await _context.Editions.FindAsync(registrationCode); + var edition = await _context.Editions.FindAsync(registrationCode, token); if (edition == null) { return NotFound(); } - - var student = await _context.Students.FindAsync(user.PersonNumber); + + var personNumber = long.Parse(User.FindFirst(InternshipClaims.PersonNumber).Value); + + var student = await _context.Students.FindAsync(personNumber, token); edition.RegisterInternship(student); - await _context.SaveChangesAsync(); + await _context.SaveChangesAsync(token); return Ok(); } diff --git a/src/InternshipSystem.Api/Security/User.cs b/src/InternshipSystem.Api/Security/User.cs index b569d6f..326547a 100644 --- a/src/InternshipSystem.Api/Security/User.cs +++ b/src/InternshipSystem.Api/Security/User.cs @@ -6,7 +6,6 @@ namespace InternshipSystem.Api.Security { public long PersonNumber { get; set; } public string Name { get; set; } - public Guid? EditionId { get; set; } } } \ No newline at end of file diff --git a/src/InternshipSystem.Repository/Migrations/20200828182238_Init.Designer.cs b/src/InternshipSystem.Repository/Migrations/20200828182238_Init.Designer.cs deleted file mode 100644 index 0f84439..0000000 --- a/src/InternshipSystem.Repository/Migrations/20200828182238_Init.Designer.cs +++ /dev/null @@ -1,609 +0,0 @@ -// -using System; -using InternshipSystem.Repository; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -namespace InternshipSystem.Repository.Migrations -{ - [DbContext(typeof(InternshipDbContext))] - [Migration("20200828182238_Init")] - partial class Init - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) - .HasAnnotation("ProductVersion", "3.1.4") - .HasAnnotation("Relational:MaxIdentifierLength", 63); - - modelBuilder.Entity("InternshipSystem.Core.BranchOffice", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("CompanyId") - .HasColumnName("company_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_branch_office"); - - b.HasIndex("CompanyId") - .HasName("ix_branch_office_company_id"); - - b.ToTable("branch_office"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Company", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("text"); - - b.Property("Nip") - .IsRequired() - .HasColumnName("nip") - .HasColumnType("text"); - - b.Property("Range") - .HasColumnName("range") - .HasColumnType("integer"); - - b.Property("SiteAddress") - .HasColumnName("site_address") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_companies"); - - b.ToTable("companies"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Course", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_course"); - - b.ToTable("course"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Document", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.Property("InternshipId") - .HasColumnName("internship_id") - .HasColumnType("bigint"); - - b.Property("InternshipId1") - .HasColumnName("internship_id1") - .HasColumnType("bigint"); - - b.Property("RejectionReason") - .HasColumnName("rejection_reason") - .HasColumnType("text"); - - b.Property("Scan") - .HasColumnName("scan") - .HasColumnType("bytea"); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_document"); - - b.HasIndex("InternshipId") - .HasName("ix_document_internship_id"); - - b.HasIndex("InternshipId1") - .HasName("ix_document_internship_id1"); - - b.ToTable("document"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Edition", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("uuid"); - - b.Property("CourseId") - .HasColumnName("course_id") - .HasColumnType("bigint"); - - b.Property("EditionFinish") - .HasColumnName("edition_finish") - .HasColumnType("timestamp without time zone"); - - b.Property("EditionStart") - .HasColumnName("edition_start") - .HasColumnType("timestamp without time zone"); - - b.Property("ReportingStart") - .HasColumnName("reporting_start") - .HasColumnType("timestamp without time zone"); - - b.HasKey("Id") - .HasName("pk_editions"); - - b.HasIndex("CourseId") - .HasName("ix_editions_course_id"); - - b.ToTable("editions"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Entity.Internship.InternshipSubject", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_internship_subject"); - - b.ToTable("internship_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Entity.Internship.InternshipType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_internship_type"); - - b.ToTable("internship_type"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Internship", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("EditionId") - .HasColumnName("edition_id") - .HasColumnType("uuid"); - - b.Property("Grade") - .HasColumnName("grade") - .HasColumnType("real"); - - b.Property("InternshipProgramId") - .HasColumnName("internship_program_id") - .HasColumnType("bigint"); - - b.Property("InternshipRegistrationId") - .HasColumnName("internship_registration_id") - .HasColumnType("bigint"); - - b.Property("ReportId") - .HasColumnName("report_id") - .HasColumnType("bigint"); - - b.Property("StudentId") - .HasColumnName("student_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_internship"); - - b.HasIndex("EditionId") - .HasName("ix_internship_edition_id"); - - b.HasIndex("InternshipProgramId") - .HasName("ix_internship_internship_program_id"); - - b.HasIndex("InternshipRegistrationId") - .HasName("ix_internship_internship_registration_id"); - - b.HasIndex("ReportId") - .HasName("ix_internship_report_id"); - - b.HasIndex("StudentId") - .HasName("ix_internship_student_id"); - - b.ToTable("internship"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipProgram", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_internship_program"); - - b.ToTable("internship_program"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipRegistration", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("BranchAddressId") - .HasColumnName("branch_address_id") - .HasColumnType("bigint"); - - b.Property("CompanyId") - .HasColumnName("company_id") - .HasColumnType("bigint"); - - b.Property("End") - .HasColumnName("end") - .HasColumnType("timestamp without time zone"); - - b.Property("Start") - .HasColumnName("start") - .HasColumnType("timestamp without time zone"); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.Property("TypeId") - .HasColumnName("type_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_internship_registration"); - - b.HasIndex("BranchAddressId") - .HasName("ix_internship_registration_branch_address_id"); - - b.HasIndex("CompanyId") - .HasName("ix_internship_registration_company_id"); - - b.HasIndex("TypeId") - .HasName("ix_internship_registration_type_id"); - - b.ToTable("internship_registration"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Report", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_report"); - - b.ToTable("report"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Student", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("AlbumNumber") - .HasColumnName("album_number") - .HasColumnType("integer"); - - b.Property("Email") - .HasColumnName("email") - .HasColumnType("text"); - - b.Property("FirstName") - .HasColumnName("first_name") - .HasColumnType("text"); - - b.Property("LastName") - .HasColumnName("last_name") - .HasColumnType("text"); - - b.Property("Semester") - .HasColumnName("semester") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_student"); - - b.ToTable("student"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.EditionSubject", b => - { - b.Property("EditionId") - .HasColumnName("edition_id") - .HasColumnType("uuid"); - - b.Property("InternshipSubjectId") - .HasColumnName("internship_subject_id") - .HasColumnType("bigint"); - - b.HasKey("EditionId", "InternshipSubjectId") - .HasName("pk_edition_subject"); - - b.HasIndex("InternshipSubjectId") - .HasName("ix_edition_subject_internship_subject_id"); - - b.ToTable("edition_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.ProgramSubject", b => - { - b.Property("InternshipProgramId") - .HasColumnName("internship_program_id") - .HasColumnType("bigint"); - - b.Property("InternshipSubjectId") - .HasColumnName("internship_subject_id") - .HasColumnType("bigint"); - - b.HasKey("InternshipProgramId", "InternshipSubjectId") - .HasName("pk_program_subject"); - - b.HasIndex("InternshipSubjectId") - .HasName("ix_program_subject_internship_subject_id"); - - b.ToTable("program_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.BranchOffice", b => - { - b.HasOne("InternshipSystem.Core.Company", null) - .WithMany("Branches") - .HasForeignKey("CompanyId") - .HasConstraintName("fk_branch_office_companies_company_id"); - - b.OwnsOne("InternshipSystem.Core.BranchAddress", "Address", b1 => - { - b1.Property("BranchOfficeId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b1.Property("Building") - .HasColumnName("building") - .HasColumnType("text"); - - b1.Property("City") - .HasColumnName("city") - .HasColumnType("text"); - - b1.Property("Country") - .HasColumnName("country") - .HasColumnType("text"); - - b1.Property("PostalCode") - .HasColumnName("postal_code") - .HasColumnType("text"); - - b1.Property("Street") - .HasColumnName("street") - .HasColumnType("text"); - - b1.HasKey("BranchOfficeId") - .HasName("pk_branch_office"); - - b1.ToTable("branch_office"); - - b1.WithOwner() - .HasForeignKey("BranchOfficeId") - .HasConstraintName("fk_branch_address_branch_office_branch_office_id"); - }); - }); - - modelBuilder.Entity("InternshipSystem.Core.Document", b => - { - b.HasOne("InternshipSystem.Core.Internship", null) - .WithMany("Approvals") - .HasForeignKey("InternshipId") - .HasConstraintName("fk_document_internship_internship_id"); - - b.HasOne("InternshipSystem.Core.Internship", null) - .WithMany("Documentation") - .HasForeignKey("InternshipId1") - .HasConstraintName("fk_document_internship_internship_id1"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Edition", b => - { - b.HasOne("InternshipSystem.Core.Course", "Course") - .WithMany() - .HasForeignKey("CourseId") - .HasConstraintName("fk_editions_course_course_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Internship", b => - { - b.HasOne("InternshipSystem.Core.Edition", null) - .WithMany("Internships") - .HasForeignKey("EditionId") - .HasConstraintName("fk_internship_editions_edition_id"); - - b.HasOne("InternshipSystem.Core.InternshipProgram", "InternshipProgram") - .WithMany() - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_internship_internship_program_internship_program_id"); - - b.HasOne("InternshipSystem.Core.InternshipRegistration", "InternshipRegistration") - .WithMany() - .HasForeignKey("InternshipRegistrationId") - .HasConstraintName("fk_internship_internship_registration_internship_registration_"); - - b.HasOne("InternshipSystem.Core.Report", "Report") - .WithMany() - .HasForeignKey("ReportId") - .HasConstraintName("fk_internship_report_report_id"); - - b.HasOne("InternshipSystem.Core.Student", "Student") - .WithMany() - .HasForeignKey("StudentId") - .HasConstraintName("fk_internship_student_student_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipProgram", b => - { - b.OwnsOne("InternshipSystem.Core.Mentor", "Mentor", b1 => - { - b1.Property("InternshipProgramId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b1.Property("Email") - .HasColumnName("email") - .HasColumnType("text"); - - b1.Property("FirstName") - .HasColumnName("first_name") - .HasColumnType("text"); - - b1.Property("LastName") - .HasColumnName("last_name") - .HasColumnType("text"); - - b1.Property("PhoneNumber") - .IsRequired() - .HasColumnName("mentor_phone_number") - .HasColumnType("text"); - - b1.HasKey("InternshipProgramId") - .HasName("pk_internship_program"); - - b1.ToTable("internship_program"); - - b1.WithOwner() - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_mentor_internship_program_internship_program_id"); - }); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipRegistration", b => - { - b.HasOne("InternshipSystem.Core.BranchOffice", "BranchAddress") - .WithMany() - .HasForeignKey("BranchAddressId") - .HasConstraintName("fk_internship_registration_branch_office_branch_address_id"); - - b.HasOne("InternshipSystem.Core.Company", "Company") - .WithMany() - .HasForeignKey("CompanyId") - .HasConstraintName("fk_internship_registration_companies_company_id"); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipType", "Type") - .WithMany() - .HasForeignKey("TypeId") - .HasConstraintName("fk_internship_registration_internship_type_type_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.EditionSubject", b => - { - b.HasOne("InternshipSystem.Core.Edition", "Edition") - .WithMany("AvailableSubjects") - .HasForeignKey("EditionId") - .HasConstraintName("fk_edition_subject_editions_edition_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", "Subject") - .WithMany() - .HasForeignKey("InternshipSubjectId") - .HasConstraintName("fk_edition_subject_internship_subject_internship_subject_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.ProgramSubject", b => - { - b.HasOne("InternshipSystem.Core.InternshipProgram", "Program") - .WithMany("ChosenSubjects") - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_program_subject_internship_program_internship_program_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", "Subject") - .WithMany() - .HasForeignKey("InternshipSubjectId") - .HasConstraintName("fk_program_subject_internship_subject_internship_subject_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/InternshipSystem.Repository/Migrations/20200828182238_Init.cs b/src/InternshipSystem.Repository/Migrations/20200828182238_Init.cs deleted file mode 100644 index e1b6129..0000000 --- a/src/InternshipSystem.Repository/Migrations/20200828182238_Init.cs +++ /dev/null @@ -1,438 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -namespace InternshipSystem.Repository.Migrations -{ - public partial class Init : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "companies", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - nip = table.Column(nullable: false), - name = table.Column(nullable: true), - range = table.Column(nullable: false), - site_address = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_companies", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "course", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - name = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_course", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "internship_program", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - first_name = table.Column(nullable: true), - last_name = table.Column(nullable: true), - email = table.Column(nullable: true), - mentor_phone_number = table.Column(nullable: true), - state = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("pk_internship_program", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "internship_subject", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - description = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_internship_subject", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "internship_type", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - type = table.Column(nullable: true), - description = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_internship_type", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "report", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - state = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("pk_report", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "student", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - album_number = table.Column(nullable: false), - first_name = table.Column(nullable: true), - last_name = table.Column(nullable: true), - email = table.Column(nullable: true), - semester = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("pk_student", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "branch_office", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - street = table.Column(nullable: true), - building = table.Column(nullable: true), - city = table.Column(nullable: true), - postal_code = table.Column(nullable: true), - country = table.Column(nullable: true), - company_id = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_branch_office", x => x.id); - table.ForeignKey( - name: "fk_branch_office_companies_company_id", - column: x => x.company_id, - principalTable: "companies", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "editions", - columns: table => new - { - id = table.Column(nullable: false), - edition_start = table.Column(nullable: false), - edition_finish = table.Column(nullable: false), - reporting_start = table.Column(nullable: false), - course_id = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_editions", x => x.id); - table.ForeignKey( - name: "fk_editions_course_course_id", - column: x => x.course_id, - principalTable: "course", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "program_subject", - columns: table => new - { - internship_program_id = table.Column(nullable: false), - internship_subject_id = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("pk_program_subject", x => new { x.internship_program_id, x.internship_subject_id }); - table.ForeignKey( - name: "fk_program_subject_internship_program_internship_program_id", - column: x => x.internship_program_id, - principalTable: "internship_program", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "fk_program_subject_internship_subject_internship_subject_id", - column: x => x.internship_subject_id, - principalTable: "internship_subject", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "internship_registration", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - company_id = table.Column(nullable: true), - branch_address_id = table.Column(nullable: true), - start = table.Column(nullable: false), - end = table.Column(nullable: false), - type_id = table.Column(nullable: true), - state = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("pk_internship_registration", x => x.id); - table.ForeignKey( - name: "fk_internship_registration_branch_office_branch_address_id", - column: x => x.branch_address_id, - principalTable: "branch_office", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_registration_companies_company_id", - column: x => x.company_id, - principalTable: "companies", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_registration_internship_type_type_id", - column: x => x.type_id, - principalTable: "internship_type", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "edition_subject", - columns: table => new - { - edition_id = table.Column(nullable: false), - internship_subject_id = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("pk_edition_subject", x => new { x.edition_id, x.internship_subject_id }); - table.ForeignKey( - name: "fk_edition_subject_editions_edition_id", - column: x => x.edition_id, - principalTable: "editions", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "fk_edition_subject_internship_subject_internship_subject_id", - column: x => x.internship_subject_id, - principalTable: "internship_subject", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "internship", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - student_id = table.Column(nullable: true), - internship_registration_id = table.Column(nullable: true), - internship_program_id = table.Column(nullable: true), - report_id = table.Column(nullable: true), - grade = table.Column(nullable: false), - edition_id = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_internship", x => x.id); - table.ForeignKey( - name: "fk_internship_editions_edition_id", - column: x => x.edition_id, - principalTable: "editions", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_internship_program_internship_program_id", - column: x => x.internship_program_id, - principalTable: "internship_program", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_internship_registration_internship_registration_", - column: x => x.internship_registration_id, - principalTable: "internship_registration", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_report_report_id", - column: x => x.report_id, - principalTable: "report", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_student_student_id", - column: x => x.student_id, - principalTable: "student", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "document", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - description = table.Column(nullable: true), - scan = table.Column(nullable: true), - type = table.Column(nullable: false), - state = table.Column(nullable: false), - rejection_reason = table.Column(nullable: true), - internship_id = table.Column(nullable: true), - internship_id1 = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_document", x => x.id); - table.ForeignKey( - name: "fk_document_internship_internship_id", - column: x => x.internship_id, - principalTable: "internship", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_document_internship_internship_id1", - column: x => x.internship_id1, - principalTable: "internship", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateIndex( - name: "ix_branch_office_company_id", - table: "branch_office", - column: "company_id"); - - migrationBuilder.CreateIndex( - name: "ix_document_internship_id", - table: "document", - column: "internship_id"); - - migrationBuilder.CreateIndex( - name: "ix_document_internship_id1", - table: "document", - column: "internship_id1"); - - migrationBuilder.CreateIndex( - name: "ix_edition_subject_internship_subject_id", - table: "edition_subject", - column: "internship_subject_id"); - - migrationBuilder.CreateIndex( - name: "ix_editions_course_id", - table: "editions", - column: "course_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_edition_id", - table: "internship", - column: "edition_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_internship_program_id", - table: "internship", - column: "internship_program_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_internship_registration_id", - table: "internship", - column: "internship_registration_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_report_id", - table: "internship", - column: "report_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_student_id", - table: "internship", - column: "student_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_registration_branch_address_id", - table: "internship_registration", - column: "branch_address_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_registration_company_id", - table: "internship_registration", - column: "company_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_registration_type_id", - table: "internship_registration", - column: "type_id"); - - migrationBuilder.CreateIndex( - name: "ix_program_subject_internship_subject_id", - table: "program_subject", - column: "internship_subject_id"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "document"); - - migrationBuilder.DropTable( - name: "edition_subject"); - - migrationBuilder.DropTable( - name: "program_subject"); - - migrationBuilder.DropTable( - name: "internship"); - - migrationBuilder.DropTable( - name: "internship_subject"); - - migrationBuilder.DropTable( - name: "editions"); - - migrationBuilder.DropTable( - name: "internship_program"); - - migrationBuilder.DropTable( - name: "internship_registration"); - - migrationBuilder.DropTable( - name: "report"); - - migrationBuilder.DropTable( - name: "student"); - - migrationBuilder.DropTable( - name: "course"); - - migrationBuilder.DropTable( - name: "branch_office"); - - migrationBuilder.DropTable( - name: "internship_type"); - - migrationBuilder.DropTable( - name: "companies"); - } - } -} diff --git a/src/InternshipSystem.Repository/Migrations/InternshipDbContextModelSnapshot.cs b/src/InternshipSystem.Repository/Migrations/InternshipDbContextModelSnapshot.cs deleted file mode 100644 index 59b3a8f..0000000 --- a/src/InternshipSystem.Repository/Migrations/InternshipDbContextModelSnapshot.cs +++ /dev/null @@ -1,607 +0,0 @@ -// -using System; -using InternshipSystem.Repository; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -namespace InternshipSystem.Repository.Migrations -{ - [DbContext(typeof(InternshipDbContext))] - partial class InternshipDbContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) - .HasAnnotation("ProductVersion", "3.1.4") - .HasAnnotation("Relational:MaxIdentifierLength", 63); - - modelBuilder.Entity("InternshipSystem.Core.BranchOffice", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("CompanyId") - .HasColumnName("company_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_branch_office"); - - b.HasIndex("CompanyId") - .HasName("ix_branch_office_company_id"); - - b.ToTable("branch_office"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Company", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("text"); - - b.Property("Nip") - .IsRequired() - .HasColumnName("nip") - .HasColumnType("text"); - - b.Property("Range") - .HasColumnName("range") - .HasColumnType("integer"); - - b.Property("SiteAddress") - .HasColumnName("site_address") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_companies"); - - b.ToTable("companies"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Course", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_course"); - - b.ToTable("course"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Document", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.Property("InternshipId") - .HasColumnName("internship_id") - .HasColumnType("bigint"); - - b.Property("InternshipId1") - .HasColumnName("internship_id1") - .HasColumnType("bigint"); - - b.Property("RejectionReason") - .HasColumnName("rejection_reason") - .HasColumnType("text"); - - b.Property("Scan") - .HasColumnName("scan") - .HasColumnType("bytea"); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_document"); - - b.HasIndex("InternshipId") - .HasName("ix_document_internship_id"); - - b.HasIndex("InternshipId1") - .HasName("ix_document_internship_id1"); - - b.ToTable("document"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Edition", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("uuid"); - - b.Property("CourseId") - .HasColumnName("course_id") - .HasColumnType("bigint"); - - b.Property("EditionFinish") - .HasColumnName("edition_finish") - .HasColumnType("timestamp without time zone"); - - b.Property("EditionStart") - .HasColumnName("edition_start") - .HasColumnType("timestamp without time zone"); - - b.Property("ReportingStart") - .HasColumnName("reporting_start") - .HasColumnType("timestamp without time zone"); - - b.HasKey("Id") - .HasName("pk_editions"); - - b.HasIndex("CourseId") - .HasName("ix_editions_course_id"); - - b.ToTable("editions"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Entity.Internship.InternshipSubject", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_internship_subject"); - - b.ToTable("internship_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Entity.Internship.InternshipType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_internship_type"); - - b.ToTable("internship_type"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Internship", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("EditionId") - .HasColumnName("edition_id") - .HasColumnType("uuid"); - - b.Property("Grade") - .HasColumnName("grade") - .HasColumnType("real"); - - b.Property("InternshipProgramId") - .HasColumnName("internship_program_id") - .HasColumnType("bigint"); - - b.Property("InternshipRegistrationId") - .HasColumnName("internship_registration_id") - .HasColumnType("bigint"); - - b.Property("ReportId") - .HasColumnName("report_id") - .HasColumnType("bigint"); - - b.Property("StudentId") - .HasColumnName("student_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_internship"); - - b.HasIndex("EditionId") - .HasName("ix_internship_edition_id"); - - b.HasIndex("InternshipProgramId") - .HasName("ix_internship_internship_program_id"); - - b.HasIndex("InternshipRegistrationId") - .HasName("ix_internship_internship_registration_id"); - - b.HasIndex("ReportId") - .HasName("ix_internship_report_id"); - - b.HasIndex("StudentId") - .HasName("ix_internship_student_id"); - - b.ToTable("internship"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipProgram", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_internship_program"); - - b.ToTable("internship_program"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipRegistration", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("BranchAddressId") - .HasColumnName("branch_address_id") - .HasColumnType("bigint"); - - b.Property("CompanyId") - .HasColumnName("company_id") - .HasColumnType("bigint"); - - b.Property("End") - .HasColumnName("end") - .HasColumnType("timestamp without time zone"); - - b.Property("Start") - .HasColumnName("start") - .HasColumnType("timestamp without time zone"); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.Property("TypeId") - .HasColumnName("type_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_internship_registration"); - - b.HasIndex("BranchAddressId") - .HasName("ix_internship_registration_branch_address_id"); - - b.HasIndex("CompanyId") - .HasName("ix_internship_registration_company_id"); - - b.HasIndex("TypeId") - .HasName("ix_internship_registration_type_id"); - - b.ToTable("internship_registration"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Report", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_report"); - - b.ToTable("report"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Student", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("AlbumNumber") - .HasColumnName("album_number") - .HasColumnType("integer"); - - b.Property("Email") - .HasColumnName("email") - .HasColumnType("text"); - - b.Property("FirstName") - .HasColumnName("first_name") - .HasColumnType("text"); - - b.Property("LastName") - .HasColumnName("last_name") - .HasColumnType("text"); - - b.Property("Semester") - .HasColumnName("semester") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_student"); - - b.ToTable("student"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.EditionSubject", b => - { - b.Property("EditionId") - .HasColumnName("edition_id") - .HasColumnType("uuid"); - - b.Property("InternshipSubjectId") - .HasColumnName("internship_subject_id") - .HasColumnType("bigint"); - - b.HasKey("EditionId", "InternshipSubjectId") - .HasName("pk_edition_subject"); - - b.HasIndex("InternshipSubjectId") - .HasName("ix_edition_subject_internship_subject_id"); - - b.ToTable("edition_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.ProgramSubject", b => - { - b.Property("InternshipProgramId") - .HasColumnName("internship_program_id") - .HasColumnType("bigint"); - - b.Property("InternshipSubjectId") - .HasColumnName("internship_subject_id") - .HasColumnType("bigint"); - - b.HasKey("InternshipProgramId", "InternshipSubjectId") - .HasName("pk_program_subject"); - - b.HasIndex("InternshipSubjectId") - .HasName("ix_program_subject_internship_subject_id"); - - b.ToTable("program_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.BranchOffice", b => - { - b.HasOne("InternshipSystem.Core.Company", null) - .WithMany("Branches") - .HasForeignKey("CompanyId") - .HasConstraintName("fk_branch_office_companies_company_id"); - - b.OwnsOne("InternshipSystem.Core.BranchAddress", "Address", b1 => - { - b1.Property("BranchOfficeId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b1.Property("Building") - .HasColumnName("building") - .HasColumnType("text"); - - b1.Property("City") - .HasColumnName("city") - .HasColumnType("text"); - - b1.Property("Country") - .HasColumnName("country") - .HasColumnType("text"); - - b1.Property("PostalCode") - .HasColumnName("postal_code") - .HasColumnType("text"); - - b1.Property("Street") - .HasColumnName("street") - .HasColumnType("text"); - - b1.HasKey("BranchOfficeId") - .HasName("pk_branch_office"); - - b1.ToTable("branch_office"); - - b1.WithOwner() - .HasForeignKey("BranchOfficeId") - .HasConstraintName("fk_branch_address_branch_office_branch_office_id"); - }); - }); - - modelBuilder.Entity("InternshipSystem.Core.Document", b => - { - b.HasOne("InternshipSystem.Core.Internship", null) - .WithMany("Approvals") - .HasForeignKey("InternshipId") - .HasConstraintName("fk_document_internship_internship_id"); - - b.HasOne("InternshipSystem.Core.Internship", null) - .WithMany("Documentation") - .HasForeignKey("InternshipId1") - .HasConstraintName("fk_document_internship_internship_id1"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Edition", b => - { - b.HasOne("InternshipSystem.Core.Course", "Course") - .WithMany() - .HasForeignKey("CourseId") - .HasConstraintName("fk_editions_course_course_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Internship", b => - { - b.HasOne("InternshipSystem.Core.Edition", null) - .WithMany("Internships") - .HasForeignKey("EditionId") - .HasConstraintName("fk_internship_editions_edition_id"); - - b.HasOne("InternshipSystem.Core.InternshipProgram", "InternshipProgram") - .WithMany() - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_internship_internship_program_internship_program_id"); - - b.HasOne("InternshipSystem.Core.InternshipRegistration", "InternshipRegistration") - .WithMany() - .HasForeignKey("InternshipRegistrationId") - .HasConstraintName("fk_internship_internship_registration_internship_registration_"); - - b.HasOne("InternshipSystem.Core.Report", "Report") - .WithMany() - .HasForeignKey("ReportId") - .HasConstraintName("fk_internship_report_report_id"); - - b.HasOne("InternshipSystem.Core.Student", "Student") - .WithMany() - .HasForeignKey("StudentId") - .HasConstraintName("fk_internship_student_student_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipProgram", b => - { - b.OwnsOne("InternshipSystem.Core.Mentor", "Mentor", b1 => - { - b1.Property("InternshipProgramId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b1.Property("Email") - .HasColumnName("email") - .HasColumnType("text"); - - b1.Property("FirstName") - .HasColumnName("first_name") - .HasColumnType("text"); - - b1.Property("LastName") - .HasColumnName("last_name") - .HasColumnType("text"); - - b1.Property("PhoneNumber") - .IsRequired() - .HasColumnName("mentor_phone_number") - .HasColumnType("text"); - - b1.HasKey("InternshipProgramId") - .HasName("pk_internship_program"); - - b1.ToTable("internship_program"); - - b1.WithOwner() - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_mentor_internship_program_internship_program_id"); - }); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipRegistration", b => - { - b.HasOne("InternshipSystem.Core.BranchOffice", "BranchAddress") - .WithMany() - .HasForeignKey("BranchAddressId") - .HasConstraintName("fk_internship_registration_branch_office_branch_address_id"); - - b.HasOne("InternshipSystem.Core.Company", "Company") - .WithMany() - .HasForeignKey("CompanyId") - .HasConstraintName("fk_internship_registration_companies_company_id"); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipType", "Type") - .WithMany() - .HasForeignKey("TypeId") - .HasConstraintName("fk_internship_registration_internship_type_type_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.EditionSubject", b => - { - b.HasOne("InternshipSystem.Core.Edition", "Edition") - .WithMany("AvailableSubjects") - .HasForeignKey("EditionId") - .HasConstraintName("fk_edition_subject_editions_edition_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", "Subject") - .WithMany() - .HasForeignKey("InternshipSubjectId") - .HasConstraintName("fk_edition_subject_internship_subject_internship_subject_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.ProgramSubject", b => - { - b.HasOne("InternshipSystem.Core.InternshipProgram", "Program") - .WithMany("ChosenSubjects") - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_program_subject_internship_program_internship_program_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", "Subject") - .WithMany() - .HasForeignKey("InternshipSubjectId") - .HasConstraintName("fk_program_subject_internship_subject_internship_subject_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -}