diff --git a/App.tsx b/App.tsx index ce676b3a..0eb311a5 100644 --- a/App.tsx +++ b/App.tsx @@ -24,7 +24,7 @@ import { LearnMoreLinks, ReloadInstructions, } from 'react-native/Libraries/NewAppScreen'; -import { JellyfinService } from './api/jellyfinservice'; +import { JellyfinService } from './api/services/jellyfin-service'; type SectionProps = PropsWithChildren<{ title: string; diff --git a/api/queries/artists.ts b/api/queries/artist-queries.ts similarity index 61% rename from api/queries/artists.ts rename to api/queries/artist-queries.ts index f7f2b1ba..5fa7c360 100644 --- a/api/queries/artists.ts +++ b/api/queries/artist-queries.ts @@ -1,16 +1,14 @@ import { BaseItemDto } from '@jellyfin/sdk/lib/generated-client/models/base-item-dto' import { useQuery, UseQueryResult } from '@tanstack/react-query' -import { JellyfinService } from '../jellyfinservice' -import { ArtistModel } from '../models/ArtistModel' +import { JellyfinService } from '../services/jellyfin-service' +import { ArtistModel } from '../../models/ArtistModel' namespace ArtistQueries { export function fetchArtistById(artistJellyfinId: string) : UseQueryResult { return useQuery({ queryKey: ['artists', artistJellyfinId], - queryFn: async () => { - return JellyfinService.instance.getArtistById(artistJellyfinId); - } + queryFn: ({ queryKey }) => JellyfinService.instance.getArtistById(queryKey[1]) }) } } diff --git a/api/queries/image-queries.ts b/api/queries/image-queries.ts new file mode 100644 index 00000000..4bff0b25 --- /dev/null +++ b/api/queries/image-queries.ts @@ -0,0 +1,4 @@ + +namespace ImageQueries { + +} \ No newline at end of file diff --git a/api/jellyfinservice.ts b/api/services/jellyfin-service.ts similarity index 93% rename from api/jellyfinservice.ts rename to api/services/jellyfin-service.ts index a35f5423..d5908479 100644 --- a/api/jellyfinservice.ts +++ b/api/services/jellyfin-service.ts @@ -1,7 +1,7 @@ import { Api, Jellyfin } from "@jellyfin/sdk"; import { getItemsApi } from "@jellyfin/sdk/lib/utils/api/items-api" import { getDeviceNameSync, getUniqueIdSync } from "react-native-device-info"; -import { ArtistModel } from "./models/ArtistModel"; +import { ArtistModel } from "../../models/ArtistModel"; import * as Keychain from "react-native-keychain" let clientName : string = require('root-require')('./package.json').name @@ -33,6 +33,10 @@ export class JellyfinService { return this._instance || (this._instance = new this()) } + public static get api() : Api { + return this.instance.api! + } + public initConnection(serverUrl: string) : void { JellyfinService.instance.api = JellyfinService.instance.client.createApi(serverUrl); } diff --git a/api/models/ArtistModel.ts b/models/ArtistModel.ts similarity index 100% rename from api/models/ArtistModel.ts rename to models/ArtistModel.ts