tgstation-server 6.12.0
The /tg/station 13 server suite
Loading...
Searching...
No Matches
20241103161915_SLAddAutoStartAndStop.Designer.cs
Go to the documentation of this file.
1// <auto-generated />
2using System;
3
4using Microsoft.EntityFrameworkCore;
5using Microsoft.EntityFrameworkCore.Infrastructure;
6using Microsoft.EntityFrameworkCore.Migrations;
7
9{
10 [DbContext(typeof(SqliteDatabaseContext))]
11 [Migration("20241103161915_SLAddAutoStartAndStop")]
12 partial class SLAddAutoStartAndStop
13 {
15 protected override void BuildTargetModel(ModelBuilder modelBuilder)
16 {
17#pragma warning disable 612, 618
18 modelBuilder.HasAnnotation("ProductVersion", "8.0.10");
19
20 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
21 {
22 b.Property<long?>("Id")
23 .ValueGeneratedOnAdd()
24 .HasColumnType("INTEGER");
25
26 b.Property<ushort?>("ChannelLimit")
27 .IsRequired()
28 .HasColumnType("INTEGER");
29
30 b.Property<string>("ConnectionString")
31 .IsRequired()
32 .HasMaxLength(10000)
33 .HasColumnType("TEXT");
34
35 b.Property<bool?>("Enabled")
36 .HasColumnType("INTEGER");
37
38 b.Property<long>("InstanceId")
39 .HasColumnType("INTEGER");
40
41 b.Property<string>("Name")
42 .IsRequired()
43 .HasMaxLength(100)
44 .HasColumnType("TEXT");
45
46 b.Property<int>("Provider")
47 .HasColumnType("INTEGER");
48
49 b.Property<uint?>("ReconnectionInterval")
50 .IsRequired()
51 .HasColumnType("INTEGER");
52
53 b.HasKey("Id");
54
55 b.HasIndex("InstanceId", "Name")
56 .IsUnique();
57
58 b.ToTable("ChatBots");
59 });
60
61 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
62 {
63 b.Property<long>("Id")
64 .ValueGeneratedOnAdd()
65 .HasColumnType("INTEGER");
66
67 b.Property<long>("ChatSettingsId")
68 .HasColumnType("INTEGER");
69
70 b.Property<ulong?>("DiscordChannelId")
71 .HasColumnType("INTEGER");
72
73 b.Property<string>("IrcChannel")
74 .HasMaxLength(100)
75 .HasColumnType("TEXT");
76
77 b.Property<bool?>("IsAdminChannel")
78 .IsRequired()
79 .HasColumnType("INTEGER");
80
81 b.Property<bool?>("IsSystemChannel")
82 .IsRequired()
83 .HasColumnType("INTEGER");
84
85 b.Property<bool?>("IsUpdatesChannel")
86 .IsRequired()
87 .HasColumnType("INTEGER");
88
89 b.Property<bool?>("IsWatchdogChannel")
90 .IsRequired()
91 .HasColumnType("INTEGER");
92
93 b.Property<string>("Tag")
94 .HasMaxLength(10000)
95 .HasColumnType("TEXT");
96
97 b.HasKey("Id");
98
99 b.HasIndex("ChatSettingsId", "DiscordChannelId")
100 .IsUnique();
101
102 b.HasIndex("ChatSettingsId", "IrcChannel")
103 .IsUnique();
104
105 b.ToTable("ChatChannels");
106 });
107
108 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
109 {
110 b.Property<long?>("Id")
111 .ValueGeneratedOnAdd()
112 .HasColumnType("INTEGER");
113
114 b.Property<int?>("DMApiMajorVersion")
115 .HasColumnType("INTEGER");
116
117 b.Property<int?>("DMApiMinorVersion")
118 .HasColumnType("INTEGER");
119
120 b.Property<int?>("DMApiPatchVersion")
121 .HasColumnType("INTEGER");
122
123 b.Property<Guid?>("DirectoryName")
124 .IsRequired()
125 .HasColumnType("TEXT");
126
127 b.Property<string>("DmeName")
128 .IsRequired()
129 .HasColumnType("TEXT");
130
131 b.Property<string>("EngineVersion")
132 .IsRequired()
133 .HasColumnType("TEXT");
134
135 b.Property<long?>("GitHubDeploymentId")
136 .HasColumnType("INTEGER");
137
138 b.Property<long?>("GitHubRepoId")
139 .HasColumnType("INTEGER");
140
141 b.Property<long>("JobId")
142 .HasColumnType("INTEGER");
143
144 b.Property<int?>("MinimumSecurityLevel")
145 .HasColumnType("INTEGER");
146
147 b.Property<string>("Output")
148 .IsRequired()
149 .HasColumnType("TEXT");
150
151 b.Property<string>("RepositoryOrigin")
152 .HasColumnType("TEXT");
153
154 b.Property<long>("RevisionInformationId")
155 .HasColumnType("INTEGER");
156
157 b.HasKey("Id");
158
159 b.HasIndex("DirectoryName");
160
161 b.HasIndex("JobId")
162 .IsUnique();
163
164 b.HasIndex("RevisionInformationId");
165
166 b.ToTable("CompileJobs");
167 });
168
169 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
170 {
171 b.Property<long>("Id")
172 .ValueGeneratedOnAdd()
173 .HasColumnType("INTEGER");
174
175 b.Property<string>("AdditionalParameters")
176 .IsRequired()
177 .HasMaxLength(10000)
178 .HasColumnType("TEXT");
179
180 b.Property<bool?>("AllowWebClient")
181 .IsRequired()
182 .HasColumnType("INTEGER");
183
184 b.Property<bool?>("AutoStart")
185 .IsRequired()
186 .HasColumnType("INTEGER");
187
188 b.Property<bool?>("DumpOnHealthCheckRestart")
189 .IsRequired()
190 .HasColumnType("INTEGER");
191
192 b.Property<uint?>("HealthCheckSeconds")
193 .IsRequired()
194 .HasColumnType("INTEGER");
195
196 b.Property<long>("InstanceId")
197 .HasColumnType("INTEGER");
198
199 b.Property<bool?>("LogOutput")
200 .IsRequired()
201 .HasColumnType("INTEGER");
202
203 b.Property<uint?>("MapThreads")
204 .IsRequired()
205 .HasColumnType("INTEGER");
206
207 b.Property<bool?>("Minidumps")
208 .IsRequired()
209 .HasColumnType("INTEGER");
210
211 b.Property<ushort?>("OpenDreamTopicPort")
212 .IsRequired()
213 .HasColumnType("INTEGER");
214
215 b.Property<ushort?>("Port")
216 .IsRequired()
217 .HasColumnType("INTEGER");
218
219 b.Property<int>("SecurityLevel")
220 .HasColumnType("INTEGER");
221
222 b.Property<bool?>("StartProfiler")
223 .IsRequired()
224 .HasColumnType("INTEGER");
225
226 b.Property<uint?>("StartupTimeout")
227 .IsRequired()
228 .HasColumnType("INTEGER");
229
230 b.Property<uint?>("TopicRequestTimeout")
231 .IsRequired()
232 .HasColumnType("INTEGER");
233
234 b.Property<int>("Visibility")
235 .HasColumnType("INTEGER");
236
237 b.HasKey("Id");
238
239 b.HasIndex("InstanceId")
240 .IsUnique();
241
242 b.ToTable("DreamDaemonSettings");
243 });
244
245 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
246 {
247 b.Property<long>("Id")
248 .ValueGeneratedOnAdd()
249 .HasColumnType("INTEGER");
250
251 b.Property<ushort?>("ApiValidationPort")
252 .IsRequired()
253 .HasColumnType("INTEGER");
254
255 b.Property<int>("ApiValidationSecurityLevel")
256 .HasColumnType("INTEGER");
257
258 b.Property<string>("CompilerAdditionalArguments")
259 .HasMaxLength(10000)
260 .HasColumnType("TEXT");
261
262 b.Property<int>("DMApiValidationMode")
263 .HasColumnType("INTEGER");
264
265 b.Property<long>("InstanceId")
266 .HasColumnType("INTEGER");
267
268 b.Property<string>("ProjectName")
269 .HasMaxLength(10000)
270 .HasColumnType("TEXT");
271
272 b.Property<TimeSpan?>("Timeout")
273 .IsRequired()
274 .HasColumnType("TEXT");
275
276 b.HasKey("Id");
277
278 b.HasIndex("InstanceId")
279 .IsUnique();
280
281 b.ToTable("DreamMakerSettings");
282 });
283
284 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
285 {
286 b.Property<long?>("Id")
287 .ValueGeneratedOnAdd()
288 .HasColumnType("INTEGER");
289
290 b.Property<string>("AutoStartCron")
291 .IsRequired()
292 .HasMaxLength(1000)
293 .HasColumnType("TEXT");
294
295 b.Property<string>("AutoStopCron")
296 .IsRequired()
297 .HasMaxLength(1000)
298 .HasColumnType("TEXT");
299
300 b.Property<string>("AutoUpdateCron")
301 .IsRequired()
302 .HasMaxLength(1000)
303 .HasColumnType("TEXT");
304
305 b.Property<uint?>("AutoUpdateInterval")
306 .IsRequired()
307 .HasColumnType("INTEGER");
308
309 b.Property<ushort?>("ChatBotLimit")
310 .IsRequired()
311 .HasColumnType("INTEGER");
312
313 b.Property<int>("ConfigurationType")
314 .HasColumnType("INTEGER");
315
316 b.Property<string>("Name")
317 .IsRequired()
318 .HasMaxLength(100)
319 .HasColumnType("TEXT");
320
321 b.Property<bool?>("Online")
322 .IsRequired()
323 .HasColumnType("INTEGER");
324
325 b.Property<string>("Path")
326 .IsRequired()
327 .HasColumnType("TEXT");
328
329 b.Property<string>("SwarmIdentifer")
330 .HasColumnType("TEXT");
331
332 b.HasKey("Id");
333
334 b.HasIndex("Path", "SwarmIdentifer")
335 .IsUnique();
336
337 b.ToTable("Instances");
338 });
339
340 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
341 {
342 b.Property<long>("Id")
343 .ValueGeneratedOnAdd()
344 .HasColumnType("INTEGER");
345
346 b.Property<ulong>("ChatBotRights")
347 .HasColumnType("INTEGER");
348
349 b.Property<ulong>("ConfigurationRights")
350 .HasColumnType("INTEGER");
351
352 b.Property<ulong>("DreamDaemonRights")
353 .HasColumnType("INTEGER");
354
355 b.Property<ulong>("DreamMakerRights")
356 .HasColumnType("INTEGER");
357
358 b.Property<ulong>("EngineRights")
359 .HasColumnType("INTEGER");
360
361 b.Property<long>("InstanceId")
362 .HasColumnType("INTEGER");
363
364 b.Property<ulong>("InstancePermissionSetRights")
365 .HasColumnType("INTEGER");
366
367 b.Property<long>("PermissionSetId")
368 .HasColumnType("INTEGER");
369
370 b.Property<ulong>("RepositoryRights")
371 .HasColumnType("INTEGER");
372
373 b.HasKey("Id");
374
375 b.HasIndex("InstanceId");
376
377 b.HasIndex("PermissionSetId", "InstanceId")
378 .IsUnique();
379
380 b.ToTable("InstancePermissionSets");
381 });
382
383 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
384 {
385 b.Property<long?>("Id")
386 .ValueGeneratedOnAdd()
387 .HasColumnType("INTEGER");
388
389 b.Property<ulong?>("CancelRight")
390 .HasColumnType("INTEGER");
391
392 b.Property<ulong?>("CancelRightsType")
393 .HasColumnType("INTEGER");
394
395 b.Property<bool?>("Cancelled")
396 .IsRequired()
397 .HasColumnType("INTEGER");
398
399 b.Property<long?>("CancelledById")
400 .HasColumnType("INTEGER");
401
402 b.Property<string>("Description")
403 .IsRequired()
404 .HasColumnType("TEXT");
405
406 b.Property<uint?>("ErrorCode")
407 .HasColumnType("INTEGER");
408
409 b.Property<string>("ExceptionDetails")
410 .HasColumnType("TEXT");
411
412 b.Property<long>("InstanceId")
413 .HasColumnType("INTEGER");
414
415 b.Property<byte>("JobCode")
416 .HasColumnType("INTEGER");
417
418 b.Property<DateTimeOffset?>("StartedAt")
419 .IsRequired()
420 .HasColumnType("TEXT");
421
422 b.Property<long>("StartedById")
423 .HasColumnType("INTEGER");
424
425 b.Property<DateTimeOffset?>("StoppedAt")
426 .HasColumnType("TEXT");
427
428 b.HasKey("Id");
429
430 b.HasIndex("CancelledById");
431
432 b.HasIndex("InstanceId");
433
434 b.HasIndex("StartedById");
435
436 b.ToTable("Jobs");
437 });
438
439 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
440 {
441 b.Property<long>("Id")
442 .ValueGeneratedOnAdd()
443 .HasColumnType("INTEGER");
444
445 b.Property<string>("ExternalUserId")
446 .IsRequired()
447 .HasMaxLength(100)
448 .HasColumnType("TEXT");
449
450 b.Property<int>("Provider")
451 .HasColumnType("INTEGER");
452
453 b.Property<long>("UserId")
454 .HasColumnType("INTEGER");
455
456 b.HasKey("Id");
457
458 b.HasIndex("UserId");
459
460 b.HasIndex("Provider", "ExternalUserId")
461 .IsUnique();
462
463 b.ToTable("OAuthConnections");
464 });
465
466 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
467 {
468 b.Property<long?>("Id")
469 .ValueGeneratedOnAdd()
470 .HasColumnType("INTEGER");
471
472 b.Property<ulong>("AdministrationRights")
473 .HasColumnType("INTEGER");
474
475 b.Property<long?>("GroupId")
476 .HasColumnType("INTEGER");
477
478 b.Property<ulong>("InstanceManagerRights")
479 .HasColumnType("INTEGER");
480
481 b.Property<long?>("UserId")
482 .HasColumnType("INTEGER");
483
484 b.HasKey("Id");
485
486 b.HasIndex("GroupId")
487 .IsUnique();
488
489 b.HasIndex("UserId")
490 .IsUnique();
491
492 b.ToTable("PermissionSets");
493 });
494
495 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
496 {
497 b.Property<long?>("Id")
498 .ValueGeneratedOnAdd()
499 .HasColumnType("INTEGER");
500
501 b.Property<string>("AccessIdentifier")
502 .IsRequired()
503 .HasColumnType("TEXT");
504
505 b.Property<long>("CompileJobId")
506 .HasColumnType("INTEGER");
507
508 b.Property<long?>("InitialCompileJobId")
509 .HasColumnType("INTEGER");
510
511 b.Property<int>("LaunchSecurityLevel")
512 .HasColumnType("INTEGER");
513
514 b.Property<int>("LaunchVisibility")
515 .HasColumnType("INTEGER");
516
517 b.Property<ushort>("Port")
518 .HasColumnType("INTEGER");
519
520 b.Property<int>("ProcessId")
521 .HasColumnType("INTEGER");
522
523 b.Property<int>("RebootState")
524 .HasColumnType("INTEGER");
525
526 b.Property<ushort?>("TopicPort")
527 .HasColumnType("INTEGER");
528
529 b.HasKey("Id");
530
531 b.HasIndex("CompileJobId");
532
533 b.HasIndex("InitialCompileJobId");
534
535 b.ToTable("ReattachInformations");
536 });
537
538 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
539 {
540 b.Property<long>("Id")
541 .ValueGeneratedOnAdd()
542 .HasColumnType("INTEGER");
543
544 b.Property<string>("AccessToken")
545 .HasMaxLength(10000)
546 .HasColumnType("TEXT");
547
548 b.Property<string>("AccessUser")
549 .HasMaxLength(10000)
550 .HasColumnType("TEXT");
551
552 b.Property<bool?>("AutoUpdatesKeepTestMerges")
553 .IsRequired()
554 .HasColumnType("INTEGER");
555
556 b.Property<bool?>("AutoUpdatesSynchronize")
557 .IsRequired()
558 .HasColumnType("INTEGER");
559
560 b.Property<string>("CommitterEmail")
561 .IsRequired()
562 .HasMaxLength(10000)
563 .HasColumnType("TEXT");
564
565 b.Property<string>("CommitterName")
566 .IsRequired()
567 .HasMaxLength(10000)
568 .HasColumnType("TEXT");
569
570 b.Property<bool?>("CreateGitHubDeployments")
571 .IsRequired()
572 .HasColumnType("INTEGER");
573
574 b.Property<long>("InstanceId")
575 .HasColumnType("INTEGER");
576
577 b.Property<bool?>("PostTestMergeComment")
578 .IsRequired()
579 .HasColumnType("INTEGER");
580
581 b.Property<bool?>("PushTestMergeCommits")
582 .IsRequired()
583 .HasColumnType("INTEGER");
584
585 b.Property<bool?>("ShowTestMergeCommitters")
586 .IsRequired()
587 .HasColumnType("INTEGER");
588
589 b.Property<bool?>("UpdateSubmodules")
590 .IsRequired()
591 .HasColumnType("INTEGER");
592
593 b.HasKey("Id");
594
595 b.HasIndex("InstanceId")
596 .IsUnique();
597
598 b.ToTable("RepositorySettings");
599 });
600
601 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
602 {
603 b.Property<long>("Id")
604 .ValueGeneratedOnAdd()
605 .HasColumnType("INTEGER");
606
607 b.Property<long>("RevisionInformationId")
608 .HasColumnType("INTEGER");
609
610 b.Property<long>("TestMergeId")
611 .HasColumnType("INTEGER");
612
613 b.HasKey("Id");
614
615 b.HasIndex("RevisionInformationId");
616
617 b.HasIndex("TestMergeId");
618
619 b.ToTable("RevInfoTestMerges");
620 });
621
622 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
623 {
624 b.Property<long>("Id")
625 .ValueGeneratedOnAdd()
626 .HasColumnType("INTEGER");
627
628 b.Property<string>("CommitSha")
629 .IsRequired()
630 .HasMaxLength(40)
631 .HasColumnType("TEXT");
632
633 b.Property<long>("InstanceId")
634 .HasColumnType("INTEGER");
635
636 b.Property<string>("OriginCommitSha")
637 .IsRequired()
638 .HasMaxLength(40)
639 .HasColumnType("TEXT");
640
641 b.Property<DateTimeOffset>("Timestamp")
642 .HasColumnType("TEXT");
643
644 b.HasKey("Id");
645
646 b.HasIndex("InstanceId", "CommitSha")
647 .IsUnique();
648
649 b.ToTable("RevisionInformations");
650 });
651
652 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
653 {
654 b.Property<long>("Id")
655 .ValueGeneratedOnAdd()
656 .HasColumnType("INTEGER");
657
658 b.Property<string>("Author")
659 .IsRequired()
660 .HasColumnType("TEXT");
661
662 b.Property<string>("BodyAtMerge")
663 .IsRequired()
664 .HasColumnType("TEXT");
665
666 b.Property<string>("Comment")
667 .HasMaxLength(10000)
668 .HasColumnType("TEXT");
669
670 b.Property<DateTimeOffset>("MergedAt")
671 .HasColumnType("TEXT");
672
673 b.Property<long>("MergedById")
674 .HasColumnType("INTEGER");
675
676 b.Property<int>("Number")
677 .HasColumnType("INTEGER");
678
679 b.Property<long?>("PrimaryRevisionInformationId")
680 .IsRequired()
681 .HasColumnType("INTEGER");
682
683 b.Property<string>("TargetCommitSha")
684 .IsRequired()
685 .HasMaxLength(40)
686 .HasColumnType("TEXT");
687
688 b.Property<string>("TitleAtMerge")
689 .IsRequired()
690 .HasColumnType("TEXT");
691
692 b.Property<string>("Url")
693 .IsRequired()
694 .HasColumnType("TEXT");
695
696 b.HasKey("Id");
697
698 b.HasIndex("MergedById");
699
700 b.HasIndex("PrimaryRevisionInformationId")
701 .IsUnique();
702
703 b.ToTable("TestMerges");
704 });
705
706 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
707 {
708 b.Property<long?>("Id")
709 .ValueGeneratedOnAdd()
710 .HasColumnType("INTEGER");
711
712 b.Property<string>("CanonicalName")
713 .IsRequired()
714 .HasMaxLength(100)
715 .HasColumnType("TEXT");
716
717 b.Property<DateTimeOffset?>("CreatedAt")
718 .IsRequired()
719 .HasColumnType("TEXT");
720
721 b.Property<long?>("CreatedById")
722 .HasColumnType("INTEGER");
723
724 b.Property<bool?>("Enabled")
725 .IsRequired()
726 .HasColumnType("INTEGER");
727
728 b.Property<long?>("GroupId")
729 .HasColumnType("INTEGER");
730
731 b.Property<DateTimeOffset?>("LastPasswordUpdate")
732 .HasColumnType("TEXT");
733
734 b.Property<string>("Name")
735 .IsRequired()
736 .HasMaxLength(100)
737 .HasColumnType("TEXT");
738
739 b.Property<string>("PasswordHash")
740 .HasColumnType("TEXT");
741
742 b.Property<string>("SystemIdentifier")
743 .HasMaxLength(100)
744 .HasColumnType("TEXT");
745
746 b.HasKey("Id");
747
748 b.HasIndex("CanonicalName")
749 .IsUnique();
750
751 b.HasIndex("CreatedById");
752
753 b.HasIndex("GroupId");
754
755 b.HasIndex("SystemIdentifier")
756 .IsUnique();
757
758 b.ToTable("Users");
759 });
760
761 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
762 {
763 b.Property<long?>("Id")
764 .ValueGeneratedOnAdd()
765 .HasColumnType("INTEGER");
766
767 b.Property<string>("Name")
768 .IsRequired()
769 .HasMaxLength(100)
770 .HasColumnType("TEXT");
771
772 b.HasKey("Id");
773
774 b.HasIndex("Name")
775 .IsUnique();
776
777 b.ToTable("Groups");
778 });
779
780 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
781 {
782 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
783 .WithMany("ChatSettings")
784 .HasForeignKey("InstanceId")
785 .OnDelete(DeleteBehavior.Cascade)
786 .IsRequired();
787
788 b.Navigation("Instance");
789 });
790
791 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
792 {
793 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
794 .WithMany("Channels")
795 .HasForeignKey("ChatSettingsId")
796 .OnDelete(DeleteBehavior.Cascade)
797 .IsRequired();
798
799 b.Navigation("ChatSettings");
800 });
801
802 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
803 {
804 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
805 .WithOne()
806 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
807 .OnDelete(DeleteBehavior.Cascade)
808 .IsRequired();
809
810 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
811 .WithMany("CompileJobs")
812 .HasForeignKey("RevisionInformationId")
813 .OnDelete(DeleteBehavior.ClientNoAction)
814 .IsRequired();
815
816 b.Navigation("Job");
817
818 b.Navigation("RevisionInformation");
819 });
820
821 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
822 {
823 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
824 .WithOne("DreamDaemonSettings")
825 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
826 .OnDelete(DeleteBehavior.Cascade)
827 .IsRequired();
828
829 b.Navigation("Instance");
830 });
831
832 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
833 {
834 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
835 .WithOne("DreamMakerSettings")
836 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
837 .OnDelete(DeleteBehavior.Cascade)
838 .IsRequired();
839
840 b.Navigation("Instance");
841 });
842
843 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
844 {
845 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
846 .WithMany("InstancePermissionSets")
847 .HasForeignKey("InstanceId")
848 .OnDelete(DeleteBehavior.Cascade)
849 .IsRequired();
850
851 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
852 .WithMany("InstancePermissionSets")
853 .HasForeignKey("PermissionSetId")
854 .OnDelete(DeleteBehavior.Cascade)
855 .IsRequired();
856
857 b.Navigation("Instance");
858
859 b.Navigation("PermissionSet");
860 });
861
862 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
863 {
864 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
865 .WithMany()
866 .HasForeignKey("CancelledById");
867
868 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
869 .WithMany("Jobs")
870 .HasForeignKey("InstanceId")
871 .OnDelete(DeleteBehavior.Cascade)
872 .IsRequired();
873
874 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
875 .WithMany()
876 .HasForeignKey("StartedById")
877 .OnDelete(DeleteBehavior.Cascade)
878 .IsRequired();
879
880 b.Navigation("CancelledBy");
881
882 b.Navigation("Instance");
883
884 b.Navigation("StartedBy");
885 });
886
887 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
888 {
889 b.HasOne("Tgstation.Server.Host.Models.User", "User")
890 .WithMany("OAuthConnections")
891 .HasForeignKey("UserId")
892 .OnDelete(DeleteBehavior.Cascade)
893 .IsRequired();
894
895 b.Navigation("User");
896 });
897
898 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
899 {
900 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
901 .WithOne("PermissionSet")
902 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
903 .OnDelete(DeleteBehavior.Cascade);
904
905 b.HasOne("Tgstation.Server.Host.Models.User", "User")
906 .WithOne("PermissionSet")
907 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
908 .OnDelete(DeleteBehavior.Cascade);
909
910 b.Navigation("Group");
911
912 b.Navigation("User");
913 });
914
915 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
916 {
917 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
918 .WithMany()
919 .HasForeignKey("CompileJobId")
920 .OnDelete(DeleteBehavior.Cascade)
921 .IsRequired();
922
923 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
924 .WithMany()
925 .HasForeignKey("InitialCompileJobId");
926
927 b.Navigation("CompileJob");
928
929 b.Navigation("InitialCompileJob");
930 });
931
932 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
933 {
934 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
935 .WithOne("RepositorySettings")
936 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
937 .OnDelete(DeleteBehavior.Cascade)
938 .IsRequired();
939
940 b.Navigation("Instance");
941 });
942
943 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
944 {
945 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
946 .WithMany("ActiveTestMerges")
947 .HasForeignKey("RevisionInformationId")
948 .OnDelete(DeleteBehavior.Cascade)
949 .IsRequired();
950
951 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
952 .WithMany("RevisonInformations")
953 .HasForeignKey("TestMergeId")
954 .OnDelete(DeleteBehavior.ClientNoAction)
955 .IsRequired();
956
957 b.Navigation("RevisionInformation");
958
959 b.Navigation("TestMerge");
960 });
961
962 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
963 {
964 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
965 .WithMany("RevisionInformations")
966 .HasForeignKey("InstanceId")
967 .OnDelete(DeleteBehavior.Cascade)
968 .IsRequired();
969
970 b.Navigation("Instance");
971 });
972
973 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
974 {
975 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
976 .WithMany("TestMerges")
977 .HasForeignKey("MergedById")
978 .OnDelete(DeleteBehavior.Restrict)
979 .IsRequired();
980
981 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
982 .WithOne("PrimaryTestMerge")
983 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
984 .OnDelete(DeleteBehavior.Cascade)
985 .IsRequired();
986
987 b.Navigation("MergedBy");
988
989 b.Navigation("PrimaryRevisionInformation");
990 });
991
992 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
993 {
994 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
995 .WithMany("CreatedUsers")
996 .HasForeignKey("CreatedById");
997
998 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
999 .WithMany("Users")
1000 .HasForeignKey("GroupId");
1001
1002 b.Navigation("CreatedBy");
1003
1004 b.Navigation("Group");
1005 });
1006
1007 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
1008 {
1009 b.Navigation("Channels");
1010 });
1011
1012 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
1013 {
1014 b.Navigation("ChatSettings");
1015
1016 b.Navigation("DreamDaemonSettings");
1017
1018 b.Navigation("DreamMakerSettings");
1019
1020 b.Navigation("InstancePermissionSets");
1021
1022 b.Navigation("Jobs");
1023
1024 b.Navigation("RepositorySettings");
1025
1026 b.Navigation("RevisionInformations");
1027 });
1028
1029 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
1030 {
1031 b.Navigation("InstancePermissionSets");
1032 });
1033
1034 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
1035 {
1036 b.Navigation("ActiveTestMerges");
1037
1038 b.Navigation("CompileJobs");
1039
1040 b.Navigation("PrimaryTestMerge");
1041 });
1042
1043 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
1044 {
1045 b.Navigation("RevisonInformations");
1046 });
1047
1048 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
1049 {
1050 b.Navigation("CreatedUsers");
1051
1052 b.Navigation("OAuthConnections");
1053
1054 b.Navigation("PermissionSet");
1055
1056 b.Navigation("TestMerges");
1057 });
1058
1059 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
1060 {
1061 b.Navigation("PermissionSet")
1062 .IsRequired();
1063
1064 b.Navigation("Users");
1065 });
1066#pragma warning restore 612, 618
1067 }
1068 }
1069}