mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-11 19:46:16 -08:00
feat(downloads): persist offline metadata snapshots
This commit is contained in:
1 parent
2e243cc4af
commit
664d333f0f
6 files changed
+128
-3
No files matched your search
@@ -2,6 +2,7 @@ export * from './lib/channel-drm.interface';
|
||||
export * from './lib/channel.interface';
|
||||
export * from './lib/channel.model';
|
||||
export * from './lib/dev-logger.util';
|
||||
export * from './lib/download-metadata.interface';
|
||||
export * from './lib/embedded-mpv-session.interface';
|
||||
export * from './lib/electron-api.interface';
|
||||
export * from './lib/epg-channel-metadata.model';
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
export interface DownloadMetadataPerson {
|
||||
tmdbPersonId?: number;
|
||||
name: string;
|
||||
role?: string;
|
||||
profileUrl?: string;
|
||||
}
|
||||
|
||||
export interface DownloadEpisodeMetadata {
|
||||
title?: string;
|
||||
plot?: string;
|
||||
stillUrl?: string;
|
||||
seasonNumber: number;
|
||||
episodeNumber: number;
|
||||
}
|
||||
|
||||
export interface DownloadMetadataSnapshot {
|
||||
version: 1;
|
||||
language: string;
|
||||
mediaKind: 'movie' | 'series';
|
||||
title: string;
|
||||
originalTitle?: string;
|
||||
plot?: string;
|
||||
releaseDate?: string;
|
||||
year?: number;
|
||||
durationMinutes?: number;
|
||||
genres?: string[];
|
||||
rating?: number;
|
||||
status?: string;
|
||||
posterUrl?: string;
|
||||
backdropUrl?: string;
|
||||
tmdbId?: number;
|
||||
providerCategoryId?: string;
|
||||
cast?: DownloadMetadataPerson[];
|
||||
creators?: DownloadMetadataPerson[];
|
||||
episode?: DownloadEpisodeMetadata;
|
||||
enrichedAt?: string;
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import {
|
||||
EmbeddedMpvSession,
|
||||
EmbeddedMpvSupport,
|
||||
} from './embedded-mpv-session.interface';
|
||||
import { DownloadMetadataSnapshot } from './download-metadata.interface';
|
||||
import { EpgChannelMetadata } from './epg-channel-metadata.model';
|
||||
import { EpgProgram } from './epg-program.model';
|
||||
import { ExternalPlayerSession } from './external-player-session.interface';
|
||||
@@ -516,6 +517,7 @@ export interface ElectronBridgeDownloadStartPayload {
|
||||
title: string;
|
||||
url: string;
|
||||
posterUrl?: string;
|
||||
metadataSnapshot?: DownloadMetadataSnapshot;
|
||||
downloadFolder: string;
|
||||
headers?: ElectronBridgeDownloadHeaders;
|
||||
seriesXtreamId?: number;
|
||||
@@ -549,6 +551,7 @@ export interface ElectronDownloadItem {
|
||||
fileName?: string;
|
||||
filePath?: string;
|
||||
posterUrl?: string;
|
||||
metadataSnapshot?: DownloadMetadataSnapshot;
|
||||
status: ElectronBridgeDownloadStatus;
|
||||
fileAvailability: ElectronDownloadFileAvailability;
|
||||
bytesDownloaded?: number;
|
||||
@@ -1083,6 +1086,10 @@ export interface ElectronBridgeApi {
|
||||
downloadsRemove: (downloadId: number) => Promise<ElectronBridgeErrorResult>;
|
||||
downloadsGetList: (playlistId?: string) => Promise<ElectronDownloadItem[]>;
|
||||
downloadsGet: (downloadId: number) => Promise<ElectronDownloadItem | null>;
|
||||
downloadsUpdateMetadata: (
|
||||
downloadId: number,
|
||||
metadataSnapshot: DownloadMetadataSnapshot
|
||||
) => Promise<ElectronBridgeErrorResult>;
|
||||
downloadsGetDefaultFolder: () => Promise<string>;
|
||||
downloadsSelectFolder: () => Promise<string | null>;
|
||||
downloadsRevealFile: (
|
||||
|
||||
Reference in new issue
Block a user