mirror of
https://github.com/navidrome/navidrome.git
synced 2026-10-11 20:07:11 +02:00
Add playlist views
This commit is contained in:
parent
b1f5d35f73
commit
8a709c489a
10 changed files with 175 additions and 31 deletions
68
ui/src/dataProvider/wrapperDataProvider.js
Normal file
68
ui/src/dataProvider/wrapperDataProvider.js
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
import jsonServerProvider from 'ra-data-json-server'
|
||||
import httpClient from './httpClient'
|
||||
|
||||
const restUrl = '/app/api'
|
||||
|
||||
const dataProvider = jsonServerProvider(restUrl, httpClient)
|
||||
|
||||
const mapResource = (resource, params) => {
|
||||
console.log('R: ', resource, 'P: ', params)
|
||||
switch (resource) {
|
||||
case 'albumSong':
|
||||
return ['song', params]
|
||||
|
||||
case 'playlistTrack':
|
||||
// /api/playlistTrack?playlist_id=123 => /api/playlist/123/tracks
|
||||
let plsId = '0'
|
||||
if (params.filter) {
|
||||
plsId = params.filter.playlist_id
|
||||
delete params.filter.playlist_id
|
||||
}
|
||||
return [`playlist/${plsId}/tracks`, params]
|
||||
|
||||
default:
|
||||
return [resource, params]
|
||||
}
|
||||
}
|
||||
|
||||
const wrapperDataProvider = {
|
||||
...dataProvider,
|
||||
getList: (resource, params) => {
|
||||
const [r, p] = mapResource(resource, params)
|
||||
return dataProvider.getList(r, p)
|
||||
},
|
||||
getOne: (resource, params) => {
|
||||
const [r, p] = mapResource(resource, params)
|
||||
return dataProvider.getOne(r, p)
|
||||
},
|
||||
getMany: (resource, params) => {
|
||||
const [r, p] = mapResource(resource, params)
|
||||
return dataProvider.getMany(r, p)
|
||||
},
|
||||
getManyReference: (resource, params) => {
|
||||
const [r, p] = mapResource(resource, params)
|
||||
return dataProvider.getManyReference(r, p)
|
||||
},
|
||||
update: (resource, params) => {
|
||||
const [r, p] = mapResource(resource, params)
|
||||
return dataProvider.update(r, p)
|
||||
},
|
||||
updateMany: (resource, params) => {
|
||||
const [r, p] = mapResource(resource, params)
|
||||
return dataProvider.updateMany(r, p)
|
||||
},
|
||||
create: (resource, params) => {
|
||||
const [r, p] = mapResource(resource, params)
|
||||
return dataProvider.create(r, p)
|
||||
},
|
||||
delete: (resource, params) => {
|
||||
const [r, p] = mapResource(resource, params)
|
||||
return dataProvider.delete(r, p)
|
||||
},
|
||||
deleteMany: (resource, params) => {
|
||||
const [r, p] = mapResource(resource, params)
|
||||
return dataProvider.deleteMany(r, p)
|
||||
},
|
||||
}
|
||||
|
||||
export default wrapperDataProvider
|
||||
Loading…
Add table
Add a link
Reference in a new issue