diff --git a/src/models/music/getters/releaseData.ts b/src/models/music/getters/releaseData.ts index 04593ce..a8f85d1 100644 --- a/src/models/music/getters/releaseData.ts +++ b/src/models/music/getters/releaseData.ts @@ -1,11 +1,39 @@ import request from "../../../request" +import processAddons from "../../../helpers/processWithAddons" +import standartListMerge from "../../../utils/standartListMerge" -export default async (id: String) => { - const response = await request({ - method: "GET", - url: `/music/releases/${id}/data`, - }) +type Params = { + limit?: Number + offset?: Number + sort?: String + service?: String + type?: String +} - // @ts-ignore - return response.data -} \ No newline at end of file +export default async (id: String, params?: Params) => { + if (params && params.service) { + const service = __comty_shared_state.addons.get(params.service) + + if (!service) { + throw new Error( + `Service ${params.service} not found. Maybe is loading yet...`, + ) + } + + if (typeof service.getReleaseData !== "function") { + throw new Error( + `Service ${params.service} does not support "getReleaseData" operation`, + ) + } + + return await service.getReleaseData(id, params) + } + + const { data } = await request({ + method: "GET", + url: `/music/releases/${id}/data`, + params: params, + }) + + return data +}