Refactor ILibraryService and LibraryService to support new metadata handling features, including remote image management and enhanced label summaries. Update LabelSummary to include ImagePath for better visual representation. Revise MetadataMatchViewModel and MetadataScanViewModel to accommodate new image loading logic. Enhance README.md to document these updates and new functionalities.
This commit is contained in:
+169
@@ -0,0 +1,169 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using PLib.Infrastructure.Persistence;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace PLib.Infrastructure.Persistence.Migrations
|
||||
{
|
||||
[DbContext(typeof(LibraryDbContext))]
|
||||
[Migration("20260810054626_LabelImages")]
|
||||
partial class LabelImages
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder.HasAnnotation("ProductVersion", "10.0.10");
|
||||
|
||||
modelBuilder.Entity("LibraryLabelVideoItem", b =>
|
||||
{
|
||||
b.Property<Guid>("LabelsId")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<Guid>("VideosId")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("LabelsId", "VideosId");
|
||||
|
||||
b.HasIndex("VideosId");
|
||||
|
||||
b.ToTable("VideoLabels", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PLib.Domain.Videos.LibraryLabel", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<long>("CreatedAt")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("ImagePath")
|
||||
.HasMaxLength(1024)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Kind")
|
||||
.IsRequired()
|
||||
.HasMaxLength(16)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(128)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("NormalizedName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(128)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("Kind", "NormalizedName")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("Labels", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PLib.Domain.Videos.VideoItem", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<long>("AddedAt")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<TimeSpan?>("Duration")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<long>("FileModifiedAt")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("FullPath")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1024)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int?>("Height")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<long?>("LastPlayedAt")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<long?>("PerceptualHash")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("PlayCount")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("PreviewFrameCount")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("PreviewPath")
|
||||
.HasMaxLength(1024)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<TimeSpan?>("ResumePosition")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<long>("SizeInBytes")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("ThumbnailPath")
|
||||
.HasMaxLength(1024)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Title")
|
||||
.IsRequired()
|
||||
.HasMaxLength(512)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("VideoCodec")
|
||||
.HasMaxLength(64)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int?>("Width")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("AddedAt");
|
||||
|
||||
b.HasIndex("FullPath")
|
||||
.IsUnique();
|
||||
|
||||
b.HasIndex("LastPlayedAt");
|
||||
|
||||
b.HasIndex("PerceptualHash");
|
||||
|
||||
b.ToTable("Videos", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("LibraryLabelVideoItem", b =>
|
||||
{
|
||||
b.HasOne("PLib.Domain.Videos.LibraryLabel", null)
|
||||
.WithMany()
|
||||
.HasForeignKey("LabelsId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("PLib.Domain.Videos.VideoItem", null)
|
||||
.WithMany()
|
||||
.HasForeignKey("VideosId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user