profileShare

rasmusjy / splitapp-backend-clean-onion

Read-only snapshot

No repository description.

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