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