Fix/Optimized Playlist tracks deletion

This commit is contained in:
Deluan
2021-10-26 14:05:28 -04:00
parent fbd87ba577
commit 5dce499d6d
7 changed files with 57 additions and 25 deletions
@@ -19,6 +19,14 @@ const mapResource = (resource, params) => {
}
}
const callDeleteMany = (resource, params) => {
const ids = params.ids.map((id) => `id=${id}`)
const idsParam = ids.join('&')
return httpClient(`${REST_URL}/${resource}?${idsParam}`, {
method: 'DELETE',
}).then((response) => ({ data: response.json.ids || [] }))
}
const wrapperDataProvider = {
...dataProvider,
getList: (resource, params) => {
@@ -55,6 +63,9 @@ const wrapperDataProvider = {
},
deleteMany: (resource, params) => {
const [r, p] = mapResource(resource, params)
if (r.endsWith('/tracks')) {
return callDeleteMany(r, p)
}
return dataProvider.deleteMany(r, p)
},
addToPlaylist: (playlistId, data) => {