From 732fc74d199a4acadd1372af9533b1ef27fb51f1 Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Mon, 27 Apr 2026 13:49:23 +0200 Subject: [PATCH] Add subjects as genres to OpenLibraryAPI --- src/api/apis/OpenLibraryAPI.ts | 4 +++- src/models/BookModel.ts | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/api/apis/OpenLibraryAPI.ts b/src/api/apis/OpenLibraryAPI.ts index f42f791..391821e 100644 --- a/src/api/apis/OpenLibraryAPI.ts +++ b/src/api/apis/OpenLibraryAPI.ts @@ -24,6 +24,7 @@ interface SearchResponse { first_publish_year?: number; key: string; description?: string; + subject?: string[]; number_of_pages_median?: number; isbn?: string[]; @@ -94,7 +95,7 @@ export class OpenLibraryAPI extends APIModel { params: { query: { q: `${id}`, - fields: 'key,title,author_name,number_of_pages_median,first_publish_year,isbn,ratings_score,first_sentence,title_suggest,rating*,cover*,editions,description', + fields: 'key,title,author_name,number_of_pages_median,first_publish_year,isbn,ratings_score,first_sentence,title_suggest,rating*,cover*,editions,description,subject*', }, }, fetch: obsidianFetch, @@ -142,6 +143,7 @@ export class OpenLibraryAPI extends APIModel { author: result.author_name?.join(', '), plot: result.description ?? undefined, + genres: result.subject ?? undefined, pages: Number.isNaN(pages) ? undefined : pages, onlineRating: result.ratings_average, image: cover_i ? `https://covers.openlibrary.org/b/id/` + cover_i + `-L.jpg` : undefined, diff --git a/src/models/BookModel.ts b/src/models/BookModel.ts index e75da93..a223f49 100644 --- a/src/models/BookModel.ts +++ b/src/models/BookModel.ts @@ -8,6 +8,7 @@ export type BookData = ModelToData; export class BookModel extends MediaTypeModel { author: string; plot: string; + genres: string[]; pages: number; image: string; onlineRating: number; @@ -27,6 +28,7 @@ export class BookModel extends MediaTypeModel { this.author = ''; this.plot = ''; + this.genres= []; this.pages = 0; this.image = ''; this.onlineRating = 0;