* fix plex library synchronization * add basic plex movie synchronization * proxy plex movie thumbnails (posters) * add plex path replacements * use transcoded plex artwork * remove unsynchronized plex movies on save; queue plex library scan on save * log plex path replacements * prefer buttons instead of menus * lock plex libraries before sync * add movie to collection from paged view * fix plex import memory use; quick add seasons/shows * quick add episode to collection * add favicon * add search page * disable plex for now
23 lines
810 B
C#
23 lines
810 B
C#
using System;
|
|
using ErsatzTV.Core.Domain;
|
|
|
|
namespace ErsatzTV.Application.Libraries
|
|
{
|
|
internal static class Mapper
|
|
{
|
|
public static LibraryViewModel ProjectToViewModel(Library library) =>
|
|
library switch
|
|
{
|
|
LocalLibrary l => ProjectToViewModel(l),
|
|
PlexLibrary p => new PlexLibraryViewModel(p.Id, p.Name, p.MediaKind),
|
|
_ => throw new ArgumentOutOfRangeException(nameof(library))
|
|
};
|
|
|
|
public static LocalLibraryViewModel ProjectToViewModel(LocalLibrary library) =>
|
|
new(library.Id, library.Name, library.MediaKind);
|
|
|
|
public static LocalLibraryPathViewModel ProjectToViewModel(LibraryPath libraryPath) =>
|
|
new(libraryPath.Id, libraryPath.LibraryId, libraryPath.Path);
|
|
}
|
|
}
|