New Scanner + People Pages (#3286)

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
This commit is contained in:
Joe Milazzo 2024-10-23 15:11:18 -07:00 committed by GitHub
parent 1ed0eae22d
commit ba20ad4ecc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
142 changed files with 17529 additions and 3038 deletions

View file

@ -95,59 +95,73 @@ public class AutoMapperProfiles : Profile
opt =>
opt.MapFrom(
src => src.PagesRead));
CreateMap<SeriesMetadata, SeriesMetadataDto>()
.ForMember(dest => dest.Writers,
opt =>
opt.MapFrom(
src => src.People.Where(p => p.Role == PersonRole.Writer).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.CoverArtists,
opt =>
opt.MapFrom(src =>
src.People.Where(p => p.Role == PersonRole.CoverArtist).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Characters,
opt =>
opt.MapFrom(src =>
src.People.Where(p => p.Role == PersonRole.Character).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Publishers,
opt =>
opt.MapFrom(src =>
src.People.Where(p => p.Role == PersonRole.Publisher).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Colorists,
opt =>
opt.MapFrom(src =>
src.People.Where(p => p.Role == PersonRole.Colorist).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Inkers,
opt =>
opt.MapFrom(src =>
src.People.Where(p => p.Role == PersonRole.Inker).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Imprints,
opt =>
opt.MapFrom(src =>
src.People.Where(p => p.Role == PersonRole.Imprint).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Letterers,
opt =>
opt.MapFrom(src =>
src.People.Where(p => p.Role == PersonRole.Letterer).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Pencillers,
opt =>
opt.MapFrom(src =>
src.People.Where(p => p.Role == PersonRole.Penciller).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Translators,
opt =>
opt.MapFrom(src =>
src.People.Where(p => p.Role == PersonRole.Translator).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Editors,
opt =>
opt.MapFrom(
src => src.People.Where(p => p.Role == PersonRole.Editor).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Teams,
opt =>
opt.MapFrom(
src => src.People.Where(p => p.Role == PersonRole.Team).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Locations,
opt =>
opt.MapFrom(
src => src.People.Where(p => p.Role == PersonRole.Location).OrderBy(p => p.NormalizedName)))
// Map Writers
.ForMember(dest => dest.Writers, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Writer)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map CoverArtists
.ForMember(dest => dest.CoverArtists, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.CoverArtist)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Publishers
.ForMember(dest => dest.Publishers, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Publisher)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Characters
.ForMember(dest => dest.Characters, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Character)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Pencillers
.ForMember(dest => dest.Pencillers, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Penciller)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Inkers
.ForMember(dest => dest.Inkers, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Inker)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Imprints
.ForMember(dest => dest.Imprints, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Imprint)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Colorists
.ForMember(dest => dest.Colorists, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Colorist)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Letterers
.ForMember(dest => dest.Letterers, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Letterer)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Editors
.ForMember(dest => dest.Editors, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Editor)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Translators
.ForMember(dest => dest.Translators, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Translator)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Teams
.ForMember(dest => dest.Teams, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Team)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Locations
.ForMember(dest => dest.Locations, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Location)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Genres,
opt =>
opt.MapFrom(
@ -157,89 +171,73 @@ public class AutoMapperProfiles : Profile
opt.MapFrom(
src => src.Tags.OrderBy(p => p.NormalizedTitle)));
CreateMap<Chapter, ChapterMetadataDto>()
.ForMember(dest => dest.Writers,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Writer).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.CoverArtists,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.CoverArtist).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Colorists,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Colorist).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Inkers,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Inker).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Imprints,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Imprint).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Letterers,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Letterer).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Pencillers,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Penciller).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Publishers,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Publisher).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Translators,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Translator).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Characters,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Character).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Editors,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Editor).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Teams,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Team).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Locations,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Location).OrderBy(p => p.NormalizedName)))
;
CreateMap<Chapter, ChapterDto>()
.ForMember(dest => dest.Writers,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Writer).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.CoverArtists,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.CoverArtist).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Colorists,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Colorist).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Inkers,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Inker).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Imprints,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Imprint).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Letterers,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Letterer).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Pencillers,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Penciller).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Publishers,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Publisher).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Translators,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Translator).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Characters,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Character).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Editors,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Editor).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Teams,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Team).OrderBy(p => p.NormalizedName)))
.ForMember(dest => dest.Locations,
opt =>
opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Location).OrderBy(p => p.NormalizedName)))
;
// Map Writers
.ForMember(dest => dest.Writers, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Writer)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map CoverArtists
.ForMember(dest => dest.CoverArtists, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.CoverArtist)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Publishers
.ForMember(dest => dest.Publishers, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Publisher)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Characters
.ForMember(dest => dest.Characters, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Character)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Pencillers
.ForMember(dest => dest.Pencillers, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Penciller)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Inkers
.ForMember(dest => dest.Inkers, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Inker)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Imprints
.ForMember(dest => dest.Imprints, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Imprint)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Colorists
.ForMember(dest => dest.Colorists, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Colorist)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Letterers
.ForMember(dest => dest.Letterers, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Letterer)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Editors
.ForMember(dest => dest.Editors, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Editor)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Translators
.ForMember(dest => dest.Translators, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Translator)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Teams
.ForMember(dest => dest.Teams, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Team)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)))
// Map Locations
.ForMember(dest => dest.Locations, opt => opt.MapFrom(src => src.People
.Where(cp => cp.Role == PersonRole.Location)
.Select(cp => cp.Person)
.OrderBy(p => p.NormalizedName)));
CreateMap<AppUser, UserDto>()
.ForMember(dest => dest.AgeRestriction,
@ -337,5 +335,11 @@ public class AutoMapperProfiles : Profile
CreateMap<MangaFile, FileExtensionExportDto>();
CreateMap<Chapter, StandaloneChapterDto>()
.ForMember(dest => dest.SeriesId, opt => opt.MapFrom(src => src.Volume.SeriesId))
.ForMember(dest => dest.VolumeTitle, opt => opt.MapFrom(src => src.Volume.Name))
.ForMember(dest => dest.LibraryId, opt => opt.MapFrom(src => src.Volume.Series.LibraryId))
.ForMember(dest => dest.LibraryType, opt => opt.MapFrom(src => src.Volume.Series.Library.Type));
}
}