mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 00:11:37 -06:00
fix(metadata): persist hardcover and open library ids during book dock import
Pass external provider IDs (including Hardcover and Open Library IDs) from book dock metadata selection through ingest and finalization so they are saved to book metadata on import. Closes #704
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import type { AudiobookChapter } from "./audiobook";
|
||||
import type { ComicMetadataFields, MetadataProviderKey, MetadataSeriesMembership } from "./metadata-fetch";
|
||||
|
||||
export type BookDockFileStatus = "pending" | "extracting" | "fetching" | "ready" | "error";
|
||||
export type BookDockAutoFinalizeMetadataMode = "safe_merge" | "fetched_only" | "embedded_only";
|
||||
@@ -16,24 +17,42 @@ export function resolveBookDockSearchTitle(fileName: string, metadataTitle?: str
|
||||
}
|
||||
|
||||
export interface BookDockMetadata {
|
||||
title?: string;
|
||||
subtitle?: string;
|
||||
title?: string | null;
|
||||
subtitle?: string | null;
|
||||
authors?: string[];
|
||||
narrators?: string[];
|
||||
description?: string;
|
||||
publisher?: string;
|
||||
publishedDate?: string;
|
||||
publishedYear?: number;
|
||||
language?: string;
|
||||
pageCount?: number;
|
||||
isbn10?: string;
|
||||
isbn13?: string;
|
||||
seriesName?: string;
|
||||
seriesIndex?: number;
|
||||
description?: string | null;
|
||||
publisher?: string | null;
|
||||
publishedDate?: string | null;
|
||||
publishedYear?: number | null;
|
||||
language?: string | null;
|
||||
pageCount?: number | null;
|
||||
isbn10?: string | null;
|
||||
isbn13?: string | null;
|
||||
seriesName?: string | null;
|
||||
seriesIndex?: number | null;
|
||||
seriesMemberships?: MetadataSeriesMembership[] | null;
|
||||
genres?: string[];
|
||||
coverUrl?: string;
|
||||
durationSeconds?: number;
|
||||
chapters?: AudiobookChapter[];
|
||||
coverUrl?: string | null;
|
||||
durationSeconds?: number | null;
|
||||
abridged?: boolean | null;
|
||||
chapters?: AudiobookChapter[] | null;
|
||||
communityRatings?: Array<{ provider: MetadataProviderKey; rating: number; ratingCount?: number | null }> | null;
|
||||
googleBooksId?: string | null;
|
||||
goodreadsId?: string | null;
|
||||
amazonId?: string | null;
|
||||
hardcoverId?: string | null;
|
||||
hardcoverEditionId?: string | null;
|
||||
openLibraryId?: string | null;
|
||||
itunesId?: string | null;
|
||||
audibleId?: string | null;
|
||||
librofmId?: string | null;
|
||||
koboId?: string | null;
|
||||
comicvineId?: string | null;
|
||||
ranobedbId?: string | null;
|
||||
lubimyczytacId?: string | null;
|
||||
aladinId?: string | null;
|
||||
comicMetadata?: ComicMetadataFields | null;
|
||||
}
|
||||
|
||||
export interface BookDockFile {
|
||||
|
||||
Reference in New Issue
Block a user