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