profileShare

rasmusjy / splitapp-backend-clean-onion

Read-only snapshot

No repository description.

main default branch 429 files Expires Sep 13, 2026, 9:06 AM
20260328161224_AddBaseEntityTimestamps.Designer.cs 48,494 bytes
1 // <auto-generated />
2 using System;
3 using App.DAL.EF;
4 using Microsoft.EntityFrameworkCore;
5 using Microsoft.EntityFrameworkCore.Infrastructure;
6 using Microsoft.EntityFrameworkCore.Migrations;
7 using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
8 using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
9
10 #nullable disable
11
12 namespace App.DAL.EF.Migrations
13 {
14 [DbContext(typeof(AppDbContext))]
15 [Migration("20260328161224_AddBaseEntityTimestamps")]
16 partial class AddBaseEntityTimestamps
17 {
18 /// <inheritdoc />
19 protected override void BuildTargetModel(ModelBuilder modelBuilder)
20 {
21 #pragma warning disable 612, 618
22 modelBuilder
23 .HasAnnotation("ProductVersion", "10.0.5")
24 .HasAnnotation("Relational:MaxIdentifierLength", 63);
25
26 NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
27
28 modelBuilder.Entity("App.Domain.BudgetCategory", b =>
29 {
30 b.Property<Guid>("Id")
31 .ValueGeneratedOnAdd()
32 .HasColumnType("uuid");
33
34 b.Property<DateTime>("CreatedAt")
35 .HasColumnType("timestamp with time zone");
36
37 b.Property<int>("DisplayOrder")
38 .HasColumnType("integer");
39
40 b.Property<string>("IconName")
41 .HasMaxLength(100)
42 .HasColumnType("character varying(100)");
43
44 b.Property<string>("Name")
45 .IsRequired()
46 .HasMaxLength(100)
47 .HasColumnType("character varying(100)");
48
49 b.Property<decimal?>("PlannedAmount")
50 .HasColumnType("numeric");
51
52 b.Property<Guid>("TripId")
53 .HasColumnType("uuid");
54
55 b.Property<DateTime>("UpdatedAt")
56 .HasColumnType("timestamp with time zone");
57
58 b.HasKey("Id");
59
60 b.HasIndex("TripId");
61
62 b.ToTable("BudgetCategories");
63 });
64
65 modelBuilder.Entity("App.Domain.BudgetCategoryTranslation", b =>
66 {
67 b.Property<Guid>("Id")
68 .ValueGeneratedOnAdd()
69 .HasColumnType("uuid");
70
71 b.Property<Guid>("BudgetCategoryId")
72 .HasColumnType("uuid");
73
74 b.Property<DateTime>("CreatedAt")
75 .HasColumnType("timestamp with time zone");
76
77 b.Property<string>("Culture")
78 .IsRequired()
79 .HasMaxLength(5)
80 .HasColumnType("character varying(5)");
81
82 b.Property<string>("Name")
83 .IsRequired()
84 .HasMaxLength(100)
85 .HasColumnType("character varying(100)");
86
87 b.Property<DateTime>("UpdatedAt")
88 .HasColumnType("timestamp with time zone");
89
90 b.HasKey("Id");
91
92 b.HasIndex("BudgetCategoryId");
93
94 b.ToTable("BudgetCategoryTranslations");
95 });
96
97 modelBuilder.Entity("App.Domain.Currency", b =>
98 {
99 b.Property<Guid>("Id")
100 .ValueGeneratedOnAdd()
101 .HasColumnType("uuid");
102
103 b.Property<string>("Code")
104 .IsRequired()
105 .HasMaxLength(3)
106 .HasColumnType("character varying(3)");
107
108 b.Property<DateTime>("CreatedAt")
109 .HasColumnType("timestamp with time zone");
110
111 b.Property<string>("Name")
112 .IsRequired()
113 .HasMaxLength(100)
114 .HasColumnType("character varying(100)");
115
116 b.Property<string>("Symbol")
117 .IsRequired()
118 .HasMaxLength(10)
119 .HasColumnType("character varying(10)");
120
121 b.Property<DateTime>("UpdatedAt")
122 .HasColumnType("timestamp with time zone");
123
124 b.HasKey("Id");
125
126 b.ToTable("Currencies");
127 });
128
129 modelBuilder.Entity("App.Domain.Expense", b =>
130 {
131 b.Property<Guid>("Id")
132 .ValueGeneratedOnAdd()
133 .HasColumnType("uuid");
134
135 b.Property<decimal>("Amount")
136 .HasColumnType("numeric");
137
138 b.Property<Guid?>("BudgetCategoryId")
139 .HasColumnType("uuid");
140
141 b.Property<DateTime>("CreatedAt")
142 .HasColumnType("timestamp with time zone");
143
144 b.Property<Guid?>("CurrencyId")
145 .HasColumnType("uuid");
146
147 b.Property<string>("Description")
148 .HasMaxLength(500)
149 .HasColumnType("character varying(500)");
150
151 b.Property<DateTime>("ExpenseDate")
152 .HasColumnType("timestamp with time zone");
153
154 b.Property<Guid>("PaidByUserId")
155 .HasColumnType("uuid");
156
157 b.Property<int>("SplitMethod")
158 .HasColumnType("integer");
159
160 b.Property<Guid>("TripId")
161 .HasColumnType("uuid");
162
163 b.Property<DateTime>("UpdatedAt")
164 .HasColumnType("timestamp with time zone");
165
166 b.HasKey("Id");
167
168 b.HasIndex("BudgetCategoryId");
169
170 b.HasIndex("CurrencyId");
171
172 b.HasIndex("PaidByUserId");
173
174 b.HasIndex("TripId");
175
176 b.ToTable("Expenses");
177 });
178
179 modelBuilder.Entity("App.Domain.ExpenseSplit", b =>
180 {
181 b.Property<Guid>("Id")
182 .ValueGeneratedOnAdd()
183 .HasColumnType("uuid");
184
185 b.Property<decimal>("Amount")
186 .HasColumnType("numeric");
187
188 b.Property<DateTime>("CreatedAt")
189 .HasColumnType("timestamp with time zone");
190
191 b.Property<Guid>("ExpenseId")
192 .HasColumnType("uuid");
193
194 b.Property<decimal?>("Percentage")
195 .HasColumnType("numeric");
196
197 b.Property<DateTime>("UpdatedAt")
198 .HasColumnType("timestamp with time zone");
199
200 b.Property<Guid>("UserId")
201 .HasColumnType("uuid");
202
203 b.HasKey("Id");
204
205 b.HasIndex("ExpenseId");
206
207 b.HasIndex("UserId");
208
209 b.ToTable("ExpenseSplits");
210 });
211
212 modelBuilder.Entity("App.Domain.Identity.AppRefreshToken", b =>
213 {
214 b.Property<Guid>("Id")
215 .ValueGeneratedOnAdd()
216 .HasColumnType("uuid");
217
218 b.Property<Guid>("AppUserId")
219 .HasColumnType("uuid");
220
221 b.Property<DateTime>("CreatedAt")
222 .HasColumnType("timestamp with time zone");
223
224 b.Property<DateTime>("ExpirationDT")
225 .HasColumnType("timestamp with time zone");
226
227 b.Property<DateTime>("PreviousExpirationDT")
228 .HasColumnType("timestamp with time zone");
229
230 b.Property<string>("PreviousRefreshToken")
231 .HasMaxLength(64)
232 .HasColumnType("character varying(64)");
233
234 b.Property<string>("RefreshToken")
235 .IsRequired()
236 .HasMaxLength(64)
237 .HasColumnType("character varying(64)");
238
239 b.Property<DateTime>("UpdatedAt")
240 .HasColumnType("timestamp with time zone");
241
242 b.HasKey("Id");
243
244 b.HasIndex("AppUserId");
245
246 b.ToTable("RefreshTokens");
247 });
248
249 modelBuilder.Entity("App.Domain.Identity.AppRole", b =>
250 {
251 b.Property<Guid>("Id")
252 .ValueGeneratedOnAdd()
253 .HasColumnType("uuid");
254
255 b.Property<string>("ConcurrencyStamp")
256 .IsConcurrencyToken()
257 .HasColumnType("text");
258
259 b.Property<string>("Name")
260 .HasMaxLength(256)
261 .HasColumnType("character varying(256)");
262
263 b.Property<string>("NormalizedName")
264 .HasMaxLength(256)
265 .HasColumnType("character varying(256)");
266
267 b.HasKey("Id");
268
269 b.HasIndex("NormalizedName")
270 .IsUnique()
271 .HasDatabaseName("RoleNameIndex");
272
273 b.ToTable("AspNetRoles", (string)null);
274 });
275
276 modelBuilder.Entity("App.Domain.Identity.AppUser", b =>
277 {
278 b.Property<Guid>("Id")
279 .ValueGeneratedOnAdd()
280 .HasColumnType("uuid");
281
282 b.Property<int>("AccessFailedCount")
283 .HasColumnType("integer");
284
285 b.Property<string>("ConcurrencyStamp")
286 .IsConcurrencyToken()
287 .HasColumnType("text");
288
289 b.Property<string>("Email")
290 .HasMaxLength(256)
291 .HasColumnType("character varying(256)");
292
293 b.Property<bool>("EmailConfirmed")
294 .HasColumnType("boolean");
295
296 b.Property<string>("FirstName")
297 .IsRequired()
298 .HasMaxLength(128)
299 .HasColumnType("character varying(128)");
300
301 b.Property<string>("LastName")
302 .IsRequired()
303 .HasMaxLength(128)
304 .HasColumnType("character varying(128)");
305
306 b.Property<bool>("LockoutEnabled")
307 .HasColumnType("boolean");
308
309 b.Property<DateTimeOffset?>("LockoutEnd")
310 .HasColumnType("timestamp with time zone");
311
312 b.Property<string>("NormalizedEmail")
313 .HasMaxLength(256)
314 .HasColumnType("character varying(256)");
315
316 b.Property<string>("NormalizedUserName")
317 .HasMaxLength(256)
318 .HasColumnType("character varying(256)");
319
320 b.Property<string>("PasswordHash")
321 .HasColumnType("text");
322
323 b.Property<string>("PhoneNumber")
324 .HasColumnType("text");
325
326 b.Property<bool>("PhoneNumberConfirmed")
327 .HasColumnType("boolean");
328
329 b.Property<string>("SecurityStamp")
330 .HasColumnType("text");
331
332 b.Property<bool>("TwoFactorEnabled")
333 .HasColumnType("boolean");
334
335 b.Property<string>("UserName")
336 .HasMaxLength(256)
337 .HasColumnType("character varying(256)");
338
339 b.HasKey("Id");
340
341 b.HasIndex("NormalizedEmail")
342 .HasDatabaseName("EmailIndex");
343
344 b.HasIndex("NormalizedUserName")
345 .IsUnique()
346 .HasDatabaseName("UserNameIndex");
347
348 b.ToTable("AspNetUsers", (string)null);
349 });
350
351 modelBuilder.Entity("App.Domain.SettlementPayment", b =>
352 {
353 b.Property<Guid>("Id")
354 .ValueGeneratedOnAdd()
355 .HasColumnType("uuid");
356
357 b.Property<decimal>("Amount")
358 .HasColumnType("numeric");
359
360 b.Property<DateTime?>("ConfirmedAt")
361 .HasColumnType("timestamp with time zone");
362
363 b.Property<DateTime>("CreatedAt")
364 .HasColumnType("timestamp with time zone");
365
366 b.Property<Guid>("FromUserId")
367 .HasColumnType("uuid");
368
369 b.Property<DateTime?>("MarkedPaidAt")
370 .HasColumnType("timestamp with time zone");
371
372 b.Property<Guid>("SettlementPlanId")
373 .HasColumnType("uuid");
374
375 b.Property<int>("Status")
376 .HasColumnType("integer");
377
378 b.Property<Guid>("ToUserId")
379 .HasColumnType("uuid");
380
381 b.Property<DateTime>("UpdatedAt")
382 .HasColumnType("timestamp with time zone");
383
384 b.HasKey("Id");
385
386 b.HasIndex("FromUserId");
387
388 b.HasIndex("SettlementPlanId");
389
390 b.HasIndex("ToUserId");
391
392 b.ToTable("SettlementPayments");
393 });
394
395 modelBuilder.Entity("App.Domain.SettlementPlan", b =>
396 {
397 b.Property<Guid>("Id")
398 .ValueGeneratedOnAdd()
399 .HasColumnType("uuid");
400
401 b.Property<DateTime?>("CompletedAt")
402 .HasColumnType("timestamp with time zone");
403
404 b.Property<DateTime>("CreatedAt")
405 .HasColumnType("timestamp with time zone");
406
407 b.Property<Guid>("CreatedByUserId")
408 .HasColumnType("uuid");
409
410 b.Property<int>("Status")
411 .HasColumnType("integer");
412
413 b.Property<decimal>("TotalAmount")
414 .HasColumnType("numeric");
415
416 b.Property<Guid>("TripId")
417 .HasColumnType("uuid");
418
419 b.Property<DateTime>("UpdatedAt")
420 .HasColumnType("timestamp with time zone");
421
422 b.HasKey("Id");
423
424 b.HasIndex("CreatedByUserId");
425
426 b.HasIndex("TripId");
427
428 b.ToTable("SettlementPlans");
429 });
430
431 modelBuilder.Entity("App.Domain.SplitPreset", b =>
432 {
433 b.Property<Guid>("Id")
434 .ValueGeneratedOnAdd()
435 .HasColumnType("uuid");
436
437 b.Property<DateTime>("CreatedAt")
438 .HasColumnType("timestamp with time zone");
439
440 b.Property<Guid>("CreatedById")
441 .HasColumnType("uuid");
442
443 b.Property<string>("Name")
444 .IsRequired()
445 .HasMaxLength(200)
446 .HasColumnType("character varying(200)");
447
448 b.Property<int>("SplitMethod")
449 .HasColumnType("integer");
450
451 b.Property<Guid>("TripId")
452 .HasColumnType("uuid");
453
454 b.Property<DateTime>("UpdatedAt")
455 .HasColumnType("timestamp with time zone");
456
457 b.HasKey("Id");
458
459 b.HasIndex("CreatedById");
460
461 b.HasIndex("TripId");
462
463 b.ToTable("SplitPresets");
464 });
465
466 modelBuilder.Entity("App.Domain.SplitPresetMember", b =>
467 {
468 b.Property<Guid>("Id")
469 .ValueGeneratedOnAdd()
470 .HasColumnType("uuid");
471
472 b.Property<DateTime>("CreatedAt")
473 .HasColumnType("timestamp with time zone");
474
475 b.Property<decimal?>("Percentage")
476 .HasColumnType("numeric");
477
478 b.Property<decimal?>("ShareWeight")
479 .HasColumnType("numeric");
480
481 b.Property<Guid>("SplitPresetId")
482 .HasColumnType("uuid");
483
484 b.Property<DateTime>("UpdatedAt")
485 .HasColumnType("timestamp with time zone");
486
487 b.Property<Guid>("UserId")
488 .HasColumnType("uuid");
489
490 b.HasKey("Id");
491
492 b.HasIndex("SplitPresetId");
493
494 b.HasIndex("UserId");
495
496 b.ToTable("SplitPresetMembers");
497 });
498
499 modelBuilder.Entity("App.Domain.Trip", b =>
500 {
501 b.Property<Guid>("Id")
502 .ValueGeneratedOnAdd()
503 .HasColumnType("uuid");
504
505 b.Property<DateTime>("CreatedAt")
506 .HasColumnType("timestamp with time zone");
507
508 b.Property<Guid>("CreatedById")
509 .HasColumnType("uuid");
510
511 b.Property<Guid>("DefaultCurrencyId")
512 .HasColumnType("uuid");
513
514 b.Property<string>("Description")
515 .HasColumnType("text");
516
517 b.Property<string>("Destination")
518 .HasMaxLength(200)
519 .HasColumnType("character varying(200)");
520
521 b.Property<DateTime?>("EndDate")
522 .HasColumnType("timestamp with time zone");
523
524 b.Property<string>("Name")
525 .IsRequired()
526 .HasMaxLength(200)
527 .HasColumnType("character varying(200)");
528
529 b.Property<DateTime?>("StartDate")
530 .HasColumnType("timestamp with time zone");
531
532 b.Property<int>("Status")
533 .HasColumnType("integer");
534
535 b.Property<DateTime>("UpdatedAt")
536 .HasColumnType("timestamp with time zone");
537
538 b.HasKey("Id");
539
540 b.HasIndex("CreatedById");
541
542 b.HasIndex("DefaultCurrencyId");
543
544 b.ToTable("Trips");
545 });
546
547 modelBuilder.Entity("App.Domain.TripInvitation", b =>
548 {
549 b.Property<Guid>("Id")
550 .ValueGeneratedOnAdd()
551 .HasColumnType("uuid");
552
553 b.Property<DateTime>("CreatedAt")
554 .HasColumnType("timestamp with time zone");
555
556 b.Property<DateTime>("ExpiresAt")
557 .HasColumnType("timestamp with time zone");
558
559 b.Property<Guid>("InvitedByUserId")
560 .HasColumnType("uuid");
561
562 b.Property<DateTime?>("RespondedAt")
563 .HasColumnType("timestamp with time zone");
564
565 b.Property<int>("Status")
566 .HasColumnType("integer");
567
568 b.Property<string>("Token")
569 .IsRequired()
570 .HasMaxLength(256)
571 .HasColumnType("character varying(256)");
572
573 b.Property<Guid>("TripId")
574 .HasColumnType("uuid");
575
576 b.Property<DateTime>("UpdatedAt")
577 .HasColumnType("timestamp with time zone");
578
579 b.HasKey("Id");
580
581 b.HasIndex("InvitedByUserId");
582
583 b.HasIndex("Token")
584 .IsUnique();
585
586 b.HasIndex("TripId");
587
588 b.ToTable("TripInvitations");
589 });
590
591 modelBuilder.Entity("App.Domain.TripParticipant", b =>
592 {
593 b.Property<Guid>("Id")
594 .ValueGeneratedOnAdd()
595 .HasColumnType("uuid");
596
597 b.Property<DateTime>("CreatedAt")
598 .HasColumnType("timestamp with time zone");
599
600 b.Property<bool>("IsActive")
601 .HasColumnType("boolean");
602
603 b.Property<DateTime>("JoinedAt")
604 .HasColumnType("timestamp with time zone");
605
606 b.Property<DateTime?>("LeftAt")
607 .HasColumnType("timestamp with time zone");
608
609 b.Property<string>("Nickname")
610 .HasMaxLength(100)
611 .HasColumnType("character varying(100)");
612
613 b.Property<int>("Role")
614 .HasColumnType("integer");
615
616 b.Property<Guid>("TripId")
617 .HasColumnType("uuid");
618
619 b.Property<DateTime>("UpdatedAt")
620 .HasColumnType("timestamp with time zone");
621
622 b.Property<Guid>("UserId")
623 .HasColumnType("uuid");
624
625 b.HasKey("Id");
626
627 b.HasIndex("UserId");
628
629 b.HasIndex("TripId", "UserId")
630 .IsUnique();
631
632 b.ToTable("TripParticipants");
633 });
634
635 modelBuilder.Entity("App.Domain.TripPoll", b =>
636 {
637 b.Property<Guid>("Id")
638 .ValueGeneratedOnAdd()
639 .HasColumnType("uuid");
640
641 b.Property<bool>("AllowMultipleVotes")
642 .HasColumnType("boolean");
643
644 b.Property<DateTime?>("ClosedAt")
645 .HasColumnType("timestamp with time zone");
646
647 b.Property<DateTime>("CreatedAt")
648 .HasColumnType("timestamp with time zone");
649
650 b.Property<Guid>("CreatedByUserId")
651 .HasColumnType("uuid");
652
653 b.Property<bool>("IsAnonymous")
654 .HasColumnType("boolean");
655
656 b.Property<string>("Question")
657 .IsRequired()
658 .HasMaxLength(500)
659 .HasColumnType("character varying(500)");
660
661 b.Property<Guid>("TripId")
662 .HasColumnType("uuid");
663
664 b.Property<DateTime>("UpdatedAt")
665 .HasColumnType("timestamp with time zone");
666
667 b.HasKey("Id");
668
669 b.HasIndex("CreatedByUserId");
670
671 b.HasIndex("TripId");
672
673 b.ToTable("TripPolls");
674 });
675
676 modelBuilder.Entity("App.Domain.TripPollOption", b =>
677 {
678 b.Property<Guid>("Id")
679 .ValueGeneratedOnAdd()
680 .HasColumnType("uuid");
681
682 b.Property<DateTime>("CreatedAt")
683 .HasColumnType("timestamp with time zone");
684
685 b.Property<int>("DisplayOrder")
686 .HasColumnType("integer");
687
688 b.Property<Guid>("PollId")
689 .HasColumnType("uuid");
690
691 b.Property<string>("Text")
692 .IsRequired()
693 .HasMaxLength(300)
694 .HasColumnType("character varying(300)");
695
696 b.Property<DateTime>("UpdatedAt")
697 .HasColumnType("timestamp with time zone");
698
699 b.HasKey("Id");
700
701 b.HasIndex("PollId");
702
703 b.ToTable("TripPollOptions");
704 });
705
706 modelBuilder.Entity("App.Domain.TripPollVote", b =>
707 {
708 b.Property<Guid>("Id")
709 .ValueGeneratedOnAdd()
710 .HasColumnType("uuid");
711
712 b.Property<DateTime>("CreatedAt")
713 .HasColumnType("timestamp with time zone");
714
715 b.Property<Guid>("PollOptionId")
716 .HasColumnType("uuid");
717
718 b.Property<DateTime>("UpdatedAt")
719 .HasColumnType("timestamp with time zone");
720
721 b.Property<Guid>("UserId")
722 .HasColumnType("uuid");
723
724 b.HasKey("Id");
725
726 b.HasIndex("UserId");
727
728 b.HasIndex("PollOptionId", "UserId")
729 .IsUnique();
730
731 b.ToTable("TripPollVotes");
732 });
733
734 modelBuilder.Entity("App.Domain.TripWishlistItem", b =>
735 {
736 b.Property<Guid>("Id")
737 .ValueGeneratedOnAdd()
738 .HasColumnType("uuid");
739
740 b.Property<Guid>("AddedByUserId")
741 .HasColumnType("uuid");
742
743 b.Property<int>("Category")
744 .HasColumnType("integer");
745
746 b.Property<DateTime?>("CompletedAt")
747 .HasColumnType("timestamp with time zone");
748
749 b.Property<DateTime>("CreatedAt")
750 .HasColumnType("timestamp with time zone");
751
752 b.Property<string>("Description")
753 .HasColumnType("text");
754
755 b.Property<int>("DisplayOrder")
756 .HasColumnType("integer");
757
758 b.Property<decimal?>("EstimatedCost")
759 .HasColumnType("numeric");
760
761 b.Property<bool>("IsCompleted")
762 .HasColumnType("boolean");
763
764 b.Property<string>("Location")
765 .HasMaxLength(300)
766 .HasColumnType("character varying(300)");
767
768 b.Property<int>("Priority")
769 .HasColumnType("integer");
770
771 b.Property<string>("Title")
772 .IsRequired()
773 .HasMaxLength(200)
774 .HasColumnType("character varying(200)");
775
776 b.Property<Guid>("TripId")
777 .HasColumnType("uuid");
778
779 b.Property<DateTime>("UpdatedAt")
780 .HasColumnType("timestamp with time zone");
781
782 b.Property<string>("Url")
783 .HasMaxLength(500)
784 .HasColumnType("character varying(500)");
785
786 b.HasKey("Id");
787
788 b.HasIndex("AddedByUserId");
789
790 b.HasIndex("TripId");
791
792 b.ToTable("TripWishlistItems");
793 });
794
795 modelBuilder.Entity("App.Domain.TripWishlistVote", b =>
796 {
797 b.Property<Guid>("Id")
798 .ValueGeneratedOnAdd()
799 .HasColumnType("uuid");
800
801 b.Property<DateTime>("CreatedAt")
802 .HasColumnType("timestamp with time zone");
803
804 b.Property<bool>("IsInterested")
805 .HasColumnType("boolean");
806
807 b.Property<DateTime>("UpdatedAt")
808 .HasColumnType("timestamp with time zone");
809
810 b.Property<Guid>("UserId")
811 .HasColumnType("uuid");
812
813 b.Property<Guid>("WishlistItemId")
814 .HasColumnType("uuid");
815
816 b.HasKey("Id");
817
818 b.HasIndex("UserId");
819
820 b.HasIndex("WishlistItemId", "UserId")
821 .IsUnique();
822
823 b.ToTable("TripWishlistVotes");
824 });
825
826 modelBuilder.Entity("Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey", b =>
827 {
828 b.Property<int>("Id")
829 .ValueGeneratedOnAdd()
830 .HasColumnType("integer");
831
832 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
833
834 b.Property<string>("FriendlyName")
835 .HasColumnType("text");
836
837 b.Property<string>("Xml")
838 .HasColumnType("text");
839
840 b.HasKey("Id");
841
842 b.ToTable("DataProtectionKeys");
843 });
844
845 modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
846 {
847 b.Property<int>("Id")
848 .ValueGeneratedOnAdd()
849 .HasColumnType("integer");
850
851 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
852
853 b.Property<string>("ClaimType")
854 .HasColumnType("text");
855
856 b.Property<string>("ClaimValue")
857 .HasColumnType("text");
858
859 b.Property<Guid>("RoleId")
860 .HasColumnType("uuid");
861
862 b.HasKey("Id");
863
864 b.HasIndex("RoleId");
865
866 b.ToTable("AspNetRoleClaims", (string)null);
867 });
868
869 modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
870 {
871 b.Property<int>("Id")
872 .ValueGeneratedOnAdd()
873 .HasColumnType("integer");
874
875 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
876
877 b.Property<string>("ClaimType")
878 .HasColumnType("text");
879
880 b.Property<string>("ClaimValue")
881 .HasColumnType("text");
882
883 b.Property<Guid>("UserId")
884 .HasColumnType("uuid");
885
886 b.HasKey("Id");
887
888 b.HasIndex("UserId");
889
890 b.ToTable("AspNetUserClaims", (string)null);
891 });
892
893 modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
894 {
895 b.Property<string>("LoginProvider")
896 .HasColumnType("text");
897
898 b.Property<string>("ProviderKey")
899 .HasColumnType("text");
900
901 b.Property<string>("ProviderDisplayName")
902 .HasColumnType("text");
903
904 b.Property<Guid>("UserId")
905 .HasColumnType("uuid");
906
907 b.HasKey("LoginProvider", "ProviderKey");
908
909 b.HasIndex("UserId");
910
911 b.ToTable("AspNetUserLogins", (string)null);
912 });
913
914 modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
915 {
916 b.Property<Guid>("UserId")
917 .HasColumnType("uuid");
918
919 b.Property<Guid>("RoleId")
920 .HasColumnType("uuid");
921
922 b.HasKey("UserId", "RoleId");
923
924 b.HasIndex("RoleId");
925
926 b.ToTable("AspNetUserRoles", (string)null);
927 });
928
929 modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
930 {
931 b.Property<Guid>("UserId")
932 .HasColumnType("uuid");
933
934 b.Property<string>("LoginProvider")
935 .HasColumnType("text");
936
937 b.Property<string>("Name")
938 .HasColumnType("text");
939
940 b.Property<string>("Value")
941 .HasColumnType("text");
942
943 b.HasKey("UserId", "LoginProvider", "Name");
944
945 b.ToTable("AspNetUserTokens", (string)null);
946 });
947
948 modelBuilder.Entity("App.Domain.BudgetCategory", b =>
949 {
950 b.HasOne("App.Domain.Trip", "Trip")
951 .WithMany("BudgetCategories")
952 .HasForeignKey("TripId")
953 .OnDelete(DeleteBehavior.Restrict)
954 .IsRequired();
955
956 b.Navigation("Trip");
957 });
958
959 modelBuilder.Entity("App.Domain.BudgetCategoryTranslation", b =>
960 {
961 b.HasOne("App.Domain.BudgetCategory", "BudgetCategory")
962 .WithMany("Translations")
963 .HasForeignKey("BudgetCategoryId")
964 .OnDelete(DeleteBehavior.Restrict)
965 .IsRequired();
966
967 b.Navigation("BudgetCategory");
968 });
969
970 modelBuilder.Entity("App.Domain.Expense", b =>
971 {
972 b.HasOne("App.Domain.BudgetCategory", "BudgetCategory")
973 .WithMany("Expenses")
974 .HasForeignKey("BudgetCategoryId")
975 .OnDelete(DeleteBehavior.Restrict);
976
977 b.HasOne("App.Domain.Currency", "Currency")
978 .WithMany()
979 .HasForeignKey("CurrencyId")
980 .OnDelete(DeleteBehavior.Restrict);
981
982 b.HasOne("App.Domain.Identity.AppUser", "PaidByUser")
983 .WithMany()
984 .HasForeignKey("PaidByUserId")
985 .OnDelete(DeleteBehavior.Restrict)
986 .IsRequired();
987
988 b.HasOne("App.Domain.Trip", "Trip")
989 .WithMany("Expenses")
990 .HasForeignKey("TripId")
991 .OnDelete(DeleteBehavior.Restrict)
992 .IsRequired();
993
994 b.Navigation("BudgetCategory");
995
996 b.Navigation("Currency");
997
998 b.Navigation("PaidByUser");
999
1000 b.Navigation("Trip");
1001 });
1002
1003 modelBuilder.Entity("App.Domain.ExpenseSplit", b =>
1004 {
1005 b.HasOne("App.Domain.Expense", "Expense")
1006 .WithMany("Splits")
1007 .HasForeignKey("ExpenseId")
1008 .OnDelete(DeleteBehavior.Restrict)
1009 .IsRequired();
1010
1011 b.HasOne("App.Domain.Identity.AppUser", "User")
1012 .WithMany()
1013 .HasForeignKey("UserId")
1014 .OnDelete(DeleteBehavior.Restrict)
1015 .IsRequired();
1016
1017 b.Navigation("Expense");
1018
1019 b.Navigation("User");
1020 });
1021
1022 modelBuilder.Entity("App.Domain.Identity.AppRefreshToken", b =>
1023 {
1024 b.HasOne("App.Domain.Identity.AppUser", "AppUser")
1025 .WithMany("RefreshTokens")
1026 .HasForeignKey("AppUserId")
1027 .OnDelete(DeleteBehavior.Restrict)
1028 .IsRequired();
1029
1030 b.Navigation("AppUser");
1031 });
1032
1033 modelBuilder.Entity("App.Domain.SettlementPayment", b =>
1034 {
1035 b.HasOne("App.Domain.Identity.AppUser", "FromUser")
1036 .WithMany()
1037 .HasForeignKey("FromUserId")
1038 .OnDelete(DeleteBehavior.Restrict)
1039 .IsRequired();
1040
1041 b.HasOne("App.Domain.SettlementPlan", "SettlementPlan")
1042 .WithMany("Payments")
1043 .HasForeignKey("SettlementPlanId")
1044 .OnDelete(DeleteBehavior.Restrict)
1045 .IsRequired();
1046
1047 b.HasOne("App.Domain.Identity.AppUser", "ToUser")
1048 .WithMany()
1049 .HasForeignKey("ToUserId")
1050 .OnDelete(DeleteBehavior.Restrict)
1051 .IsRequired();
1052
1053 b.Navigation("FromUser");
1054
1055 b.Navigation("SettlementPlan");
1056
1057 b.Navigation("ToUser");
1058 });
1059
1060 modelBuilder.Entity("App.Domain.SettlementPlan", b =>
1061 {
1062 b.HasOne("App.Domain.Identity.AppUser", "CreatedByUser")
1063 .WithMany()
1064 .HasForeignKey("CreatedByUserId")
1065 .OnDelete(DeleteBehavior.Restrict)
1066 .IsRequired();
1067
1068 b.HasOne("App.Domain.Trip", "Trip")
1069 .WithMany("SettlementPlans")
1070 .HasForeignKey("TripId")
1071 .OnDelete(DeleteBehavior.Restrict)
1072 .IsRequired();
1073
1074 b.Navigation("CreatedByUser");
1075
1076 b.Navigation("Trip");
1077 });
1078
1079 modelBuilder.Entity("App.Domain.SplitPreset", b =>
1080 {
1081 b.HasOne("App.Domain.Identity.AppUser", "CreatedBy")
1082 .WithMany()
1083 .HasForeignKey("CreatedById")
1084 .OnDelete(DeleteBehavior.Restrict)
1085 .IsRequired();
1086
1087 b.HasOne("App.Domain.Trip", "Trip")
1088 .WithMany()
1089 .HasForeignKey("TripId")
1090 .OnDelete(DeleteBehavior.Restrict)
1091 .IsRequired();
1092
1093 b.Navigation("CreatedBy");
1094
1095 b.Navigation("Trip");
1096 });
1097
1098 modelBuilder.Entity("App.Domain.SplitPresetMember", b =>
1099 {
1100 b.HasOne("App.Domain.SplitPreset", "SplitPreset")
1101 .WithMany("Members")
1102 .HasForeignKey("SplitPresetId")
1103 .OnDelete(DeleteBehavior.Restrict)
1104 .IsRequired();
1105
1106 b.HasOne("App.Domain.Identity.AppUser", "User")
1107 .WithMany()
1108 .HasForeignKey("UserId")
1109 .OnDelete(DeleteBehavior.Restrict)
1110 .IsRequired();
1111
1112 b.Navigation("SplitPreset");
1113
1114 b.Navigation("User");
1115 });
1116
1117 modelBuilder.Entity("App.Domain.Trip", b =>
1118 {
1119 b.HasOne("App.Domain.Identity.AppUser", "CreatedBy")
1120 .WithMany()
1121 .HasForeignKey("CreatedById")
1122 .OnDelete(DeleteBehavior.Restrict)
1123 .IsRequired();
1124
1125 b.HasOne("App.Domain.Currency", "DefaultCurrency")
1126 .WithMany()
1127 .HasForeignKey("DefaultCurrencyId")
1128 .OnDelete(DeleteBehavior.Restrict)
1129 .IsRequired();
1130
1131 b.Navigation("CreatedBy");
1132
1133 b.Navigation("DefaultCurrency");
1134 });
1135
1136 modelBuilder.Entity("App.Domain.TripInvitation", b =>
1137 {
1138 b.HasOne("App.Domain.Identity.AppUser", "InvitedByUser")
1139 .WithMany()
1140 .HasForeignKey("InvitedByUserId")
1141 .OnDelete(DeleteBehavior.Restrict)
1142 .IsRequired();
1143
1144 b.HasOne("App.Domain.Trip", "Trip")
1145 .WithMany("Invitations")
1146 .HasForeignKey("TripId")
1147 .OnDelete(DeleteBehavior.Restrict)
1148 .IsRequired();
1149
1150 b.Navigation("InvitedByUser");
1151
1152 b.Navigation("Trip");
1153 });
1154
1155 modelBuilder.Entity("App.Domain.TripParticipant", b =>
1156 {
1157 b.HasOne("App.Domain.Trip", "Trip")
1158 .WithMany("Participants")
1159 .HasForeignKey("TripId")
1160 .OnDelete(DeleteBehavior.Restrict)
1161 .IsRequired();
1162
1163 b.HasOne("App.Domain.Identity.AppUser", "User")
1164 .WithMany("TripParticipants")
1165 .HasForeignKey("UserId")
1166 .OnDelete(DeleteBehavior.Restrict)
1167 .IsRequired();
1168
1169 b.Navigation("Trip");
1170
1171 b.Navigation("User");
1172 });
1173
1174 modelBuilder.Entity("App.Domain.TripPoll", b =>
1175 {
1176 b.HasOne("App.Domain.Identity.AppUser", "CreatedByUser")
1177 .WithMany()
1178 .HasForeignKey("CreatedByUserId")
1179 .OnDelete(DeleteBehavior.Restrict)
1180 .IsRequired();
1181
1182 b.HasOne("App.Domain.Trip", "Trip")
1183 .WithMany("Polls")
1184 .HasForeignKey("TripId")
1185 .OnDelete(DeleteBehavior.Restrict)
1186 .IsRequired();
1187
1188 b.Navigation("CreatedByUser");
1189
1190 b.Navigation("Trip");
1191 });
1192
1193 modelBuilder.Entity("App.Domain.TripPollOption", b =>
1194 {
1195 b.HasOne("App.Domain.TripPoll", "Poll")
1196 .WithMany("Options")
1197 .HasForeignKey("PollId")
1198 .OnDelete(DeleteBehavior.Restrict)
1199 .IsRequired();
1200
1201 b.Navigation("Poll");
1202 });
1203
1204 modelBuilder.Entity("App.Domain.TripPollVote", b =>
1205 {
1206 b.HasOne("App.Domain.TripPollOption", "PollOption")
1207 .WithMany("Votes")
1208 .HasForeignKey("PollOptionId")
1209 .OnDelete(DeleteBehavior.Restrict)
1210 .IsRequired();
1211
1212 b.HasOne("App.Domain.Identity.AppUser", "User")
1213 .WithMany()
1214 .HasForeignKey("UserId")
1215 .OnDelete(DeleteBehavior.Restrict)
1216 .IsRequired();
1217
1218 b.Navigation("PollOption");
1219
1220 b.Navigation("User");
1221 });
1222
1223 modelBuilder.Entity("App.Domain.TripWishlistItem", b =>
1224 {
1225 b.HasOne("App.Domain.Identity.AppUser", "AddedByUser")
1226 .WithMany()
1227 .HasForeignKey("AddedByUserId")
1228 .OnDelete(DeleteBehavior.Restrict)
1229 .IsRequired();
1230
1231 b.HasOne("App.Domain.Trip", "Trip")
1232 .WithMany("WishlistItems")
1233 .HasForeignKey("TripId")
1234 .OnDelete(DeleteBehavior.Restrict)
1235 .IsRequired();
1236
1237 b.Navigation("AddedByUser");
1238
1239 b.Navigation("Trip");
1240 });
1241
1242 modelBuilder.Entity("App.Domain.TripWishlistVote", b =>
1243 {
1244 b.HasOne("App.Domain.Identity.AppUser", "User")
1245 .WithMany()
1246 .HasForeignKey("UserId")
1247 .OnDelete(DeleteBehavior.Restrict)
1248 .IsRequired();
1249
1250 b.HasOne("App.Domain.TripWishlistItem", "WishlistItem")
1251 .WithMany("Votes")
1252 .HasForeignKey("WishlistItemId")
1253 .OnDelete(DeleteBehavior.Restrict)
1254 .IsRequired();
1255
1256 b.Navigation("User");
1257
1258 b.Navigation("WishlistItem");
1259 });
1260
1261 modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
1262 {
1263 b.HasOne("App.Domain.Identity.AppRole", null)
1264 .WithMany()
1265 .HasForeignKey("RoleId")
1266 .OnDelete(DeleteBehavior.Restrict)
1267 .IsRequired();
1268 });
1269
1270 modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
1271 {
1272 b.HasOne("App.Domain.Identity.AppUser", null)
1273 .WithMany()
1274 .HasForeignKey("UserId")
1275 .OnDelete(DeleteBehavior.Restrict)
1276 .IsRequired();
1277 });
1278
1279 modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
1280 {
1281 b.HasOne("App.Domain.Identity.AppUser", null)
1282 .WithMany()
1283 .HasForeignKey("UserId")
1284 .OnDelete(DeleteBehavior.Restrict)
1285 .IsRequired();
1286 });
1287
1288 modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
1289 {
1290 b.HasOne("App.Domain.Identity.AppRole", null)
1291 .WithMany()
1292 .HasForeignKey("RoleId")
1293 .OnDelete(DeleteBehavior.Restrict)
1294 .IsRequired();
1295
1296 b.HasOne("App.Domain.Identity.AppUser", null)
1297 .WithMany()
1298 .HasForeignKey("UserId")
1299 .OnDelete(DeleteBehavior.Restrict)
1300 .IsRequired();
1301 });
1302
1303 modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
1304 {
1305 b.HasOne("App.Domain.Identity.AppUser", null)
1306 .WithMany()
1307 .HasForeignKey("UserId")
1308 .OnDelete(DeleteBehavior.Restrict)
1309 .IsRequired();
1310 });
1311
1312 modelBuilder.Entity("App.Domain.BudgetCategory", b =>
1313 {
1314 b.Navigation("Expenses");
1315
1316 b.Navigation("Translations");
1317 });
1318
1319 modelBuilder.Entity("App.Domain.Expense", b =>
1320 {
1321 b.Navigation("Splits");
1322 });
1323
1324 modelBuilder.Entity("App.Domain.Identity.AppUser", b =>
1325 {
1326 b.Navigation("RefreshTokens");
1327
1328 b.Navigation("TripParticipants");
1329 });
1330
1331 modelBuilder.Entity("App.Domain.SettlementPlan", b =>
1332 {
1333 b.Navigation("Payments");
1334 });
1335
1336 modelBuilder.Entity("App.Domain.SplitPreset", b =>
1337 {
1338 b.Navigation("Members");
1339 });
1340
1341 modelBuilder.Entity("App.Domain.Trip", b =>
1342 {
1343 b.Navigation("BudgetCategories");
1344
1345 b.Navigation("Expenses");
1346
1347 b.Navigation("Invitations");
1348
1349 b.Navigation("Participants");
1350
1351 b.Navigation("Polls");
1352
1353 b.Navigation("SettlementPlans");
1354
1355 b.Navigation("WishlistItems");
1356 });
1357
1358 modelBuilder.Entity("App.Domain.TripPoll", b =>
1359 {
1360 b.Navigation("Options");
1361 });
1362
1363 modelBuilder.Entity("App.Domain.TripPollOption", b =>
1364 {
1365 b.Navigation("Votes");
1366 });
1367
1368 modelBuilder.Entity("App.Domain.TripWishlistItem", b =>
1369 {
1370 b.Navigation("Votes");
1371 });
1372 #pragma warning restore 612, 618
1373 }
1374 }
1375 }
1376