source: iknow-api/Migrations/20251216191800_InitialCreate.Designer.cs@ 2e17229

Last change on this file since 2e17229 was 2e17229, checked in by Stefan-Saveski <stefansaveski19@…>, 9 months ago

Upgraded database, added get subjects and get passed subjects.

  • Property mode set to 100644
File size: 26.4 KB
Line 
1// <auto-generated />
2using System;
3using Microsoft.EntityFrameworkCore;
4using Microsoft.EntityFrameworkCore.Infrastructure;
5using Microsoft.EntityFrameworkCore.Migrations;
6using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
7using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
8using iknow_api.Data;
9
10#nullable disable
11
12namespace iknow_api.Migrations
13{
14 [DbContext(typeof(AppDbContext))]
15 [Migration("20251216191800_InitialCreate")]
16 partial class InitialCreate
17 {
18 /// <inheritdoc />
19 protected override void BuildTargetModel(ModelBuilder modelBuilder)
20 {
21#pragma warning disable 612, 618
22 modelBuilder
23 .HasAnnotation("ProductVersion", "9.0.10")
24 .HasAnnotation("Relational:MaxIdentifierLength", 63);
25
26 NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
27
28 modelBuilder.Entity("iknow_api.Models.ActiveSemesters", b =>
29 {
30 b.Property<int>("Id")
31 .ValueGeneratedOnAdd()
32 .HasColumnType("integer");
33
34 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
35
36 b.Property<int>("Type")
37 .HasColumnType("integer");
38
39 b.Property<int>("Year")
40 .HasColumnType("integer");
41
42 b.HasKey("Id");
43
44 b.ToTable("ActiveSemesters");
45 });
46
47 modelBuilder.Entity("iknow_api.Models.ContactInfo", b =>
48 {
49 b.Property<int>("Id")
50 .ValueGeneratedOnAdd()
51 .HasColumnType("integer");
52
53 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
54
55 b.Property<string>("Address")
56 .HasColumnType("text");
57
58 b.Property<string>("City")
59 .HasColumnType("text");
60
61 b.Property<string>("MicrosoftEmail")
62 .HasColumnType("text");
63
64 b.Property<string>("Municipality")
65 .HasColumnType("text");
66
67 b.Property<string>("PhoneNumber")
68 .HasColumnType("text");
69
70 b.Property<int>("UserId")
71 .HasColumnType("integer");
72
73 b.HasKey("Id");
74
75 b.HasIndex("UserId")
76 .IsUnique();
77
78 b.ToTable("ContactInfo");
79 });
80
81 modelBuilder.Entity("iknow_api.Models.DependencySubject", b =>
82 {
83 b.Property<int>("SubjectId")
84 .HasColumnType("integer");
85
86 b.Property<int>("DependencyId")
87 .HasColumnType("integer");
88
89 b.HasKey("SubjectId", "DependencyId");
90
91 b.HasIndex("DependencyId");
92
93 b.ToTable("DependencySubjects");
94 });
95
96 modelBuilder.Entity("iknow_api.Models.Documents", b =>
97 {
98 b.Property<int>("Id")
99 .ValueGeneratedOnAdd()
100 .HasColumnType("integer");
101
102 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
103
104 b.Property<string>("Body")
105 .HasColumnType("text");
106
107 b.Property<int>("Cost")
108 .HasColumnType("integer");
109
110 b.Property<string>("Name")
111 .HasColumnType("text");
112
113 b.HasKey("Id");
114
115 b.ToTable("Documents");
116 });
117
118 modelBuilder.Entity("iknow_api.Models.EnrolledSemesters", b =>
119 {
120 b.Property<int>("Id")
121 .HasColumnType("integer");
122
123 b.Property<DateTime>("CratedAt")
124 .HasColumnType("timestamp with time zone");
125
126 b.Property<DateTime>("LastChange")
127 .HasColumnType("timestamp with time zone");
128
129 b.Property<int>("MajorId")
130 .HasColumnType("integer");
131
132 b.Property<string>("Note")
133 .HasColumnType("text");
134
135 b.Property<int>("QuotaType")
136 .HasColumnType("integer");
137
138 b.Property<int>("SemesterId")
139 .HasColumnType("integer");
140
141 b.Property<string>("StudentComment")
142 .HasColumnType("text");
143
144 b.Property<int>("UserId")
145 .HasColumnType("integer");
146
147 b.Property<DateTime>("Verified")
148 .HasColumnType("timestamp with time zone");
149
150 b.HasKey("Id");
151
152 b.HasIndex("MajorId");
153
154 b.HasIndex("UserId");
155
156 b.ToTable("EnrolledSemesters");
157 });
158
159 modelBuilder.Entity("iknow_api.Models.EnrollmentInfo", b =>
160 {
161 b.Property<int>("Id")
162 .ValueGeneratedOnAdd()
163 .HasColumnType("integer");
164
165 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
166
167 b.Property<int>("EnrollmentYear")
168 .HasColumnType("integer");
169
170 b.Property<int>("MajorId")
171 .HasColumnType("integer");
172
173 b.Property<int>("Quota")
174 .HasColumnType("integer");
175
176 b.Property<string>("StudyStatus")
177 .HasColumnType("text");
178
179 b.Property<string>("StudyType")
180 .HasColumnType("text");
181
182 b.Property<int>("UserId")
183 .HasColumnType("integer");
184
185 b.HasKey("Id");
186
187 b.HasIndex("MajorId");
188
189 b.HasIndex("UserId")
190 .IsUnique();
191
192 b.ToTable("EnrollmentInfo");
193 });
194
195 modelBuilder.Entity("iknow_api.Models.HighSchool", b =>
196 {
197 b.Property<int>("Id")
198 .ValueGeneratedOnAdd()
199 .HasColumnType("integer");
200
201 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
202
203 b.Property<float>("GPA")
204 .HasColumnType("real");
205
206 b.Property<int>("HighSchoolType")
207 .HasColumnType("integer");
208
209 b.Property<string>("StudyLanguage")
210 .HasColumnType("text");
211
212 b.Property<int>("UserId")
213 .HasColumnType("integer");
214
215 b.HasKey("Id");
216
217 b.HasIndex("UserId")
218 .IsUnique();
219
220 b.ToTable("HighSchool");
221 });
222
223 modelBuilder.Entity("iknow_api.Models.Major", b =>
224 {
225 b.Property<int>("Id")
226 .ValueGeneratedOnAdd()
227 .HasColumnType("integer");
228
229 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
230
231 b.Property<string>("Name")
232 .HasColumnType("text");
233
234 b.HasKey("Id");
235
236 b.ToTable("Majors");
237
238 b.HasData(
239 new
240 {
241 Id = 1,
242 Name = "PIT"
243 },
244 new
245 {
246 Id = 2,
247 Name = "SIIS"
248 },
249 new
250 {
251 Id = 3,
252 Name = "SEIS"
253 },
254 new
255 {
256 Id = 4,
257 Name = "KN"
258 });
259 });
260
261 modelBuilder.Entity("iknow_api.Models.MajorSubjects", b =>
262 {
263 b.Property<int>("MajorId")
264 .HasColumnType("integer");
265
266 b.Property<int>("SubjectId")
267 .HasColumnType("integer");
268
269 b.Property<int>("Accreditation")
270 .HasColumnType("integer");
271
272 b.Property<int>("MandatorySemester")
273 .HasColumnType("integer");
274
275 b.HasKey("MajorId", "SubjectId");
276
277 b.HasIndex("SubjectId");
278
279 b.ToTable("MajorSubjects");
280 });
281
282 modelBuilder.Entity("iknow_api.Models.PassedSubject", b =>
283 {
284 b.Property<int>("Id")
285 .ValueGeneratedOnAdd()
286 .HasColumnType("integer");
287
288 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
289
290 b.Property<DateTime>("DatePassed")
291 .HasColumnType("timestamp with time zone");
292
293 b.Property<int>("Grade")
294 .HasColumnType("integer");
295
296 b.Property<int>("SemesterSubjectId")
297 .HasColumnType("integer");
298
299 b.HasKey("Id");
300
301 b.HasIndex("SemesterSubjectId")
302 .IsUnique();
303
304 b.ToTable("PassedSubjects");
305 });
306
307 modelBuilder.Entity("iknow_api.Models.Payment", b =>
308 {
309 b.Property<int>("Id")
310 .ValueGeneratedOnAdd()
311 .HasColumnType("integer");
312
313 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
314
315 b.Property<int>("EnrollmentInfoId")
316 .HasColumnType("integer");
317
318 b.Property<int>("UserId")
319 .HasColumnType("integer");
320
321 b.HasKey("Id");
322
323 b.HasIndex("EnrollmentInfoId");
324
325 b.HasIndex("UserId");
326
327 b.ToTable("Payments");
328 });
329
330 modelBuilder.Entity("iknow_api.Models.ProfessorSubjects", b =>
331 {
332 b.Property<int>("ProfessorId")
333 .HasColumnType("integer");
334
335 b.Property<int>("SemesterId")
336 .HasColumnType("integer");
337
338 b.Property<int>("SubjectId")
339 .HasColumnType("integer");
340
341 b.HasKey("ProfessorId", "SemesterId", "SubjectId");
342
343 b.HasIndex("SemesterId");
344
345 b.HasIndex("SubjectId");
346
347 b.ToTable("ProfessorSubjects");
348 });
349
350 modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>
351 {
352 b.Property<int>("Id")
353 .ValueGeneratedOnAdd()
354 .HasColumnType("integer");
355
356 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
357
358 b.Property<DateTime>("ExpiresAt")
359 .HasColumnType("timestamp with time zone");
360
361 b.Property<bool>("IsValid")
362 .HasColumnType("boolean");
363
364 b.Property<string>("Token")
365 .HasColumnType("text");
366
367 b.Property<int>("UserId")
368 .HasColumnType("integer");
369
370 b.HasKey("Id");
371
372 b.HasIndex("UserId");
373
374 b.ToTable("RefreshToken");
375 });
376
377 modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
378 {
379 b.Property<int>("Id")
380 .ValueGeneratedOnAdd()
381 .HasColumnType("integer");
382
383 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
384
385 b.Property<int>("EnrolledSemesterId")
386 .HasColumnType("integer");
387
388 b.Property<int>("ProfessorId")
389 .HasColumnType("integer");
390
391 b.Property<bool>("Signature")
392 .HasColumnType("boolean");
393
394 b.Property<int>("SubjectId")
395 .HasColumnType("integer");
396
397 b.Property<int>("UserId")
398 .HasColumnType("integer");
399
400 b.HasKey("Id");
401
402 b.HasIndex("EnrolledSemesterId");
403
404 b.HasIndex("ProfessorId");
405
406 b.HasIndex("SubjectId");
407
408 b.HasIndex("UserId");
409
410 b.ToTable("SemesterSubjects");
411 });
412
413 modelBuilder.Entity("iknow_api.Models.Subject", b =>
414 {
415 b.Property<int>("Id")
416 .ValueGeneratedOnAdd()
417 .HasColumnType("integer");
418
419 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
420
421 b.Property<int?>("AwardedCredits")
422 .HasColumnType("integer");
423
424 b.Property<string>("Code")
425 .HasColumnType("text");
426
427 b.Property<int?>("DependencyCredit")
428 .HasColumnType("integer");
429
430 b.Property<string>("Name")
431 .HasColumnType("text");
432
433 b.HasKey("Id");
434
435 b.ToTable("Subjects");
436 });
437
438 modelBuilder.Entity("iknow_api.Models.User", b =>
439 {
440 b.Property<int>("Id")
441 .ValueGeneratedOnAdd()
442 .HasColumnType("integer");
443
444 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
445
446 b.Property<DateTime>("Bday")
447 .HasColumnType("timestamp with time zone");
448
449 b.Property<string>("Citizenship")
450 .HasColumnType("text");
451
452 b.Property<DateTime>("CreatedAt")
453 .HasColumnType("timestamp with time zone");
454
455 b.Property<string>("EMBG")
456 .HasColumnType("text");
457
458 b.Property<string>("Email")
459 .HasColumnType("text");
460
461 b.Property<string>("Gender")
462 .HasColumnType("text");
463
464 b.Property<string>("Index")
465 .HasColumnType("text");
466
467 b.Property<string>("MiddleName")
468 .HasColumnType("text");
469
470 b.Property<string>("Name")
471 .HasColumnType("text");
472
473 b.Property<string>("Nationality")
474 .HasColumnType("text");
475
476 b.Property<string>("PasswordHash")
477 .HasColumnType("text");
478
479 b.Property<int>("Role")
480 .HasColumnType("integer");
481
482 b.Property<string>("Surname")
483 .HasColumnType("text");
484
485 b.HasKey("Id");
486
487 b.ToTable("User");
488 });
489
490 modelBuilder.Entity("iknow_api.Models.UserDocuments", b =>
491 {
492 b.Property<int>("UserId")
493 .HasColumnType("integer");
494
495 b.Property<int>("DocumentId")
496 .HasColumnType("integer");
497
498 b.HasKey("UserId", "DocumentId");
499
500 b.HasIndex("DocumentId");
501
502 b.ToTable("UserDocuments");
503 });
504
505 modelBuilder.Entity("iknow_api.Models.ContactInfo", b =>
506 {
507 b.HasOne("iknow_api.Models.User", "User")
508 .WithOne("ContactInfo")
509 .HasForeignKey("iknow_api.Models.ContactInfo", "UserId")
510 .OnDelete(DeleteBehavior.Cascade)
511 .IsRequired();
512
513 b.Navigation("User");
514 });
515
516 modelBuilder.Entity("iknow_api.Models.DependencySubject", b =>
517 {
518 b.HasOne("iknow_api.Models.Subject", "Dependency")
519 .WithMany("Dependents")
520 .HasForeignKey("DependencyId")
521 .OnDelete(DeleteBehavior.Restrict)
522 .IsRequired();
523
524 b.HasOne("iknow_api.Models.Subject", "Subject")
525 .WithMany("Dependencies")
526 .HasForeignKey("SubjectId")
527 .OnDelete(DeleteBehavior.Restrict)
528 .IsRequired();
529
530 b.Navigation("Dependency");
531
532 b.Navigation("Subject");
533 });
534
535 modelBuilder.Entity("iknow_api.Models.EnrolledSemesters", b =>
536 {
537 b.HasOne("iknow_api.Models.ActiveSemesters", "Semester")
538 .WithMany("EnrolledSemesters")
539 .HasForeignKey("Id")
540 .OnDelete(DeleteBehavior.Restrict)
541 .IsRequired();
542
543 b.HasOne("iknow_api.Models.Major", "Major")
544 .WithMany()
545 .HasForeignKey("MajorId")
546 .OnDelete(DeleteBehavior.Cascade)
547 .IsRequired();
548
549 b.HasOne("iknow_api.Models.User", "User")
550 .WithMany()
551 .HasForeignKey("UserId")
552 .OnDelete(DeleteBehavior.Cascade)
553 .IsRequired();
554
555 b.Navigation("Major");
556
557 b.Navigation("Semester");
558
559 b.Navigation("User");
560 });
561
562 modelBuilder.Entity("iknow_api.Models.EnrollmentInfo", b =>
563 {
564 b.HasOne("iknow_api.Models.Major", "Major")
565 .WithMany()
566 .HasForeignKey("MajorId")
567 .OnDelete(DeleteBehavior.Cascade)
568 .IsRequired();
569
570 b.HasOne("iknow_api.Models.User", "User")
571 .WithOne("EnrollmentInfo")
572 .HasForeignKey("iknow_api.Models.EnrollmentInfo", "UserId")
573 .OnDelete(DeleteBehavior.Cascade)
574 .IsRequired();
575
576 b.Navigation("Major");
577
578 b.Navigation("User");
579 });
580
581 modelBuilder.Entity("iknow_api.Models.HighSchool", b =>
582 {
583 b.HasOne("iknow_api.Models.User", "User")
584 .WithOne("HighSchool")
585 .HasForeignKey("iknow_api.Models.HighSchool", "UserId")
586 .OnDelete(DeleteBehavior.Cascade)
587 .IsRequired();
588
589 b.Navigation("User");
590 });
591
592 modelBuilder.Entity("iknow_api.Models.MajorSubjects", b =>
593 {
594 b.HasOne("iknow_api.Models.Major", "Majors")
595 .WithMany("Subjects")
596 .HasForeignKey("MajorId")
597 .OnDelete(DeleteBehavior.Cascade)
598 .IsRequired();
599
600 b.HasOne("iknow_api.Models.Subject", "Subjects")
601 .WithMany("Majors")
602 .HasForeignKey("SubjectId")
603 .OnDelete(DeleteBehavior.Cascade)
604 .IsRequired();
605
606 b.Navigation("Majors");
607
608 b.Navigation("Subjects");
609 });
610
611 modelBuilder.Entity("iknow_api.Models.PassedSubject", b =>
612 {
613 b.HasOne("iknow_api.Models.SemesterSubject", "SemesterSubject")
614 .WithOne("PassedSubject")
615 .HasForeignKey("iknow_api.Models.PassedSubject", "SemesterSubjectId")
616 .OnDelete(DeleteBehavior.Cascade)
617 .IsRequired();
618
619 b.Navigation("SemesterSubject");
620 });
621
622 modelBuilder.Entity("iknow_api.Models.Payment", b =>
623 {
624 b.HasOne("iknow_api.Models.EnrolledSemesters", "EnrolledSemesters")
625 .WithMany("Users")
626 .HasForeignKey("EnrollmentInfoId")
627 .OnDelete(DeleteBehavior.Cascade)
628 .IsRequired();
629
630 b.HasOne("iknow_api.Models.User", "User")
631 .WithMany("EnrolledSemesters")
632 .HasForeignKey("UserId")
633 .OnDelete(DeleteBehavior.Cascade)
634 .IsRequired();
635
636 b.Navigation("EnrolledSemesters");
637
638 b.Navigation("User");
639 });
640
641 modelBuilder.Entity("iknow_api.Models.ProfessorSubjects", b =>
642 {
643 b.HasOne("iknow_api.Models.User", "Professor")
644 .WithMany()
645 .HasForeignKey("ProfessorId")
646 .OnDelete(DeleteBehavior.Cascade)
647 .IsRequired();
648
649 b.HasOne("iknow_api.Models.ActiveSemesters", "Semester")
650 .WithMany()
651 .HasForeignKey("SemesterId")
652 .OnDelete(DeleteBehavior.Cascade)
653 .IsRequired();
654
655 b.HasOne("iknow_api.Models.Subject", "Subject")
656 .WithMany()
657 .HasForeignKey("SubjectId")
658 .OnDelete(DeleteBehavior.Cascade)
659 .IsRequired();
660
661 b.Navigation("Professor");
662
663 b.Navigation("Semester");
664
665 b.Navigation("Subject");
666 });
667
668 modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>
669 {
670 b.HasOne("iknow_api.Models.User", "User")
671 .WithMany()
672 .HasForeignKey("UserId")
673 .OnDelete(DeleteBehavior.Cascade)
674 .IsRequired();
675
676 b.Navigation("User");
677 });
678
679 modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
680 {
681 b.HasOne("iknow_api.Models.EnrolledSemesters", "EnrolledSemester")
682 .WithMany("SemesterSubjects")
683 .HasForeignKey("EnrolledSemesterId")
684 .OnDelete(DeleteBehavior.Restrict)
685 .IsRequired();
686
687 b.HasOne("iknow_api.Models.User", "Professor")
688 .WithMany("TeachingSubjects")
689 .HasForeignKey("ProfessorId")
690 .OnDelete(DeleteBehavior.Restrict)
691 .IsRequired();
692
693 b.HasOne("iknow_api.Models.Subject", "Subject")
694 .WithMany("SemesterSubjects")
695 .HasForeignKey("SubjectId")
696 .OnDelete(DeleteBehavior.Restrict)
697 .IsRequired();
698
699 b.HasOne("iknow_api.Models.User", "User")
700 .WithMany("EnrolledSemesterUserSubjects")
701 .HasForeignKey("UserId")
702 .OnDelete(DeleteBehavior.Restrict)
703 .IsRequired();
704
705 b.Navigation("EnrolledSemester");
706
707 b.Navigation("Professor");
708
709 b.Navigation("Subject");
710
711 b.Navigation("User");
712 });
713
714 modelBuilder.Entity("iknow_api.Models.UserDocuments", b =>
715 {
716 b.HasOne("iknow_api.Models.Documents", "Documents")
717 .WithMany("User")
718 .HasForeignKey("DocumentId")
719 .OnDelete(DeleteBehavior.Cascade)
720 .IsRequired();
721
722 b.HasOne("iknow_api.Models.User", "User")
723 .WithMany("Documents")
724 .HasForeignKey("UserId")
725 .OnDelete(DeleteBehavior.Cascade)
726 .IsRequired();
727
728 b.Navigation("Documents");
729
730 b.Navigation("User");
731 });
732
733 modelBuilder.Entity("iknow_api.Models.ActiveSemesters", b =>
734 {
735 b.Navigation("EnrolledSemesters");
736 });
737
738 modelBuilder.Entity("iknow_api.Models.Documents", b =>
739 {
740 b.Navigation("User");
741 });
742
743 modelBuilder.Entity("iknow_api.Models.EnrolledSemesters", b =>
744 {
745 b.Navigation("SemesterSubjects");
746
747 b.Navigation("Users");
748 });
749
750 modelBuilder.Entity("iknow_api.Models.Major", b =>
751 {
752 b.Navigation("Subjects");
753 });
754
755 modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
756 {
757 b.Navigation("PassedSubject");
758 });
759
760 modelBuilder.Entity("iknow_api.Models.Subject", b =>
761 {
762 b.Navigation("Dependencies");
763
764 b.Navigation("Dependents");
765
766 b.Navigation("Majors");
767
768 b.Navigation("SemesterSubjects");
769 });
770
771 modelBuilder.Entity("iknow_api.Models.User", b =>
772 {
773 b.Navigation("ContactInfo");
774
775 b.Navigation("Documents");
776
777 b.Navigation("EnrolledSemesterUserSubjects");
778
779 b.Navigation("EnrolledSemesters");
780
781 b.Navigation("EnrollmentInfo");
782
783 b.Navigation("HighSchool");
784
785 b.Navigation("TeachingSubjects");
786 });
787#pragma warning restore 612, 618
788 }
789 }
790}
Note: See TracBrowser for help on using the repository browser.