Bläddra i källkod

feat: add job for searching for musicbrainz artists

Kristian Vos 18 timmar sedan
förälder
incheckning
205ea7e36c
1 ändrade filer med 29 tillägg och 0 borttagningar
  1. 29 0
      backend/logic/musicbrainz.js

+ 29 - 0
backend/logic/musicbrainz.js

@@ -205,6 +205,35 @@ class _MusicBrainzModule extends CoreClass {
 
 		return response;
 	}
+
+	/**
+	 * Searches for MusicBrainz artists
+	 * @param {object} payload - object that contains the payload
+	 * @param {string} payload.query - the artist query
+	 * @returns {Promise} - returns promise (reject, resolve)
+	 */
+	async SEARCH_MUSICBRAINZ_ARTISTS(payload) {
+		const { query } = payload;
+
+		// TODO support offset
+		const response = await MusicBrainzModule.runJob(
+			"API_CALL",
+			{
+				url: `https://musicbrainz.org/ws/2/artist`,
+				params: {
+					fmt: "json",
+					query,
+					limit: 100,
+					offset: 0
+				}
+			},
+			this
+		);
+
+		return {
+			musicbrainzArtists: response.artists
+		};
+	}
 }
 
 export default new _MusicBrainzModule();