Added media type passed along with the apis to query and the title

This commit is contained in:
ltctceplrm 2024-02-01 18:20:56 +01:00
parent 5a8feca561
commit 0157c0adf9
2 changed files with 6 additions and 6 deletions

View file

@ -18,12 +18,12 @@ export class APIManager {
* @param query
* @param apisToQuery
*/
async query(query: string, apisToQuery: string[]): Promise<MediaTypeModel[]> {
async query(query: string, apisToQuery: string[], mediaType: string): Promise<MediaTypeModel[]> {
console.debug(`MDB | api manager queried with "${query}"`);
let res: MediaTypeModel[] = [];
for (const api of this.apis) {
if (apisToQuery.contains(api.apiName) && (this.plugin.settings[[api.apiName, "game"].filter(s => s).join('') as keyof typeof this.plugin.settings] || this.plugin.settings[[api.apiName, "default"].filter(s => s).join('') as keyof typeof this.plugin.settings])) {
if (apisToQuery.contains(api.apiName) && (this.plugin.settings[[api.apiName, mediaType].filter(s => s).join('') as keyof typeof this.plugin.settings] || this.plugin.settings[[api.apiName, "default"].filter(s => s).join('') as keyof typeof this.plugin.settings])) {
const apiRes = await api.searchByTitle(query);
res = res.concat(apiRes);
}

View file

@ -156,7 +156,7 @@ export default class MediaDbPlugin extends Plugin {
*/
async createLinkWithSearchModal(): Promise<void> {
const apiSearchResults: MediaTypeModel[] = await this.modalHelper.openAdvancedSearchModal({}, async advancedSearchModalData => {
return await this.apiManager.query(advancedSearchModalData.query, advancedSearchModalData.apis);
return await this.apiManager.query(advancedSearchModalData.query, advancedSearchModalData.apis, "default");
});
if (!apiSearchResults) {
@ -186,7 +186,7 @@ export default class MediaDbPlugin extends Plugin {
let apiSearchResults: MediaTypeModel[] = await this.modalHelper.openSearchModal(searchModalOptions ?? {}, async searchModalData => {
types = searchModalData.types;
const apis = this.apiManager.apis.filter(x => x.hasTypeOverlap(searchModalData.types)).map(x => x.apiName);
return await this.apiManager.query(searchModalData.query, apis);
return await this.apiManager.query(searchModalData.query, apis, searchModalData.types.toString());
});
if (!apiSearchResults) {
@ -218,7 +218,7 @@ export default class MediaDbPlugin extends Plugin {
async createEntryWithAdvancedSearchModal(): Promise<void> {
const apiSearchResults: MediaTypeModel[] = await this.modalHelper.openAdvancedSearchModal({}, async advancedSearchModalData => {
return await this.apiManager.query(advancedSearchModalData.query, advancedSearchModalData.apis);
return await this.apiManager.query(advancedSearchModalData.query, advancedSearchModalData.apis, "default");
});
if (!apiSearchResults) {
@ -570,7 +570,7 @@ export default class MediaDbPlugin extends Plugin {
let results: MediaTypeModel[] = [];
try {
results = await this.apiManager.query(title, [selectedAPI]);
results = await this.apiManager.query(title, [selectedAPI], "default");
} catch (e) {
erroredFiles.push({ filePath: file.path, error: e.toString() });
continue;