1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Update typing for currentApiClient

This commit is contained in:
Bill Thornton 2022-10-28 12:53:31 -04:00
parent d297f23932
commit 72dab5381d
3 changed files with 6 additions and 7 deletions

View file

@ -1,7 +1,6 @@
import { Api } from '@jellyfin/sdk'; import { Api } from '@jellyfin/sdk';
import { UserDto } from '@jellyfin/sdk/lib/generated-client/models/user-dto'; import { UserDto } from '@jellyfin/sdk/lib/generated-client/models/user-dto';
import { History } from '@remix-run/router'; import { History } from '@remix-run/router';
import { ApiClient, ConnectionManager } from 'jellyfin-apiclient';
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState } from 'react';
import { HistoryRouter } from './components/HistoryRouter'; import { HistoryRouter } from './components/HistoryRouter';
@ -12,11 +11,7 @@ import AppRoutes from './routes/index';
import events from './utils/events'; import events from './utils/events';
import { toApi } from './utils/sdk'; import { toApi } from './utils/sdk';
interface ServerConnections extends ConnectionManager { const App = ({ history, connections }: { history: History, connections: typeof ServerConnections }) => {
currentApiClient: () => ApiClient
}
const App = ({ history, connections }: { history: History, connections: ServerConnections }) => {
const [ api, setApi ] = useState<Api | undefined>(toApi(connections.currentApiClient())); const [ api, setApi ] = useState<Api | undefined>(toApi(connections.currentApiClient()));
const [ user, setUser ] = useState<UserDto | undefined>(); const [ user, setUser ] = useState<UserDto | undefined>();

View file

@ -129,7 +129,7 @@ const ConnectionRequired: FunctionComponent<ConnectionRequiredProps> = ({
if (isAdminRequired) { if (isAdminRequired) {
try { try {
const user = await client.getCurrentUser(); const user = await client.getCurrentUser();
if (!user.Policy.IsAdministrator) { if (!user.Policy?.IsAdministrator) {
console.warn('[ConnectionRequired] normal user attempted to access admin route'); console.warn('[ConnectionRequired] normal user attempted to access admin route');
bounce(await ServerConnections.connect()); bounce(await ServerConnections.connect());
return; return;

View file

@ -86,6 +86,10 @@ class ServerConnections extends ConnectionManager {
return this.localApiClient; return this.localApiClient;
} }
/**
* Gets the ApiClient that is currently connected.
* @returns {ApiClient} apiClient
*/
currentApiClient() { currentApiClient() {
let apiClient = this.getLocalApiClient(); let apiClient = this.getLocalApiClient();