mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-10 15:35:55 +01:00
🐛 Fix pull request issues
This commit is contained in:
@@ -11,6 +11,7 @@ import { MediaServersResponseType } from '~/types/api/media-server/response';
|
||||
import { GenericCurrentlyPlaying, GenericSessionInfo } from '~/types/api/media-server/session-info';
|
||||
import { ConfigAppType } from '~/types/app';
|
||||
import { createTRPCRouter, publicProcedure } from '../trpc';
|
||||
import { checkIntegrationsType, findAppProperty } from '~/tools/client/app-properties';
|
||||
|
||||
const jellyfin = new Jellyfin({
|
||||
clientInfo: {
|
||||
@@ -34,7 +35,7 @@ export const mediaServerRouter = createTRPCRouter({
|
||||
const config = getConfig(input.configName);
|
||||
|
||||
const apps = config.apps.filter((app) =>
|
||||
['jellyfin', 'plex'].includes(app.integration?.type ?? '')
|
||||
checkIntegrationsType(app.integration, ['jellyfin', 'plex'])
|
||||
);
|
||||
|
||||
const servers = await Promise.all(
|
||||
@@ -68,9 +69,9 @@ export const mediaServerRouter = createTRPCRouter({
|
||||
const handleServer = async (app: ConfigAppType): Promise<GenericMediaServer | undefined> => {
|
||||
switch (app.integration?.type) {
|
||||
case 'jellyfin': {
|
||||
const username = app.integration.properties.find((x) => x.field === 'username');
|
||||
const username = findAppProperty(app, 'username');
|
||||
|
||||
if (!username || !username.value) {
|
||||
if (!username) {
|
||||
return {
|
||||
appId: app.id,
|
||||
serverAddress: app.url,
|
||||
@@ -81,9 +82,9 @@ const handleServer = async (app: ConfigAppType): Promise<GenericMediaServer | un
|
||||
};
|
||||
}
|
||||
|
||||
const password = app.integration.properties.find((x) => x.field === 'password');
|
||||
const password = findAppProperty(app, 'password');
|
||||
|
||||
if (!password || !password.value) {
|
||||
if (!password) {
|
||||
return {
|
||||
appId: app.id,
|
||||
serverAddress: app.url,
|
||||
@@ -96,7 +97,7 @@ const handleServer = async (app: ConfigAppType): Promise<GenericMediaServer | un
|
||||
|
||||
const api = jellyfin.createApi(app.url);
|
||||
const infoApi = await getSystemApi(api).getPublicSystemInfo();
|
||||
await api.authenticateUserByName(username.value, password.value);
|
||||
await api.authenticateUserByName(username, password);
|
||||
const sessionApi = await getSessionApi(api);
|
||||
const sessions = await sessionApi.getSessions();
|
||||
return {
|
||||
@@ -168,9 +169,9 @@ const handleServer = async (app: ConfigAppType): Promise<GenericMediaServer | un
|
||||
};
|
||||
}
|
||||
case 'plex': {
|
||||
const apiKey = app.integration.properties.find((x) => x.field === 'apiKey');
|
||||
const apiKey = findAppProperty(app, 'apiKey');
|
||||
|
||||
if (!apiKey || !apiKey.value) {
|
||||
if (!apiKey) {
|
||||
return {
|
||||
serverAddress: app.url,
|
||||
sessions: [],
|
||||
@@ -181,7 +182,7 @@ const handleServer = async (app: ConfigAppType): Promise<GenericMediaServer | un
|
||||
};
|
||||
}
|
||||
|
||||
const plexClient = new PlexClient(app.url, apiKey.value);
|
||||
const plexClient = new PlexClient(app.url, apiKey);
|
||||
const sessions = await plexClient.getSessions();
|
||||
return {
|
||||
serverAddress: app.url,
|
||||
|
||||
Reference in New Issue
Block a user