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