< Summary

Line coverage
0%
Covered lines: 0
Uncovered lines: 1252
Coverable lines: 1252
Total lines: 1338
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
File 1: Up(...)100%210%
File 1: Down(...)100%210%
File 2: BuildTargetModel(...)100%210%

File(s)

/home/runner/work/chronicis/chronicis/src/Chronicis.Api/Migrations/20260211233703_AddArticleIdToWorldDocument.cs

#LineLine coverage
 1using Microsoft.EntityFrameworkCore.Migrations;
 2
 3#nullable disable
 4
 5namespace Chronicis.Api.Migrations
 6{
 7    /// <inheritdoc />
 8    public partial class AddArticleIdToWorldDocument : Migration
 9    {
 10        /// <inheritdoc />
 11        protected override void Up(MigrationBuilder migrationBuilder)
 12        {
 013            migrationBuilder.AddColumn<Guid>(
 014                name: "ArticleId",
 015                table: "WorldDocuments",
 016                type: "uniqueidentifier",
 017                nullable: true);
 18
 019            migrationBuilder.CreateIndex(
 020                name: "IX_WorldDocuments_ArticleId",
 021                table: "WorldDocuments",
 022                column: "ArticleId",
 023                filter: "[ArticleId] IS NOT NULL");
 24
 025            migrationBuilder.AddForeignKey(
 026                name: "FK_WorldDocuments_Articles_ArticleId",
 027                table: "WorldDocuments",
 028                column: "ArticleId",
 029                principalTable: "Articles",
 030                principalColumn: "Id",
 031                onDelete: ReferentialAction.SetNull);
 032        }
 33
 34        /// <inheritdoc />
 35        protected override void Down(MigrationBuilder migrationBuilder)
 36        {
 037            migrationBuilder.DropForeignKey(
 038                name: "FK_WorldDocuments_Articles_ArticleId",
 039                table: "WorldDocuments");
 40
 041            migrationBuilder.DropIndex(
 042                name: "IX_WorldDocuments_ArticleId",
 043                table: "WorldDocuments");
 44
 045            migrationBuilder.DropColumn(
 046                name: "ArticleId",
 047                table: "WorldDocuments");
 048        }
 49    }
 50}

/home/runner/work/chronicis/chronicis/src/Chronicis.Api/Migrations/20260211233703_AddArticleIdToWorldDocument.Designer.cs

#LineLine coverage
 1// <auto-generated />
 2using System;
 3using Chronicis.Api.Data;
 4using Microsoft.EntityFrameworkCore;
 5using Microsoft.EntityFrameworkCore.Infrastructure;
 6using Microsoft.EntityFrameworkCore.Metadata;
 7using Microsoft.EntityFrameworkCore.Migrations;
 8using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 9
 10#nullable disable
 11
 12namespace Chronicis.Api.Migrations
 13{
 14    [DbContext(typeof(ChronicisDbContext))]
 15    [Migration("20260211233703_AddArticleIdToWorldDocument")]
 16    partial class AddArticleIdToWorldDocument
 17    {
 18        /// <inheritdoc />
 19        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 20        {
 21#pragma warning disable 612, 618
 022            modelBuilder
 023                .HasAnnotation("ProductVersion", "9.0.0")
 024                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 25
 026            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 27
 028            modelBuilder.Entity("Chronicis.Shared.Models.Arc", b =>
 029                {
 030                    b.Property<Guid>("Id")
 031                        .ValueGeneratedOnAdd()
 032                        .HasColumnType("uniqueidentifier");
 033
 034                    b.Property<string>("AISummary")
 035                        .HasColumnType("nvarchar(max)");
 036
 037                    b.Property<DateTime?>("AISummaryGeneratedAt")
 038                        .HasColumnType("datetime2");
 039
 040                    b.Property<Guid>("CampaignId")
 041                        .HasColumnType("uniqueidentifier");
 042
 043                    b.Property<DateTime>("CreatedAt")
 044                        .HasColumnType("datetime2");
 045
 046                    b.Property<Guid>("CreatedBy")
 047                        .HasColumnType("uniqueidentifier");
 048
 049                    b.Property<string>("Description")
 050                        .HasMaxLength(1000)
 051                        .HasColumnType("nvarchar(1000)");
 052
 053                    b.Property<bool>("IsActive")
 054                        .HasColumnType("bit");
 055
 056                    b.Property<string>("Name")
 057                        .IsRequired()
 058                        .HasMaxLength(200)
 059                        .HasColumnType("nvarchar(200)");
 060
 061                    b.Property<int>("SortOrder")
 062                        .HasColumnType("int");
 063
 064                    b.Property<string>("SummaryCustomPrompt")
 065                        .HasColumnType("nvarchar(max)");
 066
 067                    b.Property<bool>("SummaryIncludeWebSources")
 068                        .HasColumnType("bit");
 069
 070                    b.Property<Guid?>("SummaryTemplateId")
 071                        .HasColumnType("uniqueidentifier");
 072
 073                    b.HasKey("Id");
 074
 075                    b.HasIndex("CampaignId");
 076
 077                    b.HasIndex("CreatedBy");
 078
 079                    b.HasIndex("SummaryTemplateId");
 080
 081                    b.HasIndex("CampaignId", "SortOrder");
 082
 083                    b.ToTable("Arcs");
 084                });
 85
 086            modelBuilder.Entity("Chronicis.Shared.Models.Article", b =>
 087                {
 088                    b.Property<Guid>("Id")
 089                        .ValueGeneratedOnAdd()
 090                        .HasColumnType("uniqueidentifier");
 091
 092                    b.Property<string>("AISummary")
 093                        .HasColumnType("nvarchar(max)");
 094
 095                    b.Property<DateTime?>("AISummaryGeneratedAt")
 096                        .HasColumnType("datetime2");
 097
 098                    b.Property<Guid?>("ArcId")
 099                        .HasColumnType("uniqueidentifier");
 0100
 0101                    b.Property<string>("Body")
 0102                        .HasColumnType("nvarchar(max)");
 0103
 0104                    b.Property<Guid?>("CampaignId")
 0105                        .HasColumnType("uniqueidentifier");
 0106
 0107                    b.Property<DateTime>("CreatedAt")
 0108                        .HasColumnType("datetime2");
 0109
 0110                    b.Property<Guid>("CreatedBy")
 0111                        .HasColumnType("uniqueidentifier");
 0112
 0113                    b.Property<DateTime>("EffectiveDate")
 0114                        .HasColumnType("datetime2");
 0115
 0116                    b.Property<string>("IconEmoji")
 0117                        .HasMaxLength(50)
 0118                        .HasColumnType("nvarchar(50)");
 0119
 0120                    b.Property<string>("InGameDate")
 0121                        .HasMaxLength(100)
 0122                        .HasColumnType("nvarchar(100)");
 0123
 0124                    b.Property<Guid?>("LastModifiedBy")
 0125                        .HasColumnType("uniqueidentifier");
 0126
 0127                    b.Property<DateTime?>("ModifiedAt")
 0128                        .HasColumnType("datetime2");
 0129
 0130                    b.Property<Guid?>("ParentId")
 0131                        .HasColumnType("uniqueidentifier");
 0132
 0133                    b.Property<Guid?>("PlayerId")
 0134                        .HasColumnType("uniqueidentifier");
 0135
 0136                    b.Property<DateTime?>("SessionDate")
 0137                        .HasColumnType("datetime2");
 0138
 0139                    b.Property<string>("Slug")
 0140                        .IsRequired()
 0141                        .HasMaxLength(200)
 0142                        .HasColumnType("nvarchar(200)");
 0143
 0144                    b.Property<string>("SummaryCustomPrompt")
 0145                        .HasColumnType("nvarchar(max)");
 0146
 0147                    b.Property<bool>("SummaryIncludeWebSources")
 0148                        .HasColumnType("bit");
 0149
 0150                    b.Property<Guid?>("SummaryTemplateId")
 0151                        .HasColumnType("uniqueidentifier");
 0152
 0153                    b.Property<string>("Title")
 0154                        .IsRequired()
 0155                        .HasMaxLength(500)
 0156                        .HasColumnType("nvarchar(500)");
 0157
 0158                    b.Property<int>("Type")
 0159                        .HasColumnType("int");
 0160
 0161                    b.Property<int>("Visibility")
 0162                        .HasColumnType("int");
 0163
 0164                    b.Property<Guid?>("WorldId")
 0165                        .HasColumnType("uniqueidentifier");
 0166
 0167                    b.HasKey("Id");
 0168
 0169                    b.HasIndex("ArcId");
 0170
 0171                    b.HasIndex("CampaignId");
 0172
 0173                    b.HasIndex("CreatedBy");
 0174
 0175                    b.HasIndex("LastModifiedBy");
 0176
 0177                    b.HasIndex("ParentId");
 0178
 0179                    b.HasIndex("PlayerId");
 0180
 0181                    b.HasIndex("SummaryTemplateId");
 0182
 0183                    b.HasIndex("Title");
 0184
 0185                    b.HasIndex("Type");
 0186
 0187                    b.HasIndex("WorldId");
 0188
 0189                    b.HasIndex("ParentId", "Slug")
 0190                        .IsUnique()
 0191                        .HasDatabaseName("IX_Articles_ParentId_Slug")
 0192                        .HasFilter("[ParentId] IS NOT NULL");
 0193
 0194                    b.HasIndex("WorldId", "Slug")
 0195                        .IsUnique()
 0196                        .HasDatabaseName("IX_Articles_WorldId_Slug_Root")
 0197                        .HasFilter("[ParentId] IS NULL");
 0198
 0199                    b.ToTable("Articles");
 0200                });
 201
 0202            modelBuilder.Entity("Chronicis.Shared.Models.ArticleAlias", b =>
 0203                {
 0204                    b.Property<Guid>("Id")
 0205                        .ValueGeneratedOnAdd()
 0206                        .HasColumnType("uniqueidentifier");
 0207
 0208                    b.Property<string>("AliasText")
 0209                        .IsRequired()
 0210                        .HasMaxLength(200)
 0211                        .HasColumnType("nvarchar(200)");
 0212
 0213                    b.Property<string>("AliasType")
 0214                        .HasMaxLength(50)
 0215                        .HasColumnType("nvarchar(50)");
 0216
 0217                    b.Property<Guid>("ArticleId")
 0218                        .HasColumnType("uniqueidentifier");
 0219
 0220                    b.Property<DateTime>("CreatedAt")
 0221                        .HasColumnType("datetime2");
 0222
 0223                    b.Property<DateTime?>("EffectiveDate")
 0224                        .HasColumnType("datetime2");
 0225
 0226                    b.HasKey("Id");
 0227
 0228                    b.HasIndex("AliasText");
 0229
 0230                    b.HasIndex("ArticleId");
 0231
 0232                    b.HasIndex("ArticleId", "AliasText")
 0233                        .IsUnique()
 0234                        .HasDatabaseName("IX_ArticleAliases_ArticleId_AliasText");
 0235
 0236                    b.ToTable("ArticleAliases");
 0237                });
 238
 0239            modelBuilder.Entity("Chronicis.Shared.Models.ArticleExternalLink", b =>
 0240                {
 0241                    b.Property<Guid>("Id")
 0242                        .ValueGeneratedOnAdd()
 0243                        .HasColumnType("uniqueidentifier");
 0244
 0245                    b.Property<Guid>("ArticleId")
 0246                        .HasColumnType("uniqueidentifier");
 0247
 0248                    b.Property<string>("DisplayTitle")
 0249                        .IsRequired()
 0250                        .HasMaxLength(500)
 0251                        .HasColumnType("nvarchar(500)");
 0252
 0253                    b.Property<string>("ExternalId")
 0254                        .IsRequired()
 0255                        .HasMaxLength(200)
 0256                        .HasColumnType("nvarchar(200)");
 0257
 0258                    b.Property<string>("Source")
 0259                        .IsRequired()
 0260                        .HasMaxLength(50)
 0261                        .HasColumnType("nvarchar(50)");
 0262
 0263                    b.HasKey("Id");
 0264
 0265                    b.HasIndex("ArticleId");
 0266
 0267                    b.HasIndex("ArticleId", "Source", "ExternalId")
 0268                        .IsUnique()
 0269                        .HasDatabaseName("IX_ArticleExternalLinks_ArticleId_Source_ExternalId");
 0270
 0271                    b.ToTable("ArticleExternalLinks");
 0272                });
 273
 0274            modelBuilder.Entity("Chronicis.Shared.Models.ArticleLink", b =>
 0275                {
 0276                    b.Property<Guid>("Id")
 0277                        .ValueGeneratedOnAdd()
 0278                        .HasColumnType("uniqueidentifier");
 0279
 0280                    b.Property<DateTime>("CreatedAt")
 0281                        .HasColumnType("datetime2");
 0282
 0283                    b.Property<string>("DisplayText")
 0284                        .HasMaxLength(500)
 0285                        .HasColumnType("nvarchar(500)");
 0286
 0287                    b.Property<int>("Position")
 0288                        .HasColumnType("int");
 0289
 0290                    b.Property<Guid>("SourceArticleId")
 0291                        .HasColumnType("uniqueidentifier");
 0292
 0293                    b.Property<Guid>("TargetArticleId")
 0294                        .HasColumnType("uniqueidentifier");
 0295
 0296                    b.HasKey("Id");
 0297
 0298                    b.HasIndex("SourceArticleId");
 0299
 0300                    b.HasIndex("TargetArticleId");
 0301
 0302                    b.HasIndex("SourceArticleId", "TargetArticleId", "Position")
 0303                        .IsUnique();
 0304
 0305                    b.ToTable("ArticleLinks");
 0306                });
 307
 0308            modelBuilder.Entity("Chronicis.Shared.Models.Campaign", b =>
 0309                {
 0310                    b.Property<Guid>("Id")
 0311                        .ValueGeneratedOnAdd()
 0312                        .HasColumnType("uniqueidentifier");
 0313
 0314                    b.Property<string>("AISummary")
 0315                        .HasColumnType("nvarchar(max)");
 0316
 0317                    b.Property<DateTime?>("AISummaryGeneratedAt")
 0318                        .HasColumnType("datetime2");
 0319
 0320                    b.Property<DateTime>("CreatedAt")
 0321                        .HasColumnType("datetime2");
 0322
 0323                    b.Property<string>("Description")
 0324                        .HasMaxLength(1000)
 0325                        .HasColumnType("nvarchar(1000)");
 0326
 0327                    b.Property<DateTime?>("EndedAt")
 0328                        .HasColumnType("datetime2");
 0329
 0330                    b.Property<bool>("IsActive")
 0331                        .HasColumnType("bit");
 0332
 0333                    b.Property<string>("Name")
 0334                        .IsRequired()
 0335                        .HasMaxLength(200)
 0336                        .HasColumnType("nvarchar(200)");
 0337
 0338                    b.Property<Guid>("OwnerId")
 0339                        .HasColumnType("uniqueidentifier");
 0340
 0341                    b.Property<DateTime?>("StartedAt")
 0342                        .HasColumnType("datetime2");
 0343
 0344                    b.Property<string>("SummaryCustomPrompt")
 0345                        .HasColumnType("nvarchar(max)");
 0346
 0347                    b.Property<bool>("SummaryIncludeWebSources")
 0348                        .HasColumnType("bit");
 0349
 0350                    b.Property<Guid?>("SummaryTemplateId")
 0351                        .HasColumnType("uniqueidentifier");
 0352
 0353                    b.Property<Guid>("WorldId")
 0354                        .HasColumnType("uniqueidentifier");
 0355
 0356                    b.HasKey("Id");
 0357
 0358                    b.HasIndex("OwnerId");
 0359
 0360                    b.HasIndex("SummaryTemplateId");
 0361
 0362                    b.HasIndex("WorldId");
 0363
 0364                    b.ToTable("Campaigns");
 0365                });
 366
 0367            modelBuilder.Entity("Chronicis.Shared.Models.Quest", b =>
 0368                {
 0369                    b.Property<Guid>("Id")
 0370                        .ValueGeneratedOnAdd()
 0371                        .HasColumnType("uniqueidentifier");
 0372
 0373                    b.Property<Guid>("ArcId")
 0374                        .HasColumnType("uniqueidentifier");
 0375
 0376                    b.Property<DateTime>("CreatedAt")
 0377                        .HasColumnType("datetime2");
 0378
 0379                    b.Property<Guid>("CreatedBy")
 0380                        .HasColumnType("uniqueidentifier");
 0381
 0382                    b.Property<string>("Description")
 0383                        .HasColumnType("nvarchar(max)");
 0384
 0385                    b.Property<bool>("IsGmOnly")
 0386                        .ValueGeneratedOnAdd()
 0387                        .HasColumnType("bit")
 0388                        .HasDefaultValue(false);
 0389
 0390                    b.Property<byte[]>("RowVersion")
 0391                        .IsConcurrencyToken()
 0392                        .IsRequired()
 0393                        .ValueGeneratedOnAddOrUpdate()
 0394                        .HasColumnType("rowversion");
 0395
 0396                    b.Property<int>("SortOrder")
 0397                        .ValueGeneratedOnAdd()
 0398                        .HasColumnType("int")
 0399                        .HasDefaultValue(0);
 0400
 0401                    b.Property<int>("Status")
 0402                        .HasColumnType("int");
 0403
 0404                    b.Property<string>("Title")
 0405                        .IsRequired()
 0406                        .HasMaxLength(300)
 0407                        .HasColumnType("nvarchar(300)");
 0408
 0409                    b.Property<DateTime>("UpdatedAt")
 0410                        .HasColumnType("datetime2");
 0411
 0412                    b.HasKey("Id");
 0413
 0414                    b.HasIndex("ArcId")
 0415                        .HasDatabaseName("IX_Quest_ArcId");
 0416
 0417                    b.HasIndex("CreatedBy");
 0418
 0419                    b.HasIndex("ArcId", "Status")
 0420                        .HasDatabaseName("IX_Quest_ArcId_Status");
 0421
 0422                    b.HasIndex("ArcId", "UpdatedAt")
 0423                        .HasDatabaseName("IX_Quest_ArcId_UpdatedAt");
 0424
 0425                    b.ToTable("Quests");
 0426                });
 427
 0428            modelBuilder.Entity("Chronicis.Shared.Models.QuestUpdate", b =>
 0429                {
 0430                    b.Property<Guid>("Id")
 0431                        .ValueGeneratedOnAdd()
 0432                        .HasColumnType("uniqueidentifier");
 0433
 0434                    b.Property<string>("Body")
 0435                        .IsRequired()
 0436                        .HasColumnType("nvarchar(max)");
 0437
 0438                    b.Property<DateTime>("CreatedAt")
 0439                        .HasColumnType("datetime2");
 0440
 0441                    b.Property<Guid>("CreatedBy")
 0442                        .HasColumnType("uniqueidentifier");
 0443
 0444                    b.Property<Guid>("QuestId")
 0445                        .HasColumnType("uniqueidentifier");
 0446
 0447                    b.Property<Guid?>("SessionId")
 0448                        .HasColumnType("uniqueidentifier");
 0449
 0450                    b.HasKey("Id");
 0451
 0452                    b.HasIndex("CreatedBy");
 0453
 0454                    b.HasIndex("SessionId")
 0455                        .HasDatabaseName("IX_QuestUpdate_SessionId");
 0456
 0457                    b.HasIndex("QuestId", "CreatedAt")
 0458                        .HasDatabaseName("IX_QuestUpdate_QuestId_CreatedAt");
 0459
 0460                    b.ToTable("QuestUpdates");
 0461                });
 462
 0463            modelBuilder.Entity("Chronicis.Shared.Models.ResourceProvider", b =>
 0464                {
 0465                    b.Property<string>("Code")
 0466                        .HasMaxLength(20)
 0467                        .HasColumnType("nvarchar(20)");
 0468
 0469                    b.Property<DateTimeOffset>("CreatedAt")
 0470                        .HasColumnType("datetimeoffset");
 0471
 0472                    b.Property<string>("Description")
 0473                        .IsRequired()
 0474                        .HasMaxLength(500)
 0475                        .HasColumnType("nvarchar(500)");
 0476
 0477                    b.Property<string>("DocumentationLink")
 0478                        .IsRequired()
 0479                        .HasMaxLength(500)
 0480                        .HasColumnType("nvarchar(500)");
 0481
 0482                    b.Property<bool>("IsActive")
 0483                        .ValueGeneratedOnAdd()
 0484                        .HasColumnType("bit")
 0485                        .HasDefaultValue(true);
 0486
 0487                    b.Property<string>("License")
 0488                        .IsRequired()
 0489                        .HasMaxLength(500)
 0490                        .HasColumnType("nvarchar(500)");
 0491
 0492                    b.Property<string>("Name")
 0493                        .IsRequired()
 0494                        .HasMaxLength(200)
 0495                        .HasColumnType("nvarchar(200)");
 0496
 0497                    b.HasKey("Code");
 0498
 0499                    b.ToTable("ResourceProviders");
 0500
 0501                    b.HasData(
 0502                        new
 0503                        {
 0504                            Code = "srd",
 0505                            CreatedAt = new DateTimeOffset(new DateTime(2025, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified
 0506                            Description = "System Reference Document for D&D 5th Edition",
 0507                            DocumentationLink = "https://open5e.com/api-docs",
 0508                            IsActive = true,
 0509                            License = "https://open5e.com/legal",
 0510                            Name = "Open 5e API"
 0511                        },
 0512                        new
 0513                        {
 0514                            Code = "srd14",
 0515                            CreatedAt = new DateTimeOffset(new DateTime(2025, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified
 0516                            Description = "System Reference Document 5.1",
 0517                            DocumentationLink = "https://www.dndbeyond.com/srd?srsltid=AfmBOooZgD0uD_hbmyYkHEvFJtDJzktTd
 0518                            IsActive = true,
 0519                            License = "https://opengamingfoundation.org/ogl.html",
 0520                            Name = "SRD 2014"
 0521                        },
 0522                        new
 0523                        {
 0524                            Code = "srd24",
 0525                            CreatedAt = new DateTimeOffset(new DateTime(2025, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified
 0526                            Description = "System Reference Document 5.2.1",
 0527                            DocumentationLink = "https://www.dndbeyond.com/srd?srsltid=AfmBOooZgD0uD_hbmyYkHEvFJtDJzktTd
 0528                            IsActive = true,
 0529                            License = "https://creativecommons.org/licenses/by/4.0/",
 0530                            Name = "SRD 2024"
 0531                        },
 0532                        new
 0533                        {
 0534                            Code = "ros",
 0535                            CreatedAt = new DateTimeOffset(new DateTime(2025, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified
 0536                            Description = "Ruins of Symbaroum source material",
 0537                            DocumentationLink = "https://freeleaguepublishing.com/games/ruins-of-symbaroum/",
 0538                            IsActive = true,
 0539                            License = "https://opengamingfoundation.org/ogl.html",
 0540                            Name = "Ruins of Symbaroum"
 0541                        });
 0542                });
 543
 0544            modelBuilder.Entity("Chronicis.Shared.Models.SummaryTemplate", b =>
 0545                {
 0546                    b.Property<Guid>("Id")
 0547                        .ValueGeneratedOnAdd()
 0548                        .HasColumnType("uniqueidentifier");
 0549
 0550                    b.Property<DateTime>("CreatedAt")
 0551                        .HasColumnType("datetime2");
 0552
 0553                    b.Property<Guid?>("CreatedBy")
 0554                        .HasColumnType("uniqueidentifier");
 0555
 0556                    b.Property<string>("Description")
 0557                        .HasMaxLength(500)
 0558                        .HasColumnType("nvarchar(500)");
 0559
 0560                    b.Property<bool>("IsSystem")
 0561                        .HasColumnType("bit");
 0562
 0563                    b.Property<string>("Name")
 0564                        .IsRequired()
 0565                        .HasMaxLength(200)
 0566                        .HasColumnType("nvarchar(200)");
 0567
 0568                    b.Property<string>("PromptTemplate")
 0569                        .IsRequired()
 0570                        .HasColumnType("nvarchar(max)");
 0571
 0572                    b.Property<Guid?>("WorldId")
 0573                        .HasColumnType("uniqueidentifier");
 0574
 0575                    b.HasKey("Id");
 0576
 0577                    b.HasIndex("CreatedBy");
 0578
 0579                    b.HasIndex("IsSystem");
 0580
 0581                    b.HasIndex("WorldId");
 0582
 0583                    b.ToTable("SummaryTemplates");
 0584                });
 585
 0586            modelBuilder.Entity("Chronicis.Shared.Models.User", b =>
 0587                {
 0588                    b.Property<Guid>("Id")
 0589                        .ValueGeneratedOnAdd()
 0590                        .HasColumnType("uniqueidentifier");
 0591
 0592                    b.Property<string>("Auth0UserId")
 0593                        .IsRequired()
 0594                        .HasMaxLength(256)
 0595                        .HasColumnType("nvarchar(256)");
 0596
 0597                    b.Property<string>("AvatarUrl")
 0598                        .HasMaxLength(500)
 0599                        .HasColumnType("nvarchar(500)");
 0600
 0601                    b.Property<DateTime>("CreatedAt")
 0602                        .HasColumnType("datetime2");
 0603
 0604                    b.Property<string>("DisplayName")
 0605                        .IsRequired()
 0606                        .HasMaxLength(100)
 0607                        .HasColumnType("nvarchar(100)");
 0608
 0609                    b.Property<string>("Email")
 0610                        .IsRequired()
 0611                        .HasMaxLength(256)
 0612                        .HasColumnType("nvarchar(256)");
 0613
 0614                    b.Property<bool>("HasCompletedOnboarding")
 0615                        .HasColumnType("bit");
 0616
 0617                    b.Property<DateTime>("LastLoginAt")
 0618                        .HasColumnType("datetime2");
 0619
 0620                    b.HasKey("Id");
 0621
 0622                    b.HasIndex("Auth0UserId")
 0623                        .IsUnique();
 0624
 0625                    b.HasIndex("Email");
 0626
 0627                    b.ToTable("Users");
 0628                });
 629
 0630            modelBuilder.Entity("Chronicis.Shared.Models.World", b =>
 0631                {
 0632                    b.Property<Guid>("Id")
 0633                        .ValueGeneratedOnAdd()
 0634                        .HasColumnType("uniqueidentifier");
 0635
 0636                    b.Property<DateTime>("CreatedAt")
 0637                        .HasColumnType("datetime2");
 0638
 0639                    b.Property<string>("Description")
 0640                        .HasMaxLength(1000)
 0641                        .HasColumnType("nvarchar(1000)");
 0642
 0643                    b.Property<bool>("IsPublic")
 0644                        .ValueGeneratedOnAdd()
 0645                        .HasColumnType("bit")
 0646                        .HasDefaultValue(false);
 0647
 0648                    b.Property<string>("Name")
 0649                        .IsRequired()
 0650                        .HasMaxLength(200)
 0651                        .HasColumnType("nvarchar(200)");
 0652
 0653                    b.Property<Guid>("OwnerId")
 0654                        .HasColumnType("uniqueidentifier");
 0655
 0656                    b.Property<string>("PublicSlug")
 0657                        .HasMaxLength(100)
 0658                        .HasColumnType("nvarchar(100)");
 0659
 0660                    b.Property<string>("Slug")
 0661                        .IsRequired()
 0662                        .HasMaxLength(200)
 0663                        .HasColumnType("nvarchar(200)");
 0664
 0665                    b.HasKey("Id");
 0666
 0667                    b.HasIndex("OwnerId");
 0668
 0669                    b.HasIndex("PublicSlug")
 0670                        .IsUnique()
 0671                        .HasDatabaseName("IX_Worlds_PublicSlug")
 0672                        .HasFilter("[PublicSlug] IS NOT NULL");
 0673
 0674                    b.HasIndex("OwnerId", "Slug")
 0675                        .IsUnique()
 0676                        .HasDatabaseName("IX_Worlds_OwnerId_Slug");
 0677
 0678                    b.ToTable("Worlds");
 0679                });
 680
 0681            modelBuilder.Entity("Chronicis.Shared.Models.WorldDocument", b =>
 0682                {
 0683                    b.Property<Guid>("Id")
 0684                        .ValueGeneratedOnAdd()
 0685                        .HasColumnType("uniqueidentifier");
 0686
 0687                    b.Property<Guid?>("ArticleId")
 0688                        .HasColumnType("uniqueidentifier");
 0689
 0690                    b.Property<string>("BlobPath")
 0691                        .IsRequired()
 0692                        .HasMaxLength(1024)
 0693                        .HasColumnType("nvarchar(1024)");
 0694
 0695                    b.Property<string>("ContentType")
 0696                        .IsRequired()
 0697                        .HasMaxLength(100)
 0698                        .HasColumnType("nvarchar(100)");
 0699
 0700                    b.Property<string>("Description")
 0701                        .HasMaxLength(500)
 0702                        .HasColumnType("nvarchar(500)");
 0703
 0704                    b.Property<string>("FileName")
 0705                        .IsRequired()
 0706                        .HasMaxLength(255)
 0707                        .HasColumnType("nvarchar(255)");
 0708
 0709                    b.Property<long>("FileSizeBytes")
 0710                        .HasColumnType("bigint");
 0711
 0712                    b.Property<string>("Title")
 0713                        .IsRequired()
 0714                        .HasMaxLength(200)
 0715                        .HasColumnType("nvarchar(200)");
 0716
 0717                    b.Property<DateTime>("UploadedAt")
 0718                        .HasColumnType("datetime2");
 0719
 0720                    b.Property<Guid>("UploadedById")
 0721                        .HasColumnType("uniqueidentifier");
 0722
 0723                    b.Property<Guid>("WorldId")
 0724                        .HasColumnType("uniqueidentifier");
 0725
 0726                    b.HasKey("Id");
 0727
 0728                    b.HasIndex("ArticleId")
 0729                        .HasDatabaseName("IX_WorldDocuments_ArticleId")
 0730                        .HasFilter("[ArticleId] IS NOT NULL");
 0731
 0732                    b.HasIndex("UploadedById");
 0733
 0734                    b.HasIndex("WorldId");
 0735
 0736                    b.ToTable("WorldDocuments");
 0737                });
 738
 0739            modelBuilder.Entity("Chronicis.Shared.Models.WorldInvitation", b =>
 0740                {
 0741                    b.Property<Guid>("Id")
 0742                        .ValueGeneratedOnAdd()
 0743                        .HasColumnType("uniqueidentifier");
 0744
 0745                    b.Property<string>("Code")
 0746                        .IsRequired()
 0747                        .HasMaxLength(9)
 0748                        .HasColumnType("nvarchar(9)");
 0749
 0750                    b.Property<DateTime>("CreatedAt")
 0751                        .HasColumnType("datetime2");
 0752
 0753                    b.Property<Guid>("CreatedBy")
 0754                        .HasColumnType("uniqueidentifier");
 0755
 0756                    b.Property<DateTime?>("ExpiresAt")
 0757                        .HasColumnType("datetime2");
 0758
 0759                    b.Property<bool>("IsActive")
 0760                        .HasColumnType("bit");
 0761
 0762                    b.Property<int?>("MaxUses")
 0763                        .HasColumnType("int");
 0764
 0765                    b.Property<int>("Role")
 0766                        .HasColumnType("int");
 0767
 0768                    b.Property<int>("UsedCount")
 0769                        .HasColumnType("int");
 0770
 0771                    b.Property<Guid>("WorldId")
 0772                        .HasColumnType("uniqueidentifier");
 0773
 0774                    b.HasKey("Id");
 0775
 0776                    b.HasIndex("Code")
 0777                        .IsUnique();
 0778
 0779                    b.HasIndex("CreatedBy");
 0780
 0781                    b.HasIndex("WorldId", "IsActive");
 0782
 0783                    b.ToTable("WorldInvitations");
 0784                });
 785
 0786            modelBuilder.Entity("Chronicis.Shared.Models.WorldLink", b =>
 0787                {
 0788                    b.Property<Guid>("Id")
 0789                        .ValueGeneratedOnAdd()
 0790                        .HasColumnType("uniqueidentifier");
 0791
 0792                    b.Property<DateTime>("CreatedAt")
 0793                        .HasColumnType("datetime2");
 0794
 0795                    b.Property<string>("Description")
 0796                        .HasMaxLength(500)
 0797                        .HasColumnType("nvarchar(500)");
 0798
 0799                    b.Property<string>("Title")
 0800                        .IsRequired()
 0801                        .HasMaxLength(200)
 0802                        .HasColumnType("nvarchar(200)");
 0803
 0804                    b.Property<string>("Url")
 0805                        .IsRequired()
 0806                        .HasMaxLength(2048)
 0807                        .HasColumnType("nvarchar(2048)");
 0808
 0809                    b.Property<Guid>("WorldId")
 0810                        .HasColumnType("uniqueidentifier");
 0811
 0812                    b.HasKey("Id");
 0813
 0814                    b.HasIndex("WorldId");
 0815
 0816                    b.ToTable("WorldLinks");
 0817                });
 818
 0819            modelBuilder.Entity("Chronicis.Shared.Models.WorldMember", b =>
 0820                {
 0821                    b.Property<Guid>("Id")
 0822                        .ValueGeneratedOnAdd()
 0823                        .HasColumnType("uniqueidentifier");
 0824
 0825                    b.Property<Guid?>("InvitedBy")
 0826                        .HasColumnType("uniqueidentifier");
 0827
 0828                    b.Property<DateTime>("JoinedAt")
 0829                        .HasColumnType("datetime2");
 0830
 0831                    b.Property<int>("Role")
 0832                        .HasColumnType("int");
 0833
 0834                    b.Property<Guid>("UserId")
 0835                        .HasColumnType("uniqueidentifier");
 0836
 0837                    b.Property<Guid>("WorldId")
 0838                        .HasColumnType("uniqueidentifier");
 0839
 0840                    b.HasKey("Id");
 0841
 0842                    b.HasIndex("InvitedBy");
 0843
 0844                    b.HasIndex("UserId");
 0845
 0846                    b.HasIndex("WorldId", "UserId")
 0847                        .IsUnique();
 0848
 0849                    b.ToTable("WorldMembers");
 0850                });
 851
 0852            modelBuilder.Entity("Chronicis.Shared.Models.WorldResourceProvider", b =>
 0853                {
 0854                    b.Property<Guid>("WorldId")
 0855                        .HasColumnType("uniqueidentifier");
 0856
 0857                    b.Property<string>("ResourceProviderCode")
 0858                        .HasColumnType("nvarchar(20)");
 0859
 0860                    b.Property<bool>("IsEnabled")
 0861                        .HasColumnType("bit");
 0862
 0863                    b.Property<DateTimeOffset>("ModifiedAt")
 0864                        .HasColumnType("datetimeoffset");
 0865
 0866                    b.Property<Guid>("ModifiedByUserId")
 0867                        .HasColumnType("uniqueidentifier");
 0868
 0869                    b.HasKey("WorldId", "ResourceProviderCode");
 0870
 0871                    b.HasIndex("ResourceProviderCode");
 0872
 0873                    b.HasIndex("WorldId");
 0874
 0875                    b.ToTable("WorldResourceProviders");
 0876                });
 877
 0878            modelBuilder.Entity("Chronicis.Shared.Models.Arc", b =>
 0879                {
 0880                    b.HasOne("Chronicis.Shared.Models.Campaign", "Campaign")
 0881                        .WithMany("Arcs")
 0882                        .HasForeignKey("CampaignId")
 0883                        .OnDelete(DeleteBehavior.Cascade)
 0884                        .IsRequired();
 0885
 0886                    b.HasOne("Chronicis.Shared.Models.User", "Creator")
 0887                        .WithMany("CreatedArcs")
 0888                        .HasForeignKey("CreatedBy")
 0889                        .OnDelete(DeleteBehavior.Restrict)
 0890                        .IsRequired();
 0891
 0892                    b.HasOne("Chronicis.Shared.Models.SummaryTemplate", "SummaryTemplate")
 0893                        .WithMany()
 0894                        .HasForeignKey("SummaryTemplateId")
 0895                        .OnDelete(DeleteBehavior.SetNull);
 0896
 0897                    b.Navigation("Campaign");
 0898
 0899                    b.Navigation("Creator");
 0900
 0901                    b.Navigation("SummaryTemplate");
 0902                });
 903
 0904            modelBuilder.Entity("Chronicis.Shared.Models.Article", b =>
 0905                {
 0906                    b.HasOne("Chronicis.Shared.Models.Arc", "Arc")
 0907                        .WithMany("Sessions")
 0908                        .HasForeignKey("ArcId")
 0909                        .OnDelete(DeleteBehavior.Restrict);
 0910
 0911                    b.HasOne("Chronicis.Shared.Models.Campaign", "Campaign")
 0912                        .WithMany("Articles")
 0913                        .HasForeignKey("CampaignId")
 0914                        .OnDelete(DeleteBehavior.Restrict);
 0915
 0916                    b.HasOne("Chronicis.Shared.Models.User", "Creator")
 0917                        .WithMany("CreatedArticles")
 0918                        .HasForeignKey("CreatedBy")
 0919                        .OnDelete(DeleteBehavior.Restrict)
 0920                        .IsRequired();
 0921
 0922                    b.HasOne("Chronicis.Shared.Models.User", "Modifier")
 0923                        .WithMany("ModifiedArticles")
 0924                        .HasForeignKey("LastModifiedBy")
 0925                        .OnDelete(DeleteBehavior.Restrict);
 0926
 0927                    b.HasOne("Chronicis.Shared.Models.Article", "Parent")
 0928                        .WithMany("Children")
 0929                        .HasForeignKey("ParentId")
 0930                        .OnDelete(DeleteBehavior.Restrict);
 0931
 0932                    b.HasOne("Chronicis.Shared.Models.User", "Player")
 0933                        .WithMany("OwnedCharacters")
 0934                        .HasForeignKey("PlayerId")
 0935                        .OnDelete(DeleteBehavior.Restrict);
 0936
 0937                    b.HasOne("Chronicis.Shared.Models.SummaryTemplate", "SummaryTemplate")
 0938                        .WithMany()
 0939                        .HasForeignKey("SummaryTemplateId")
 0940                        .OnDelete(DeleteBehavior.SetNull);
 0941
 0942                    b.HasOne("Chronicis.Shared.Models.World", "World")
 0943                        .WithMany("Articles")
 0944                        .HasForeignKey("WorldId")
 0945                        .OnDelete(DeleteBehavior.Restrict);
 0946
 0947                    b.Navigation("Arc");
 0948
 0949                    b.Navigation("Campaign");
 0950
 0951                    b.Navigation("Creator");
 0952
 0953                    b.Navigation("Modifier");
 0954
 0955                    b.Navigation("Parent");
 0956
 0957                    b.Navigation("Player");
 0958
 0959                    b.Navigation("SummaryTemplate");
 0960
 0961                    b.Navigation("World");
 0962                });
 963
 0964            modelBuilder.Entity("Chronicis.Shared.Models.ArticleAlias", b =>
 0965                {
 0966                    b.HasOne("Chronicis.Shared.Models.Article", "Article")
 0967                        .WithMany("Aliases")
 0968                        .HasForeignKey("ArticleId")
 0969                        .OnDelete(DeleteBehavior.Cascade)
 0970                        .IsRequired();
 0971
 0972                    b.Navigation("Article");
 0973                });
 974
 0975            modelBuilder.Entity("Chronicis.Shared.Models.ArticleExternalLink", b =>
 0976                {
 0977                    b.HasOne("Chronicis.Shared.Models.Article", "Article")
 0978                        .WithMany("ExternalLinks")
 0979                        .HasForeignKey("ArticleId")
 0980                        .OnDelete(DeleteBehavior.Cascade)
 0981                        .IsRequired();
 0982
 0983                    b.Navigation("Article");
 0984                });
 985
 0986            modelBuilder.Entity("Chronicis.Shared.Models.ArticleLink", b =>
 0987                {
 0988                    b.HasOne("Chronicis.Shared.Models.Article", "SourceArticle")
 0989                        .WithMany("OutgoingLinks")
 0990                        .HasForeignKey("SourceArticleId")
 0991                        .OnDelete(DeleteBehavior.Cascade)
 0992                        .IsRequired();
 0993
 0994                    b.HasOne("Chronicis.Shared.Models.Article", "TargetArticle")
 0995                        .WithMany("IncomingLinks")
 0996                        .HasForeignKey("TargetArticleId")
 0997                        .OnDelete(DeleteBehavior.NoAction)
 0998                        .IsRequired();
 0999
 01000                    b.Navigation("SourceArticle");
 01001
 01002                    b.Navigation("TargetArticle");
 01003                });
 1004
 01005            modelBuilder.Entity("Chronicis.Shared.Models.Campaign", b =>
 01006                {
 01007                    b.HasOne("Chronicis.Shared.Models.User", "Owner")
 01008                        .WithMany("OwnedCampaigns")
 01009                        .HasForeignKey("OwnerId")
 01010                        .OnDelete(DeleteBehavior.Restrict)
 01011                        .IsRequired();
 01012
 01013                    b.HasOne("Chronicis.Shared.Models.SummaryTemplate", "SummaryTemplate")
 01014                        .WithMany()
 01015                        .HasForeignKey("SummaryTemplateId")
 01016                        .OnDelete(DeleteBehavior.SetNull);
 01017
 01018                    b.HasOne("Chronicis.Shared.Models.World", "World")
 01019                        .WithMany("Campaigns")
 01020                        .HasForeignKey("WorldId")
 01021                        .OnDelete(DeleteBehavior.Restrict)
 01022                        .IsRequired();
 01023
 01024                    b.Navigation("Owner");
 01025
 01026                    b.Navigation("SummaryTemplate");
 01027
 01028                    b.Navigation("World");
 01029                });
 1030
 01031            modelBuilder.Entity("Chronicis.Shared.Models.Quest", b =>
 01032                {
 01033                    b.HasOne("Chronicis.Shared.Models.Arc", "Arc")
 01034                        .WithMany()
 01035                        .HasForeignKey("ArcId")
 01036                        .OnDelete(DeleteBehavior.Cascade)
 01037                        .IsRequired();
 01038
 01039                    b.HasOne("Chronicis.Shared.Models.User", "Creator")
 01040                        .WithMany("CreatedQuests")
 01041                        .HasForeignKey("CreatedBy")
 01042                        .OnDelete(DeleteBehavior.Restrict)
 01043                        .IsRequired();
 01044
 01045                    b.Navigation("Arc");
 01046
 01047                    b.Navigation("Creator");
 01048                });
 1049
 01050            modelBuilder.Entity("Chronicis.Shared.Models.QuestUpdate", b =>
 01051                {
 01052                    b.HasOne("Chronicis.Shared.Models.User", "Creator")
 01053                        .WithMany("CreatedQuestUpdates")
 01054                        .HasForeignKey("CreatedBy")
 01055                        .OnDelete(DeleteBehavior.Restrict)
 01056                        .IsRequired();
 01057
 01058                    b.HasOne("Chronicis.Shared.Models.Quest", "Quest")
 01059                        .WithMany("Updates")
 01060                        .HasForeignKey("QuestId")
 01061                        .OnDelete(DeleteBehavior.Cascade)
 01062                        .IsRequired();
 01063
 01064                    b.HasOne("Chronicis.Shared.Models.Article", "Session")
 01065                        .WithMany()
 01066                        .HasForeignKey("SessionId")
 01067                        .OnDelete(DeleteBehavior.SetNull);
 01068
 01069                    b.Navigation("Creator");
 01070
 01071                    b.Navigation("Quest");
 01072
 01073                    b.Navigation("Session");
 01074                });
 1075
 01076            modelBuilder.Entity("Chronicis.Shared.Models.SummaryTemplate", b =>
 01077                {
 01078                    b.HasOne("Chronicis.Shared.Models.User", "Creator")
 01079                        .WithMany()
 01080                        .HasForeignKey("CreatedBy")
 01081                        .OnDelete(DeleteBehavior.Restrict);
 01082
 01083                    b.HasOne("Chronicis.Shared.Models.World", "World")
 01084                        .WithMany()
 01085                        .HasForeignKey("WorldId")
 01086                        .OnDelete(DeleteBehavior.Cascade);
 01087
 01088                    b.Navigation("Creator");
 01089
 01090                    b.Navigation("World");
 01091                });
 1092
 01093            modelBuilder.Entity("Chronicis.Shared.Models.World", b =>
 01094                {
 01095                    b.HasOne("Chronicis.Shared.Models.User", "Owner")
 01096                        .WithMany("OwnedWorlds")
 01097                        .HasForeignKey("OwnerId")
 01098                        .OnDelete(DeleteBehavior.Restrict)
 01099                        .IsRequired();
 01100
 01101                    b.Navigation("Owner");
 01102                });
 1103
 01104            modelBuilder.Entity("Chronicis.Shared.Models.WorldDocument", b =>
 01105                {
 01106                    b.HasOne("Chronicis.Shared.Models.Article", "Article")
 01107                        .WithMany("Images")
 01108                        .HasForeignKey("ArticleId")
 01109                        .OnDelete(DeleteBehavior.SetNull);
 01110
 01111                    b.HasOne("Chronicis.Shared.Models.User", "UploadedBy")
 01112                        .WithMany("UploadedDocuments")
 01113                        .HasForeignKey("UploadedById")
 01114                        .OnDelete(DeleteBehavior.Restrict)
 01115                        .IsRequired();
 01116
 01117                    b.HasOne("Chronicis.Shared.Models.World", "World")
 01118                        .WithMany("Documents")
 01119                        .HasForeignKey("WorldId")
 01120                        .OnDelete(DeleteBehavior.Cascade)
 01121                        .IsRequired();
 01122
 01123                    b.Navigation("Article");
 01124
 01125                    b.Navigation("UploadedBy");
 01126
 01127                    b.Navigation("World");
 01128                });
 1129
 01130            modelBuilder.Entity("Chronicis.Shared.Models.WorldInvitation", b =>
 01131                {
 01132                    b.HasOne("Chronicis.Shared.Models.User", "Creator")
 01133                        .WithMany("CreatedInvitations")
 01134                        .HasForeignKey("CreatedBy")
 01135                        .OnDelete(DeleteBehavior.Restrict)
 01136                        .IsRequired();
 01137
 01138                    b.HasOne("Chronicis.Shared.Models.World", "World")
 01139                        .WithMany("Invitations")
 01140                        .HasForeignKey("WorldId")
 01141                        .OnDelete(DeleteBehavior.Cascade)
 01142                        .IsRequired();
 01143
 01144                    b.Navigation("Creator");
 01145
 01146                    b.Navigation("World");
 01147                });
 1148
 01149            modelBuilder.Entity("Chronicis.Shared.Models.WorldLink", b =>
 01150                {
 01151                    b.HasOne("Chronicis.Shared.Models.World", "World")
 01152                        .WithMany("Links")
 01153                        .HasForeignKey("WorldId")
 01154                        .OnDelete(DeleteBehavior.Cascade)
 01155                        .IsRequired();
 01156
 01157                    b.Navigation("World");
 01158                });
 1159
 01160            modelBuilder.Entity("Chronicis.Shared.Models.WorldMember", b =>
 01161                {
 01162                    b.HasOne("Chronicis.Shared.Models.User", "Inviter")
 01163                        .WithMany("InvitedMembers")
 01164                        .HasForeignKey("InvitedBy")
 01165                        .OnDelete(DeleteBehavior.Restrict);
 01166
 01167                    b.HasOne("Chronicis.Shared.Models.User", "User")
 01168                        .WithMany("WorldMemberships")
 01169                        .HasForeignKey("UserId")
 01170                        .OnDelete(DeleteBehavior.Cascade)
 01171                        .IsRequired();
 01172
 01173                    b.HasOne("Chronicis.Shared.Models.World", "World")
 01174                        .WithMany("Members")
 01175                        .HasForeignKey("WorldId")
 01176                        .OnDelete(DeleteBehavior.Cascade)
 01177                        .IsRequired();
 01178
 01179                    b.Navigation("Inviter");
 01180
 01181                    b.Navigation("User");
 01182
 01183                    b.Navigation("World");
 01184                });
 1185
 01186            modelBuilder.Entity("Chronicis.Shared.Models.WorldResourceProvider", b =>
 01187                {
 01188                    b.HasOne("Chronicis.Shared.Models.ResourceProvider", "ResourceProvider")
 01189                        .WithMany("WorldResourceProviders")
 01190                        .HasForeignKey("ResourceProviderCode")
 01191                        .OnDelete(DeleteBehavior.Restrict)
 01192                        .IsRequired();
 01193
 01194                    b.HasOne("Chronicis.Shared.Models.World", "World")
 01195                        .WithMany("WorldResourceProviders")
 01196                        .HasForeignKey("WorldId")
 01197                        .OnDelete(DeleteBehavior.Cascade)
 01198                        .IsRequired();
 01199
 01200                    b.Navigation("ResourceProvider");
 01201
 01202                    b.Navigation("World");
 01203                });
 1204
 01205            modelBuilder.Entity("Chronicis.Shared.Models.Arc", b =>
 01206                {
 01207                    b.Navigation("Sessions");
 01208                });
 1209
 01210            modelBuilder.Entity("Chronicis.Shared.Models.Article", b =>
 01211                {
 01212                    b.Navigation("Aliases");
 01213
 01214                    b.Navigation("Children");
 01215
 01216                    b.Navigation("ExternalLinks");
 01217
 01218                    b.Navigation("Images");
 01219
 01220                    b.Navigation("IncomingLinks");
 01221
 01222                    b.Navigation("OutgoingLinks");
 01223                });
 1224
 01225            modelBuilder.Entity("Chronicis.Shared.Models.Campaign", b =>
 01226                {
 01227                    b.Navigation("Arcs");
 01228
 01229                    b.Navigation("Articles");
 01230                });
 1231
 01232            modelBuilder.Entity("Chronicis.Shared.Models.Quest", b =>
 01233                {
 01234                    b.Navigation("Updates");
 01235                });
 1236
 01237            modelBuilder.Entity("Chronicis.Shared.Models.ResourceProvider", b =>
 01238                {
 01239                    b.Navigation("WorldResourceProviders");
 01240                });
 1241
 01242            modelBuilder.Entity("Chronicis.Shared.Models.User", b =>
 01243                {
 01244                    b.Navigation("CreatedArcs");
 01245
 01246                    b.Navigation("CreatedArticles");
 01247
 01248                    b.Navigation("CreatedInvitations");
 01249
 01250                    b.Navigation("CreatedQuestUpdates");
 01251
 01252                    b.Navigation("CreatedQuests");
 01253
 01254                    b.Navigation("InvitedMembers");
 01255
 01256                    b.Navigation("ModifiedArticles");
 01257
 01258                    b.Navigation("OwnedCampaigns");
 01259
 01260                    b.Navigation("OwnedCharacters");
 01261
 01262                    b.Navigation("OwnedWorlds");
 01263
 01264                    b.Navigation("UploadedDocuments");
 01265
 01266                    b.Navigation("WorldMemberships");
 01267                });
 1268
 01269            modelBuilder.Entity("Chronicis.Shared.Models.World", b =>
 01270                {
 01271                    b.Navigation("Articles");
 01272
 01273                    b.Navigation("Campaigns");
 01274
 01275                    b.Navigation("Documents");
 01276
 01277                    b.Navigation("Invitations");
 01278
 01279                    b.Navigation("Links");
 01280
 01281                    b.Navigation("Members");
 01282
 01283                    b.Navigation("WorldResourceProviders");
 01284                });
 1285#pragma warning restore 612, 618
 01286        }
 1287    }
 1288}