Files
reiverr/backend/src/user-data/library/library.dto.ts

55 lines
1.2 KiB
TypeScript

import { ApiProperty, PickType } from '@nestjs/swagger';
import { TmdbItemDto } from 'src/metadata/tmdb/tmdb.dto';
import { LibraryItem } from './library.entity';
import { PlayStateDto } from '../play-state/play-state.dto';
import { PlayState } from '../play-state/play-state.entity';
export enum OrderDirection {
Asc = 'asc',
Desc = 'desc',
}
export enum MyListOrder {
DateAdded = 'date-added',
Name = 'name',
FirstReleaseDate = 'first-release-date',
LastReleaseDate = 'last-release-date',
LastPlayed = 'last-played',
}
export enum MyListStatusFilter {
All = 'all',
Upcoming = 'upcoming',
Unwatched = 'unwatched',
Watched = 'watched',
ContinueWatching = 'continue-watching',
}
export enum MyListTypeFilter {
Movies = 'movies',
Series = 'series',
All = 'all',
}
export enum CatalogueTypeFilter {
All = 'all',
Movies = 'movies',
Series = 'series',
Missing = 'missing',
}
export class LibraryItemDto extends PickType(LibraryItem, [
'tmdbId',
'mediaType',
'playStates',
]) {
@ApiProperty()
tmdbItem: TmdbItemDto;
@ApiProperty({ type: PlayStateDto, required: false })
lastPlayState?: PlayState;
@ApiProperty({ required: false })
watched?: boolean;
}