From 552e921d53f67a18fb207184323ac4c3cd8ee749 Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Thu, 22 Aug 2024 00:22:56 +0200 Subject: [PATCH 1/4] Fixed bug when API key is missing --- src/api/apis/MobyGamesAPI.ts | 5 +++-- src/api/apis/OMDbAPI.ts | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/api/apis/MobyGamesAPI.ts b/src/api/apis/MobyGamesAPI.ts index ad00759..d38a454 100644 --- a/src/api/apis/MobyGamesAPI.ts +++ b/src/api/apis/MobyGamesAPI.ts @@ -22,7 +22,8 @@ export class MobyGamesAPI extends APIModel { console.log(`MDB | api "${this.apiName}" queried by Title`); if (!this.plugin.settings.MobyGamesKey) { - throw Error(`MDB | API key for ${this.apiName} missing.`); + console.error(Error(`MDB | API key for ${this.apiName} missing.`)); + return []; } const searchUrl = `${this.apiUrl}/games?title=${encodeURIComponent(title)}&api_key=${this.plugin.settings.MobyGamesKey}`; @@ -65,7 +66,7 @@ export class MobyGamesAPI extends APIModel { console.log(`MDB | api "${this.apiName}" queried by ID`); if (!this.plugin.settings.MobyGamesKey) { - throw Error(`MDB | API key for ${this.apiName} missing.`); + console.log(Error(`MDB | API key for ${this.apiName} missing.`)); } const searchUrl = `${this.apiUrl}/games?id=${encodeURIComponent(id)}&api_key=${this.plugin.settings.MobyGamesKey}`; diff --git a/src/api/apis/OMDbAPI.ts b/src/api/apis/OMDbAPI.ts index 879a71f..4f8f39f 100644 --- a/src/api/apis/OMDbAPI.ts +++ b/src/api/apis/OMDbAPI.ts @@ -29,7 +29,8 @@ export class OMDbAPI extends APIModel { console.log(`MDB | api "${this.apiName}" queried by Title`); if (!this.plugin.settings.OMDbKey) { - throw Error(`MDB | API key for ${this.apiName} missing.`); + console.error(Error(`MDB | API key for ${this.apiName} missing.`)); + return []; } const searchUrl = `https://www.omdbapi.com/?s=${encodeURIComponent(title)}&apikey=${this.plugin.settings.OMDbKey}`; @@ -222,4 +223,4 @@ export class OMDbAPI extends APIModel { return; } -} +} \ No newline at end of file From 08ca5e122fc24d6163f8c7a64d685680ab27ffb7 Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:46:53 +0200 Subject: [PATCH 2/4] Use new Error construct and reverted and oversight Forgot to revert searchbyid for Mobygames --- src/api/apis/MobyGamesAPI.ts | 4 ++-- src/api/apis/OMDbAPI.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/api/apis/MobyGamesAPI.ts b/src/api/apis/MobyGamesAPI.ts index d38a454..92ad406 100644 --- a/src/api/apis/MobyGamesAPI.ts +++ b/src/api/apis/MobyGamesAPI.ts @@ -22,7 +22,7 @@ export class MobyGamesAPI extends APIModel { console.log(`MDB | api "${this.apiName}" queried by Title`); if (!this.plugin.settings.MobyGamesKey) { - console.error(Error(`MDB | API key for ${this.apiName} missing.`)); + console.error(new Error(`MDB | API key for ${this.apiName} missing.`)); return []; } @@ -66,7 +66,7 @@ export class MobyGamesAPI extends APIModel { console.log(`MDB | api "${this.apiName}" queried by ID`); if (!this.plugin.settings.MobyGamesKey) { - console.log(Error(`MDB | API key for ${this.apiName} missing.`)); + throw Error(`MDB | API key for ${this.apiName} missing.`); } const searchUrl = `${this.apiUrl}/games?id=${encodeURIComponent(id)}&api_key=${this.plugin.settings.MobyGamesKey}`; diff --git a/src/api/apis/OMDbAPI.ts b/src/api/apis/OMDbAPI.ts index 4f8f39f..175167a 100644 --- a/src/api/apis/OMDbAPI.ts +++ b/src/api/apis/OMDbAPI.ts @@ -29,7 +29,7 @@ export class OMDbAPI extends APIModel { console.log(`MDB | api "${this.apiName}" queried by Title`); if (!this.plugin.settings.OMDbKey) { - console.error(Error(`MDB | API key for ${this.apiName} missing.`)); + console.error(new Error(`MDB | API key for ${this.apiName} missing.`)); return []; } From 6234677bde1d327322db0ca856e377067eb18aa4 Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:51:34 +0200 Subject: [PATCH 3/4] Added notice when an API key is missing --- src/api/apis/MobyGamesAPI.ts | 3 +++ src/api/apis/OMDbAPI.ts | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/api/apis/MobyGamesAPI.ts b/src/api/apis/MobyGamesAPI.ts index 92ad406..93cd4a2 100644 --- a/src/api/apis/MobyGamesAPI.ts +++ b/src/api/apis/MobyGamesAPI.ts @@ -1,4 +1,5 @@ import { APIModel } from '../APIModel'; +import { Notice } from 'obsidian'; import { MediaTypeModel } from '../../models/MediaTypeModel'; import MediaDbPlugin from '../../main'; import { GameModel } from '../../models/GameModel'; @@ -23,6 +24,7 @@ export class MobyGamesAPI extends APIModel { if (!this.plugin.settings.MobyGamesKey) { console.error(new Error(`MDB | API key for ${this.apiName} missing.`)); + new Notice(`MediaDB | API key for ${this.apiName} missing.`); return []; } @@ -66,6 +68,7 @@ export class MobyGamesAPI extends APIModel { console.log(`MDB | api "${this.apiName}" queried by ID`); if (!this.plugin.settings.MobyGamesKey) { + new Notice(`MediaDB | API key for ${this.apiName} missing.`); throw Error(`MDB | API key for ${this.apiName} missing.`); } diff --git a/src/api/apis/OMDbAPI.ts b/src/api/apis/OMDbAPI.ts index 175167a..ab0e95d 100644 --- a/src/api/apis/OMDbAPI.ts +++ b/src/api/apis/OMDbAPI.ts @@ -1,4 +1,5 @@ import { APIModel } from '../APIModel'; +import { Notice } from 'obsidian'; import { MediaTypeModel } from '../../models/MediaTypeModel'; import { MovieModel } from '../../models/MovieModel'; import MediaDbPlugin from '../../main'; @@ -30,6 +31,7 @@ export class OMDbAPI extends APIModel { if (!this.plugin.settings.OMDbKey) { console.error(new Error(`MDB | API key for ${this.apiName} missing.`)); + new Notice(`MediaDB | API key for ${this.apiName} missing.`); return []; } @@ -108,6 +110,7 @@ export class OMDbAPI extends APIModel { console.log(`MDB | api "${this.apiName}" queried by ID`); if (!this.plugin.settings.OMDbKey) { + new Notice(`MediaDB | API key for ${this.apiName} missing.`); throw Error(`MDB | API key for ${this.apiName} missing.`); } From 2dc37906fd1d5e2d1a13a3e411b987a66ac17245 Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Wed, 4 Sep 2024 13:40:39 +0200 Subject: [PATCH 4/4] Added more notices when an API errors out So users know what went wrong without going to the console --- src/api/apis/MobyGamesAPI.ts | 1 + src/api/apis/OMDbAPI.ts | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/api/apis/MobyGamesAPI.ts b/src/api/apis/MobyGamesAPI.ts index 93cd4a2..14e42c6 100644 --- a/src/api/apis/MobyGamesAPI.ts +++ b/src/api/apis/MobyGamesAPI.ts @@ -79,6 +79,7 @@ export class MobyGamesAPI extends APIModel { console.debug(fetchData); if (fetchData.status !== 200) { + new Notice(`MDB | Received status code ${fetchData.status} from ${this.apiName}.`); throw Error(`MDB | Received status code ${fetchData.status} from ${this.apiName}.`); } diff --git a/src/api/apis/OMDbAPI.ts b/src/api/apis/OMDbAPI.ts index ab0e95d..451961a 100644 --- a/src/api/apis/OMDbAPI.ts +++ b/src/api/apis/OMDbAPI.ts @@ -118,9 +118,11 @@ export class OMDbAPI extends APIModel { const fetchData = await fetch(searchUrl); if (fetchData.status === 401) { + new Notice(`MDB | Authentication for ${this.apiName} failed. Check the API key.`); throw Error(`MDB | Authentication for ${this.apiName} failed. Check the API key.`); } if (fetchData.status !== 200) { + new Notice(`MDB | Received status code ${fetchData.status} from ${this.apiName}.`); throw Error(`MDB | Received status code ${fetchData.status} from ${this.apiName}.`); } @@ -128,6 +130,7 @@ export class OMDbAPI extends APIModel { // console.debug(result); if (result.Response === 'False') { + new Notice(`MDB | Received error from ${this.apiName}: ${result.Error}`); throw Error(`MDB | Received error from ${this.apiName}: ${result.Error}`); }