//
using System;
using FreeTubeSync.Database;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace FreeTubeSync.Migrations
{
[DbContext(typeof(DataContext))]
partial class DataContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "9.0.7");
modelBuilder.Entity("FreeTubeSync.Model.ChangeLog", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ChangeTime")
.HasColumnType("TEXT");
b.Property("ChangeType")
.IsRequired()
.HasColumnType("TEXT");
b.Property("TableName")
.IsRequired()
.HasColumnType("TEXT");
b.HasKey("Id");
b.ToTable("ChangeLogs");
});
modelBuilder.Entity("FreeTubeSync.Model.History", b =>
{
b.Property("_id")
.HasColumnType("TEXT");
b.Property("author")
.IsRequired()
.HasColumnType("TEXT");
b.Property("authorId")
.IsRequired()
.HasColumnType("TEXT");
b.Property("description")
.IsRequired()
.HasColumnType("TEXT");
b.Property("isLive")
.HasColumnType("INTEGER");
b.Property("lastViewedPlaylistItemId")
.HasColumnType("TEXT");
b.Property("lastViewedPlaylistType")
.IsRequired()
.HasColumnType("TEXT");
b.Property("lengthSeconds")
.HasColumnType("INTEGER");
b.Property("published")
.HasColumnType("INTEGER");
b.Property("timeWatched")
.HasColumnType("INTEGER");
b.Property("title")
.IsRequired()
.HasColumnType("TEXT");
b.Property("type")
.IsRequired()
.HasColumnType("TEXT");
b.Property("videoId")
.IsRequired()
.HasColumnType("TEXT");
b.Property("viewCount")
.HasColumnType("INTEGER");
b.Property("watchProgress")
.HasColumnType("REAL");
b.HasKey("_id");
b.ToTable("Histories");
});
modelBuilder.Entity("FreeTubeSync.Model.Playlist", b =>
{
b.Property("_id")
.HasColumnType("TEXT");
b.Property("createdAt")
.HasColumnType("INTEGER");
b.Property("lastUpdatedAt")
.HasColumnType("INTEGER");
b.Property("playlistName")
.IsRequired()
.HasColumnType("TEXT");
b.Property("protected")
.HasColumnType("INTEGER");
b.HasKey("_id");
b.ToTable("Playlists");
});
modelBuilder.Entity("FreeTubeSync.Model.Profile", b =>
{
b.Property("_id")
.HasColumnType("TEXT");
b.Property("bgColor")
.IsRequired()
.HasColumnType("TEXT");
b.Property("name")
.IsRequired()
.HasColumnType("TEXT");
b.Property("textColor")
.IsRequired()
.HasColumnType("TEXT");
b.HasKey("_id");
b.ToTable("Profiles");
});
modelBuilder.Entity("FreeTubeSync.Model.SearchHistory", b =>
{
b.Property("_id")
.HasColumnType("TEXT");
b.Property("lastUpdatedAt")
.HasColumnType("INTEGER");
b.HasKey("_id");
b.ToTable("SearchHistories");
});
modelBuilder.Entity("FreeTubeSync.Model.Setting", b =>
{
b.Property("_id")
.HasColumnType("TEXT");
b.Property("value")
.IsRequired()
.HasColumnType("TEXT");
b.HasKey("_id");
b.ToTable("Settings");
});
modelBuilder.Entity("FreeTubeSync.Model.Playlist", b =>
{
b.OwnsMany("FreeTubeSync.Model.Video", "videos", b1 =>
{
b1.Property("Playlist_id")
.HasColumnType("TEXT");
b1.Property("videoId")
.HasColumnType("TEXT");
b1.Property("author")
.IsRequired()
.HasColumnType("TEXT");
b1.Property("authorId")
.IsRequired()
.HasColumnType("TEXT");
b1.Property("lengthSeconds")
.IsRequired()
.HasColumnType("TEXT");
b1.Property("playlistItemId")
.IsRequired()
.HasColumnType("TEXT");
b1.Property("published")
.HasColumnType("INTEGER");
b1.Property("timeAdded")
.HasColumnType("INTEGER");
b1.Property("title")
.IsRequired()
.HasColumnType("TEXT");
b1.Property("type")
.IsRequired()
.HasColumnType("TEXT");
b1.HasKey("Playlist_id", "videoId");
b1.ToTable("Video");
b1.WithOwner()
.HasForeignKey("Playlist_id");
});
b.Navigation("videos");
});
modelBuilder.Entity("FreeTubeSync.Model.Profile", b =>
{
b.OwnsMany("FreeTubeSync.Model.Subscription", "subscriptions", b1 =>
{
b1.Property("Profile_id")
.HasColumnType("TEXT");
b1.Property("id")
.HasColumnType("TEXT");
b1.Property("name")
.IsRequired()
.HasColumnType("TEXT");
b1.Property("thumbnail")
.HasColumnType("TEXT");
b1.HasKey("Profile_id", "id");
b1.ToTable("Subscription");
b1.WithOwner()
.HasForeignKey("Profile_id");
});
b.Navigation("subscriptions");
});
#pragma warning restore 612, 618
}
}
}