diff --git a/server/routes/settings/metadata.ts b/server/routes/settings/metadata.ts index 9c43a0f8..73f641ae 100644 --- a/server/routes/settings/metadata.ts +++ b/server/routes/settings/metadata.ts @@ -8,26 +8,28 @@ import { import logger from '@server/logger'; import { Router } from 'express'; +function getTestResultString(testValue: number): string { + if (testValue === -1) return 'not tested'; + if (testValue === 0) return 'failed'; + return 'ok'; +} + const metadataRoutes = Router(); metadataRoutes.get('/', (_req, res) => { const settings = getSettings(); - res.status(200).json({ metadata: { - tv: settings.metadataSettings.tv === IndexerType.TMDB ? 'tmdb' : 'tvdb', - anime: - settings.metadataSettings.anime === IndexerType.TMDB ? 'tmdb' : 'tvdb', + tv: settings.metadataSettings.tv, + anime: settings.metadataSettings.anime, }, }); }); metadataRoutes.put('/', async (req, res) => { const settings = getSettings(); - const body = req.body as MetadataSettings; - // test indexers let tvdbTest = -1; let tmdbTest = -1; @@ -59,15 +61,6 @@ metadataRoutes.put('/', async (req, res) => { }); } - logger.info('Updated metadata settings', { - label: 'Metadata', - body: body, - tmdb: tmdbTest, - tvdb: tvdbTest, - tv: body.tv, - anime: body.anime, - }); - if (tvdbTest === 0 || tmdbTest === 0) { return res.status(500).json({ tvdb: tvdbTest === 1 ? 'ok' : 'failed', @@ -82,9 +75,8 @@ metadataRoutes.put('/', async (req, res) => { await settings.save(); res.status(200).json({ - tv: settings.metadataSettings.tv === IndexerType.TMDB ? 'tmdb' : 'tvdb', - anime: - settings.metadataSettings.anime === IndexerType.TMDB ? 'tmdb' : 'tvdb', + tv: settings.metadataSettings.tv === IndexerType.TMDB, + anime: settings.metadataSettings.anime === IndexerType.TMDB, }); }); @@ -124,8 +116,8 @@ metadataRoutes.post('/test', async (req, res) => { } const response = { - tmdb: tmdbTest === -1 ? 'not tested' : tmdbTest === 0 ? 'failed' : 'ok', - tvdb: tvdbTest === -1 ? 'not tested' : tvdbTest === 0 ? 'failed' : 'ok', + tmdb: getTestResultString(tmdbTest), + tvdb: getTestResultString(tvdbTest), }; return res.status(200).json(response); @@ -135,12 +127,9 @@ metadataRoutes.post('/test', async (req, res) => { message: e.message, }); - // if tmdbTest != -1 (tested) and tmdbTest === 1 (ok) then fail - // if tvdbTest != -1 (tested) and tvdbTest === 1 (ok) then fail - // if test === -1 = 'not tested' if test === 0 = 'failed' if test === 1 = 'ok' const response = { - tmdb: tmdbTest === -1 ? 'not tested' : tmdbTest === 0 ? 'failed' : 'ok', - tvdb: tvdbTest === -1 ? 'not tested' : tvdbTest === 0 ? 'failed' : 'ok', + tmdb: getTestResultString(tmdbTest), + tvdb: getTestResultString(tvdbTest), }; return res.status(500).json(response); diff --git a/src/components/Settings/SettingsMetadata.tsx b/src/components/Settings/SettingsMetadata.tsx index 0318bf4e..7d37e116 100644 --- a/src/components/Settings/SettingsMetadata.tsx +++ b/src/components/Settings/SettingsMetadata.tsx @@ -27,6 +27,11 @@ const messages = defineMessages('components.Settings', { providerStatus: 'Provider Status', chooseProvider: 'Choose metadata providers for different content types', indexerSelection: 'Provider Selection', + tmdbProviderDoesnotWork: + 'TMDB provider does not work, please select another provider', + tvdbProviderDoesnotWork: + 'TVDB provider does not work, please select another provider', + allChosenProvidersAreOperational: 'All chosen providers are operational', }); // Types @@ -298,19 +303,40 @@ const SettingsMetadata = () => { try { const resp = await testConnection(values.metadata); - if ( - resp.tvdb === 'failed' || - resp.tmdb === 'failed' - ) { - addToast('Test failed', { appearance: 'error' }); + if (resp.tvdb === 'failed') { + addToast( + intl.formatMessage( + messages.tvdbProviderDoesnotWork + ), + { + appearance: 'error', + autoDismiss: true, + } + ); + } else if (resp.tmdb === 'failed') { + addToast( + intl.formatMessage( + messages.tmdbProviderDoesnotWork + ), + { + appearance: 'error', + autoDismiss: true, + } + ); } else { - addToast('Connection test successful', { - appearance: 'success', - }); + addToast( + intl.formatMessage( + messages.allChosenProvidersAreOperational + ), + { + appearance: 'success', + } + ); } } catch (e) { addToast('Connection test failed', { appearance: 'error', + autoDismiss: true, }); } finally { setIsTesting(false);