diff --git a/backend/src/Controllers/ServersController.cs b/backend/src/Controllers/ServersController.cs index d4725ed..9abb395 100644 --- a/backend/src/Controllers/ServersController.cs +++ b/backend/src/Controllers/ServersController.cs @@ -31,8 +31,6 @@ public class ServersController : ControllerBase var servers = await _serverService.GetServers(); - _logger.LogDebug("Servers found: {}", servers.Length); - return Ok(servers); } diff --git a/backend/src/Repositories/JellyfinApiClient.cs b/backend/src/Repositories/JellyfinApiClient.cs index 338e7dd..acd6d85 100644 --- a/backend/src/Repositories/JellyfinApiClient.cs +++ b/backend/src/Repositories/JellyfinApiClient.cs @@ -176,7 +176,7 @@ public class JellyfinApiClient private string GetAuthHeader() { - var header = "Client=JellyGlass, Device=JellyGlass, DeviceId=JellyGlass, Version=1"; + var header = "Client=Test, Device=Test, DeviceId=Test, Version=1"; if (_apiKey != String.Empty) { diff --git a/frontend/src/Lib/QuickConnect.ts b/frontend/src/Lib/QuickConnect.ts deleted file mode 100644 index 89e5251..0000000 --- a/frontend/src/Lib/QuickConnect.ts +++ /dev/null @@ -1,43 +0,0 @@ -import axios, { AxiosError } from "axios"; - -const DeviceInfoString = "MediaBrowser Client=JellyGlass, Device=JellyGlass, DeviceId=JellyGlass, Version=1"; - -interface QuickConnectInfo { - Code: string; - Secret: string; - Authenticated: boolean -} - -export interface QuickConnectAuth { - AccessToken: string; -} - -export const BeginQuickConnect = async (url: string, callback: (apiToken: string) => void, isCancelled: () => boolean, onError: (e: AxiosError) => void): Promise => { - const response = await axios.post(`${url}/QuickConnect/Initiate`, {}, { headers: { Authorization: DeviceInfoString } }); - - setTimeout(() => { PollQuickConnect(url, response.data, callback, isCancelled, onError) }); - - return response.data.Code; -} - -const PollQuickConnect = async (url: string, info: QuickConnectInfo, callback: (apiToken: string) => void, isCancelled: () => boolean, onError: (e: AxiosError) => void) => { - if (isCancelled()) { - return; - } - - try { - const response = await axios.get(`${url}/QuickConnect/Connect?secret=${info.Secret}`, { headers: { Authorization: DeviceInfoString } }); - - if (response.data.Authenticated) { - const authResponse = await axios.post(`${url}/Users/AuthenticateWithQuickConnect`, { Secret: response.data.Secret }) - callback(authResponse.data.AccessToken); - } - else { - setTimeout(() => { PollQuickConnect(url, response.data, callback, isCancelled, onError) }, 5000) - } - } - catch (e) { - console.log(e); - onError(e as AxiosError); - } -} \ No newline at end of file diff --git a/frontend/src/Pages/Admin/ServerManagement/ServerManagement.tsx b/frontend/src/Pages/Admin/ServerManagement/ServerManagement.tsx index a24819c..17cbc48 100644 --- a/frontend/src/Pages/Admin/ServerManagement/ServerManagement.tsx +++ b/frontend/src/Pages/Admin/ServerManagement/ServerManagement.tsx @@ -1,20 +1,17 @@ -import { useEffect, useState } from "react"; -import { Button, Form, Modal, Spinner, Table } from "react-bootstrap"; +import { useEffect } from "react"; +import { Button, Form, Spinner, Table } from "react-bootstrap"; import { AddServer, getServerList, RemoveServer, type Server } from "../../../Lib/Servers"; import { useImmer } from "use-immer"; import styles from "../Management.module.scss"; -import { BeginQuickConnect } from "../../../Lib/QuickConnect"; -import type { AxiosError } from "axios"; const ServerManagement = () => { const [servers, setServers] = useImmer | undefined>(undefined); - const [isCancelled, setIsCancelled] = useState(false); - const [quickConnectCode, setQuickConnectCode] = useState(undefined); const [addServerInfo, setAddServerInfo] = useImmer({ url: "", owner: "", + apiToken: "" }); useEffect(() => { @@ -40,25 +37,8 @@ const ServerManagement = () => { }) } - const onQuickConnect = () => { - setIsCancelled(false); - BeginQuickConnect(addServerInfo.url, onServerAdd, () => isCancelled, onQuickConnectError).then(code => { - setQuickConnectCode(code); - }).catch(err => { - console.log(err); - alert(err); - }); - } - - const onQuickConnectError = (e: AxiosError) => { - setIsCancelled(true); - setQuickConnectCode(undefined); - alert(e); - } - - const onServerAdd = (apiToken: string) => { - setQuickConnectCode(undefined); - AddServer(addServerInfo.owner, addServerInfo.url, apiToken).then(result => { + const onServerAdd = () => { + AddServer(addServerInfo.owner, addServerInfo.url, addServerInfo.apiToken).then(result => { if (result.errored) { alert("Server was added, but is not working. Check the logs for details"); } @@ -72,6 +52,7 @@ const ServerManagement = () => { } setAddServerInfo(draft => { + draft.apiToken = ""; draft.owner = ""; draft.url = ""; }); @@ -93,7 +74,11 @@ const ServerManagement = () => { Url setAddServerInfo(draft => { draft.url = e.target.value })} value={addServerInfo.url} /> - + + ApiToken + setAddServerInfo(draft => { draft.apiToken = e.target.value })} value={addServerInfo.apiToken} /> + + @@ -122,17 +107,6 @@ const ServerManagement = () => { }
- { setQuickConnectCode(undefined); setIsCancelled(true); }}> - - Jellyfin quick connect code - - - Your quick connect code is {quickConnectCode} - - - - - ) }