source: iknow-api/Migrations/20251210134426_UpdateModels.Designer.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.7 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("20251210134426_UpdateModels")]
16 partial class UpdateModels
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>("Node")
133 .HasColumnType("text");
134
135 b.Property<int>("QuotaType")
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>("Veryfied")
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>("MajorId")
165 .HasColumnType("integer");
166
167 b.Property<string>("StudyStatus")
168 .HasColumnType("text");
169
170 b.Property<string>("StudyType")
171 .HasColumnType("text");
172
173 b.Property<int>("UserId")
174 .HasColumnType("integer");
175
176 b.Property<int>("enrollmentYear")
177 .HasColumnType("integer");
178
179 b.Property<int>("quota")
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.RefreshToken", b =>
328 {
329 b.Property<int>("Id")
330 .ValueGeneratedOnAdd()
331 .HasColumnType("integer");
332
333 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
334
335 b.Property<DateTime>("ExpiresAt")
336 .HasColumnType("timestamp with time zone");
337
338 b.Property<bool>("IsValid")
339 .HasColumnType("boolean");
340
341 b.Property<string>("Token")
342 .HasColumnType("text");
343
344 b.Property<int>("UserId")
345 .HasColumnType("integer");
346
347 b.HasKey("Id");
348
349 b.HasIndex("UserId");
350
351 b.ToTable("RefreshToken");
352 });
353
354 modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
355 {
356 b.Property<int>("Id")
357 .ValueGeneratedOnAdd()
358 .HasColumnType("integer");
359
360 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
361
362 b.Property<int>("EnrolledSemesterId")
363 .HasColumnType("integer");
364
365 b.Property<int>("ProfessorId")
366 .HasColumnType("integer");
367
368 b.Property<bool>("Signature")
369 .HasColumnType("boolean");
370
371 b.Property<int>("SubjectId")
372 .HasColumnType("integer");
373
374 b.Property<int>("UserId")
375 .HasColumnType("integer");
376
377 b.HasKey("Id");
378
379 b.HasIndex("EnrolledSemesterId");
380
381 b.HasIndex("ProfessorId");
382
383 b.HasIndex("SubjectId");
384
385 b.HasIndex("UserId");
386
387 b.ToTable("SemesterSubjects");
388 });
389
390 modelBuilder.Entity("iknow_api.Models.Subject", b =>
391 {
392 b.Property<int>("Id")
393 .ValueGeneratedOnAdd()
394 .HasColumnType("integer");
395
396 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
397
398 b.Property<int?>("AwardedCredits")
399 .HasColumnType("integer");
400
401 b.Property<string>("Code")
402 .HasColumnType("text");
403
404 b.Property<int?>("DependencyCredit")
405 .HasColumnType("integer");
406
407 b.Property<string>("Name")
408 .HasColumnType("text");
409
410 b.HasKey("Id");
411
412 b.ToTable("Subjects");
413 });
414
415 modelBuilder.Entity("iknow_api.Models.User", b =>
416 {
417 b.Property<int>("Id")
418 .ValueGeneratedOnAdd()
419 .HasColumnType("integer");
420
421 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
422
423 b.Property<DateTime>("Bday")
424 .HasColumnType("timestamp with time zone");
425
426 b.Property<string>("Citizenship")
427 .HasColumnType("text");
428
429 b.Property<DateTime>("CreatedAt")
430 .HasColumnType("timestamp with time zone");
431
432 b.Property<string>("EMBG")
433 .HasColumnType("text");
434
435 b.Property<string>("Email")
436 .HasColumnType("text");
437
438 b.Property<string>("Gender")
439 .HasColumnType("text");
440
441 b.Property<string>("Index")
442 .HasColumnType("text");
443
444 b.Property<string>("MiddleName")
445 .HasColumnType("text");
446
447 b.Property<string>("Name")
448 .HasColumnType("text");
449
450 b.Property<string>("Nationality")
451 .HasColumnType("text");
452
453 b.Property<string>("PasswordHash")
454 .HasColumnType("text");
455
456 b.Property<int>("Role")
457 .HasColumnType("integer");
458
459 b.Property<string>("Surname")
460 .HasColumnType("text");
461
462 b.HasKey("Id");
463
464 b.ToTable("User");
465 });
466
467 modelBuilder.Entity("iknow_api.Models.UserDocuments", b =>
468 {
469 b.Property<int>("UserId")
470 .HasColumnType("integer");
471
472 b.Property<int>("DocumentId")
473 .HasColumnType("integer");
474
475 b.HasKey("UserId", "DocumentId");
476
477 b.HasIndex("DocumentId");
478
479 b.ToTable("UserDocuments");
480 });
481
482 modelBuilder.Entity("iknow_api.Models.ContactInfo", b =>
483 {
484 b.HasOne("iknow_api.Models.User", "User")
485 .WithOne("ContactInfo")
486 .HasForeignKey("iknow_api.Models.ContactInfo", "UserId")
487 .OnDelete(DeleteBehavior.Cascade)
488 .IsRequired();
489
490 b.Navigation("User");
491 });
492
493 modelBuilder.Entity("iknow_api.Models.DependencySubject", b =>
494 {
495 b.HasOne("iknow_api.Models.Subject", "Dependency")
496 .WithMany("Dependents")
497 .HasForeignKey("DependencyId")
498 .OnDelete(DeleteBehavior.Restrict)
499 .IsRequired();
500
501 b.HasOne("iknow_api.Models.Subject", "Subject")
502 .WithMany("Dependencies")
503 .HasForeignKey("SubjectId")
504 .OnDelete(DeleteBehavior.Restrict)
505 .IsRequired();
506
507 b.Navigation("Dependency");
508
509 b.Navigation("Subject");
510 });
511
512 modelBuilder.Entity("iknow_api.Models.EnrolledSemesters", b =>
513 {
514 b.HasOne("iknow_api.Models.ActiveSemesters", "Semester")
515 .WithMany("EnrolledSemesters")
516 .HasForeignKey("Id")
517 .OnDelete(DeleteBehavior.Restrict)
518 .IsRequired();
519
520 b.HasOne("iknow_api.Models.Major", "Major")
521 .WithMany()
522 .HasForeignKey("MajorId")
523 .OnDelete(DeleteBehavior.Cascade)
524 .IsRequired();
525
526 b.HasOne("iknow_api.Models.User", "User")
527 .WithMany()
528 .HasForeignKey("UserId")
529 .OnDelete(DeleteBehavior.Cascade)
530 .IsRequired();
531
532 b.Navigation("Major");
533
534 b.Navigation("Semester");
535
536 b.Navigation("User");
537 });
538
539 modelBuilder.Entity("iknow_api.Models.EnrollmentInfo", b =>
540 {
541 b.HasOne("iknow_api.Models.Major", "Major")
542 .WithMany()
543 .HasForeignKey("MajorId")
544 .OnDelete(DeleteBehavior.Cascade)
545 .IsRequired();
546
547 b.HasOne("iknow_api.Models.User", "User")
548 .WithOne("EnrollmentInfo")
549 .HasForeignKey("iknow_api.Models.EnrollmentInfo", "UserId")
550 .OnDelete(DeleteBehavior.Cascade)
551 .IsRequired();
552
553 b.Navigation("Major");
554
555 b.Navigation("User");
556 });
557
558 modelBuilder.Entity("iknow_api.Models.HighSchool", b =>
559 {
560 b.HasOne("iknow_api.Models.User", "User")
561 .WithOne("HighSchool")
562 .HasForeignKey("iknow_api.Models.HighSchool", "UserId")
563 .OnDelete(DeleteBehavior.Cascade)
564 .IsRequired();
565
566 b.Navigation("User");
567 });
568
569 modelBuilder.Entity("iknow_api.Models.MajorSubjects", b =>
570 {
571 b.HasOne("iknow_api.Models.Major", "Majors")
572 .WithMany("Subjects")
573 .HasForeignKey("MajorId")
574 .OnDelete(DeleteBehavior.Cascade)
575 .IsRequired();
576
577 b.HasOne("iknow_api.Models.Subject", "Subjects")
578 .WithMany("Majors")
579 .HasForeignKey("SubjectId")
580 .OnDelete(DeleteBehavior.Cascade)
581 .IsRequired();
582
583 b.Navigation("Majors");
584
585 b.Navigation("Subjects");
586 });
587
588 modelBuilder.Entity("iknow_api.Models.PassedSubject", b =>
589 {
590 b.HasOne("iknow_api.Models.SemesterSubject", "SemesterSubject")
591 .WithOne("PassedSubject")
592 .HasForeignKey("iknow_api.Models.PassedSubject", "SemesterSubjectId")
593 .OnDelete(DeleteBehavior.Cascade)
594 .IsRequired();
595
596 b.Navigation("SemesterSubject");
597 });
598
599 modelBuilder.Entity("iknow_api.Models.Payment", b =>
600 {
601 b.HasOne("iknow_api.Models.EnrolledSemesters", "EnrolledSemesters")
602 .WithMany("Users")
603 .HasForeignKey("EnrollmentInfoId")
604 .OnDelete(DeleteBehavior.Cascade)
605 .IsRequired();
606
607 b.HasOne("iknow_api.Models.User", "User")
608 .WithMany("EnrolledSemesters")
609 .HasForeignKey("UserId")
610 .OnDelete(DeleteBehavior.Cascade)
611 .IsRequired();
612
613 b.Navigation("EnrolledSemesters");
614
615 b.Navigation("User");
616 });
617
618 modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>
619 {
620 b.HasOne("iknow_api.Models.User", "User")
621 .WithMany()
622 .HasForeignKey("UserId")
623 .OnDelete(DeleteBehavior.Cascade)
624 .IsRequired();
625
626 b.Navigation("User");
627 });
628
629 modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
630 {
631 b.HasOne("iknow_api.Models.EnrolledSemesters", "EnrolledSemester")
632 .WithMany("SemesterSubjects")
633 .HasForeignKey("EnrolledSemesterId")
634 .OnDelete(DeleteBehavior.Restrict)
635 .IsRequired();
636
637 b.HasOne("iknow_api.Models.User", "Professor")
638 .WithMany("TeachingSubjects")
639 .HasForeignKey("ProfessorId")
640 .OnDelete(DeleteBehavior.Restrict)
641 .IsRequired();
642
643 b.HasOne("iknow_api.Models.Subject", "Subject")
644 .WithMany("SemesterSubjects")
645 .HasForeignKey("SubjectId")
646 .OnDelete(DeleteBehavior.Restrict)
647 .IsRequired();
648
649 b.HasOne("iknow_api.Models.User", "User")
650 .WithMany("EnrolledSemesterUserSubjects")
651 .HasForeignKey("UserId")
652 .OnDelete(DeleteBehavior.Restrict)
653 .IsRequired();
654
655 b.Navigation("EnrolledSemester");
656
657 b.Navigation("Professor");
658
659 b.Navigation("Subject");
660
661 b.Navigation("User");
662 });
663
664 modelBuilder.Entity("iknow_api.Models.UserDocuments", b =>
665 {
666 b.HasOne("iknow_api.Models.Documents", "Documents")
667 .WithMany("User")
668 .HasForeignKey("DocumentId")
669 .OnDelete(DeleteBehavior.Cascade)
670 .IsRequired();
671
672 b.HasOne("iknow_api.Models.User", "User")
673 .WithMany("Documents")
674 .HasForeignKey("UserId")
675 .OnDelete(DeleteBehavior.Cascade)
676 .IsRequired();
677
678 b.Navigation("Documents");
679
680 b.Navigation("User");
681 });
682
683 modelBuilder.Entity("iknow_api.Models.ActiveSemesters", b =>
684 {
685 b.Navigation("EnrolledSemesters");
686 });
687
688 modelBuilder.Entity("iknow_api.Models.Documents", b =>
689 {
690 b.Navigation("User");
691 });
692
693 modelBuilder.Entity("iknow_api.Models.EnrolledSemesters", b =>
694 {
695 b.Navigation("SemesterSubjects");
696
697 b.Navigation("Users");
698 });
699
700 modelBuilder.Entity("iknow_api.Models.Major", b =>
701 {
702 b.Navigation("Subjects");
703 });
704
705 modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
706 {
707 b.Navigation("PassedSubject");
708 });
709
710 modelBuilder.Entity("iknow_api.Models.Subject", b =>
711 {
712 b.Navigation("Dependencies");
713
714 b.Navigation("Dependents");
715
716 b.Navigation("Majors");
717
718 b.Navigation("SemesterSubjects");
719 });
720
721 modelBuilder.Entity("iknow_api.Models.User", b =>
722 {
723 b.Navigation("ContactInfo");
724
725 b.Navigation("Documents");
726
727 b.Navigation("EnrolledSemesterUserSubjects");
728
729 b.Navigation("EnrolledSemesters");
730
731 b.Navigation("EnrollmentInfo");
732
733 b.Navigation("HighSchool");
734
735 b.Navigation("TeachingSubjects");
736 });
737#pragma warning restore 612, 618
738 }
739 }
740}
Note: See TracBrowser for help on using the repository browser.