source: iknow-api/Migrations/AppDbContextModelSnapshot.cs@ 39f76a9

Last change on this file since 39f76a9 was 39f76a9, checked in by imbrsk <boris696boris@…>, 10 months ago

feat: Add ActiveSemesters model and update related entities

  • Introduced ActiveSemesters model with properties: id, year, and Type.
  • Updated EnrolledSemesters model to include new properties: CratedAt, LastChange, Veryfied, Node, and StudentComment.
  • Modified Payment model to change the primary key and updated table name to Payments.
  • Added Signature property to SemesterSubject model and updated table name to SemesterSubjects.
  • Created new migration to reflect changes in the database schema.
  • Updated User model to include a reference to Payments.
  • Property mode set to 100644
File size: 24.6 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>("Node")
130 .HasColumnType("text");
131
132 b.Property<int>("QuotaType")
133 .HasColumnType("integer");
134
135 b.Property<string>("StudentComment")
136 .HasColumnType("text");
137
138 b.Property<int>("UserId")
139 .HasColumnType("integer");
140
141 b.Property<DateTime>("Veryfied")
142 .HasColumnType("timestamp with time zone");
143
144 b.HasKey("Id");
145
146 b.HasIndex("MajorId");
147
148 b.HasIndex("UserId");
149
150 b.ToTable("EnrolledSemesters");
151 });
152
153 modelBuilder.Entity("iknow_api.Models.EnrollmentInfo", b =>
154 {
155 b.Property<int>("Id")
156 .ValueGeneratedOnAdd()
157 .HasColumnType("integer");
158
159 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
160
161 b.Property<int>("MajorId")
162 .HasColumnType("integer");
163
164 b.Property<string>("StudyStatus")
165 .HasColumnType("text");
166
167 b.Property<string>("StudyType")
168 .HasColumnType("text");
169
170 b.Property<int>("UserId")
171 .HasColumnType("integer");
172
173 b.Property<int>("enrollmentYear")
174 .HasColumnType("integer");
175
176 b.Property<int>("quota")
177 .HasColumnType("integer");
178
179 b.HasKey("Id");
180
181 b.HasIndex("MajorId");
182
183 b.HasIndex("UserId")
184 .IsUnique();
185
186 b.ToTable("EnrollmentInfo");
187 });
188
189 modelBuilder.Entity("iknow_api.Models.HighSchool", b =>
190 {
191 b.Property<int>("Id")
192 .ValueGeneratedOnAdd()
193 .HasColumnType("integer");
194
195 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
196
197 b.Property<float>("GPA")
198 .HasColumnType("real");
199
200 b.Property<int>("HighSchoolType")
201 .HasColumnType("integer");
202
203 b.Property<string>("StudyLanguage")
204 .HasColumnType("text");
205
206 b.Property<int>("UserId")
207 .HasColumnType("integer");
208
209 b.HasKey("Id");
210
211 b.HasIndex("UserId")
212 .IsUnique();
213
214 b.ToTable("HighSchool");
215 });
216
217 modelBuilder.Entity("iknow_api.Models.Major", b =>
218 {
219 b.Property<int>("Id")
220 .ValueGeneratedOnAdd()
221 .HasColumnType("integer");
222
223 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
224
225 b.Property<string>("Name")
226 .HasColumnType("text");
227
228 b.HasKey("Id");
229
230 b.ToTable("Majors");
231
232 b.HasData(
233 new
234 {
235 Id = 1,
236 Name = "PIT"
237 },
238 new
239 {
240 Id = 2,
241 Name = "SIIS"
242 },
243 new
244 {
245 Id = 3,
246 Name = "SEIS"
247 },
248 new
249 {
250 Id = 4,
251 Name = "KN"
252 });
253 });
254
255 modelBuilder.Entity("iknow_api.Models.MajorSubjects", b =>
256 {
257 b.Property<int>("MajorId")
258 .HasColumnType("integer");
259
260 b.Property<int>("SubjectId")
261 .HasColumnType("integer");
262
263 b.Property<int>("Accreditation")
264 .HasColumnType("integer");
265
266 b.Property<int>("MandatorySemester")
267 .HasColumnType("integer");
268
269 b.HasKey("MajorId", "SubjectId");
270
271 b.HasIndex("SubjectId");
272
273 b.ToTable("MajorSubjects");
274 });
275
276 modelBuilder.Entity("iknow_api.Models.PassedSubject", b =>
277 {
278 b.Property<int>("Id")
279 .ValueGeneratedOnAdd()
280 .HasColumnType("integer");
281
282 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
283
284 b.Property<DateTime>("DatePassed")
285 .HasColumnType("timestamp with time zone");
286
287 b.Property<int>("Grade")
288 .HasColumnType("integer");
289
290 b.Property<int>("SemesterSubjectId")
291 .HasColumnType("integer");
292
293 b.HasKey("Id");
294
295 b.HasIndex("SemesterSubjectId")
296 .IsUnique();
297
298 b.ToTable("PassedSubjects");
299 });
300
301 modelBuilder.Entity("iknow_api.Models.Payment", b =>
302 {
303 b.Property<int>("Id")
304 .ValueGeneratedOnAdd()
305 .HasColumnType("integer");
306
307 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
308
309 b.Property<int>("EnrollmentInfoId")
310 .HasColumnType("integer");
311
312 b.Property<int>("UserId")
313 .HasColumnType("integer");
314
315 b.HasKey("Id");
316
317 b.HasIndex("EnrollmentInfoId");
318
319 b.HasIndex("UserId");
320
321 b.ToTable("Payments");
322 });
323
324 modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>
325 {
326 b.Property<int>("Id")
327 .ValueGeneratedOnAdd()
328 .HasColumnType("integer");
329
330 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
331
332 b.Property<DateTime>("ExpiresAt")
333 .HasColumnType("timestamp with time zone");
334
335 b.Property<bool>("IsValid")
336 .HasColumnType("boolean");
337
338 b.Property<string>("Token")
339 .HasColumnType("text");
340
341 b.Property<int>("UserId")
342 .HasColumnType("integer");
343
344 b.HasKey("Id");
345
346 b.HasIndex("UserId");
347
348 b.ToTable("RefreshToken");
349 });
350
351 modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
352 {
353 b.Property<int>("Id")
354 .ValueGeneratedOnAdd()
355 .HasColumnType("integer");
356
357 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
358
359 b.Property<int>("EnrolledSemesterId")
360 .HasColumnType("integer");
361
362 b.Property<int>("ProfessorId")
363 .HasColumnType("integer");
364
365 b.Property<bool>("Signature")
366 .HasColumnType("boolean");
367
368 b.Property<int>("SubjectId")
369 .HasColumnType("integer");
370
371 b.Property<int>("UserId")
372 .HasColumnType("integer");
373
374 b.HasKey("Id");
375
376 b.HasIndex("EnrolledSemesterId");
377
378 b.HasIndex("ProfessorId");
379
380 b.HasIndex("SubjectId");
381
382 b.HasIndex("UserId");
383
384 b.ToTable("SemesterSubjects");
385 });
386
387 modelBuilder.Entity("iknow_api.Models.Subject", b =>
388 {
389 b.Property<int>("Id")
390 .ValueGeneratedOnAdd()
391 .HasColumnType("integer");
392
393 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
394
395 b.Property<int?>("AwardedCredits")
396 .HasColumnType("integer");
397
398 b.Property<string>("Code")
399 .HasColumnType("text");
400
401 b.Property<int?>("DependencyCredit")
402 .HasColumnType("integer");
403
404 b.Property<string>("Name")
405 .HasColumnType("text");
406
407 b.HasKey("Id");
408
409 b.ToTable("Subjects");
410 });
411
412 modelBuilder.Entity("iknow_api.Models.User", b =>
413 {
414 b.Property<int>("Id")
415 .ValueGeneratedOnAdd()
416 .HasColumnType("integer");
417
418 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
419
420 b.Property<DateTime>("Bday")
421 .HasColumnType("timestamp with time zone");
422
423 b.Property<string>("Citizenship")
424 .HasColumnType("text");
425
426 b.Property<DateTime>("CreatedAt")
427 .HasColumnType("timestamp with time zone");
428
429 b.Property<string>("EMBG")
430 .HasColumnType("text");
431
432 b.Property<string>("Email")
433 .HasColumnType("text");
434
435 b.Property<string>("Gender")
436 .HasColumnType("text");
437
438 b.Property<string>("Index")
439 .HasColumnType("text");
440
441 b.Property<string>("MiddleName")
442 .HasColumnType("text");
443
444 b.Property<string>("Name")
445 .HasColumnType("text");
446
447 b.Property<string>("Nationality")
448 .HasColumnType("text");
449
450 b.Property<string>("PasswordHash")
451 .HasColumnType("text");
452
453 b.Property<int>("Role")
454 .HasColumnType("integer");
455
456 b.Property<string>("Surname")
457 .HasColumnType("text");
458
459 b.HasKey("Id");
460
461 b.ToTable("User");
462 });
463
464 modelBuilder.Entity("iknow_api.Models.UserDocuments", b =>
465 {
466 b.Property<int>("UserId")
467 .HasColumnType("integer");
468
469 b.Property<int>("DocumentId")
470 .HasColumnType("integer");
471
472 b.HasKey("UserId", "DocumentId");
473
474 b.HasIndex("DocumentId");
475
476 b.ToTable("UserDocuments");
477 });
478
479 modelBuilder.Entity("iknow_api.Models.ContactInfo", b =>
480 {
481 b.HasOne("iknow_api.Models.User", "User")
482 .WithOne("ContactInfo")
483 .HasForeignKey("iknow_api.Models.ContactInfo", "UserId")
484 .OnDelete(DeleteBehavior.Cascade)
485 .IsRequired();
486
487 b.Navigation("User");
488 });
489
490 modelBuilder.Entity("iknow_api.Models.DependencySubject", b =>
491 {
492 b.HasOne("iknow_api.Models.Subject", "Dependency")
493 .WithMany("Dependents")
494 .HasForeignKey("DependencyId")
495 .OnDelete(DeleteBehavior.Restrict)
496 .IsRequired();
497
498 b.HasOne("iknow_api.Models.Subject", "Subject")
499 .WithMany("Dependencies")
500 .HasForeignKey("SubjectId")
501 .OnDelete(DeleteBehavior.Restrict)
502 .IsRequired();
503
504 b.Navigation("Dependency");
505
506 b.Navigation("Subject");
507 });
508
509 modelBuilder.Entity("iknow_api.Models.EnrolledSemesters", b =>
510 {
511 b.HasOne("iknow_api.Models.ActiveSemesters", "Semester")
512 .WithMany("EnrolledSemesters")
513 .HasForeignKey("Id")
514 .OnDelete(DeleteBehavior.Restrict)
515 .IsRequired();
516
517 b.HasOne("iknow_api.Models.Major", "Major")
518 .WithMany()
519 .HasForeignKey("MajorId")
520 .OnDelete(DeleteBehavior.Cascade)
521 .IsRequired();
522
523 b.HasOne("iknow_api.Models.User", "User")
524 .WithMany()
525 .HasForeignKey("UserId")
526 .OnDelete(DeleteBehavior.Cascade)
527 .IsRequired();
528
529 b.Navigation("Major");
530
531 b.Navigation("Semester");
532
533 b.Navigation("User");
534 });
535
536 modelBuilder.Entity("iknow_api.Models.EnrollmentInfo", b =>
537 {
538 b.HasOne("iknow_api.Models.Major", "Major")
539 .WithMany()
540 .HasForeignKey("MajorId")
541 .OnDelete(DeleteBehavior.Cascade)
542 .IsRequired();
543
544 b.HasOne("iknow_api.Models.User", "User")
545 .WithOne("EnrollmentInfo")
546 .HasForeignKey("iknow_api.Models.EnrollmentInfo", "UserId")
547 .OnDelete(DeleteBehavior.Cascade)
548 .IsRequired();
549
550 b.Navigation("Major");
551
552 b.Navigation("User");
553 });
554
555 modelBuilder.Entity("iknow_api.Models.HighSchool", b =>
556 {
557 b.HasOne("iknow_api.Models.User", "User")
558 .WithOne("HighSchool")
559 .HasForeignKey("iknow_api.Models.HighSchool", "UserId")
560 .OnDelete(DeleteBehavior.Cascade)
561 .IsRequired();
562
563 b.Navigation("User");
564 });
565
566 modelBuilder.Entity("iknow_api.Models.MajorSubjects", b =>
567 {
568 b.HasOne("iknow_api.Models.Major", "Majors")
569 .WithMany("Subjects")
570 .HasForeignKey("MajorId")
571 .OnDelete(DeleteBehavior.Cascade)
572 .IsRequired();
573
574 b.HasOne("iknow_api.Models.Subject", "Subjects")
575 .WithMany("Majors")
576 .HasForeignKey("SubjectId")
577 .OnDelete(DeleteBehavior.Cascade)
578 .IsRequired();
579
580 b.Navigation("Majors");
581
582 b.Navigation("Subjects");
583 });
584
585 modelBuilder.Entity("iknow_api.Models.PassedSubject", b =>
586 {
587 b.HasOne("iknow_api.Models.SemesterSubject", "SemesterSubject")
588 .WithOne("PassedSubject")
589 .HasForeignKey("iknow_api.Models.PassedSubject", "SemesterSubjectId")
590 .OnDelete(DeleteBehavior.Cascade)
591 .IsRequired();
592
593 b.Navigation("SemesterSubject");
594 });
595
596 modelBuilder.Entity("iknow_api.Models.Payment", b =>
597 {
598 b.HasOne("iknow_api.Models.EnrolledSemesters", "EnrolledSemesters")
599 .WithMany("Users")
600 .HasForeignKey("EnrollmentInfoId")
601 .OnDelete(DeleteBehavior.Cascade)
602 .IsRequired();
603
604 b.HasOne("iknow_api.Models.User", "User")
605 .WithMany("EnrolledSemesters")
606 .HasForeignKey("UserId")
607 .OnDelete(DeleteBehavior.Cascade)
608 .IsRequired();
609
610 b.Navigation("EnrolledSemesters");
611
612 b.Navigation("User");
613 });
614
615 modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>
616 {
617 b.HasOne("iknow_api.Models.User", "User")
618 .WithMany()
619 .HasForeignKey("UserId")
620 .OnDelete(DeleteBehavior.Cascade)
621 .IsRequired();
622
623 b.Navigation("User");
624 });
625
626 modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
627 {
628 b.HasOne("iknow_api.Models.EnrolledSemesters", "EnrolledSemester")
629 .WithMany("SemesterSubjects")
630 .HasForeignKey("EnrolledSemesterId")
631 .OnDelete(DeleteBehavior.Restrict)
632 .IsRequired();
633
634 b.HasOne("iknow_api.Models.User", "Professor")
635 .WithMany("TeachingSubjects")
636 .HasForeignKey("ProfessorId")
637 .OnDelete(DeleteBehavior.Restrict)
638 .IsRequired();
639
640 b.HasOne("iknow_api.Models.Subject", "Subject")
641 .WithMany("SemesterSubjects")
642 .HasForeignKey("SubjectId")
643 .OnDelete(DeleteBehavior.Restrict)
644 .IsRequired();
645
646 b.HasOne("iknow_api.Models.User", "User")
647 .WithMany("EnrolledSemesterUserSubjects")
648 .HasForeignKey("UserId")
649 .OnDelete(DeleteBehavior.Restrict)
650 .IsRequired();
651
652 b.Navigation("EnrolledSemester");
653
654 b.Navigation("Professor");
655
656 b.Navigation("Subject");
657
658 b.Navigation("User");
659 });
660
661 modelBuilder.Entity("iknow_api.Models.UserDocuments", b =>
662 {
663 b.HasOne("iknow_api.Models.Documents", "Documents")
664 .WithMany("User")
665 .HasForeignKey("DocumentId")
666 .OnDelete(DeleteBehavior.Cascade)
667 .IsRequired();
668
669 b.HasOne("iknow_api.Models.User", "User")
670 .WithMany("Documents")
671 .HasForeignKey("UserId")
672 .OnDelete(DeleteBehavior.Cascade)
673 .IsRequired();
674
675 b.Navigation("Documents");
676
677 b.Navigation("User");
678 });
679
680 modelBuilder.Entity("iknow_api.Models.ActiveSemesters", b =>
681 {
682 b.Navigation("EnrolledSemesters");
683 });
684
685 modelBuilder.Entity("iknow_api.Models.Documents", b =>
686 {
687 b.Navigation("User");
688 });
689
690 modelBuilder.Entity("iknow_api.Models.EnrolledSemesters", b =>
691 {
692 b.Navigation("SemesterSubjects");
693
694 b.Navigation("Users");
695 });
696
697 modelBuilder.Entity("iknow_api.Models.Major", b =>
698 {
699 b.Navigation("Subjects");
700 });
701
702 modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
703 {
704 b.Navigation("PassedSubject");
705 });
706
707 modelBuilder.Entity("iknow_api.Models.Subject", b =>
708 {
709 b.Navigation("Dependencies");
710
711 b.Navigation("Dependents");
712
713 b.Navigation("Majors");
714
715 b.Navigation("SemesterSubjects");
716 });
717
718 modelBuilder.Entity("iknow_api.Models.User", b =>
719 {
720 b.Navigation("ContactInfo");
721
722 b.Navigation("Documents");
723
724 b.Navigation("EnrolledSemesterUserSubjects");
725
726 b.Navigation("EnrolledSemesters");
727
728 b.Navigation("EnrollmentInfo");
729
730 b.Navigation("HighSchool");
731
732 b.Navigation("TeachingSubjects");
733 });
734#pragma warning restore 612, 618
735 }
736 }
737}
Note: See TracBrowser for help on using the repository browser.