소스 검색

feat: add job for searching for musicbrainz artists

Kristian Vos 12 시간 전
부모
커밋
205ea7e36c
1개의 변경된 파일29개의 추가작업 그리고 0개의 파일을 삭제
  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();