[web] Change the library API calls

This commit is contained in:
Alain Nussbaumer 2025-05-12 20:18:48 +02:00
parent b4a73ff344
commit 5c90442161

View File

@ -1,46 +1,47 @@
import api from '@/api'
const BASE_URL = './api/library'
const SEARCH_URL = './api/search'
export default {
add(url) {
return api.post('./api/library/add', null, { params: { url } })
return api.post(`${BASE_URL}/add`, null, { params: { url } })
},
album(id) {
return api.get(`./api/library/albums/${id}`)
return api.get(`${BASE_URL}/albums/${id}`)
},
albumTracks(id, filter = { limit: -1, offset: 0 }) {
return api.get(`./api/library/albums/${id}/tracks`, {
params: filter
})
return api.get(`${BASE_URL}/albums/${id}/tracks`, { params: filter })
},
albums(media_kind) {
return api.get('./api/library/albums', { params: { media_kind } })
return api.get(`${BASE_URL}/albums`, { params: { media_kind } })
},
artist(id) {
return api.get(`./api/library/artists/${id}`)
return api.get(`${BASE_URL}/artists/${id}`)
},
artistAlbums(id) {
return api.get(`./api/library/artists/${id}/albums`)
return api.get(`${BASE_URL}/artists/${id}/albums`)
},
async artistTracks(artist) {
const params = {
expression: `songartistid is "${artist}"`,
type: 'tracks'
}
const data = await api.get('./api/search', { params })
const { data } = await api.get(SEARCH_URL, { params })
return data.tracks
},
artists(media_kind) {
return api.get('./api/library/artists', { params: { media_kind } })
return api.get(`${BASE_URL}/artists`, { params: { media_kind } })
},
composer(composer) {
return api.get(`./api/library/composers/${encodeURIComponent(composer)}`)
return api.get(`${BASE_URL}/composers/${encodeURIComponent(composer)}`)
},
async composerAlbums(composer) {
const params = {
expression: `composer is "${composer}" and media_kind is music`,
type: 'albums'
}
const data = await api.get('./api/search', { params })
const { data } = await api.get(SEARCH_URL, { params })
return data.albums
},
async composerTracks(composer) {
@ -48,21 +49,21 @@ export default {
expression: `composer is "${composer}" and media_kind is music`,
type: 'tracks'
}
const data = await api.get('./api/search', { params })
const { data } = await api.get(SEARCH_URL, { params })
return data.tracks
},
composers(media_kind) {
return api.get('./api/library/composers', { params: { media_kind } })
return api.get(`${BASE_URL}/composers`, { params: { media_kind } })
},
files(directory) {
return api.get('./api/library/files', { params: { directory } })
return api.get(`${BASE_URL}/files`, { params: { directory } })
},
async genre(genre, mediaKind) {
const params = {
expression: `genre is "${genre}" and media_kind is ${mediaKind}`,
type: 'genres'
}
const data = await api.get('./api/search', { params })
const { data } = await api.get(SEARCH_URL, { params })
return data.genres
},
async genreAlbums(genre, mediaKind) {
@ -70,7 +71,7 @@ export default {
expression: `genre is "${genre}" and media_kind is ${mediaKind}`,
type: 'albums'
}
const data = await api.get('./api/search', { params })
const { data } = await api.get(SEARCH_URL, { params })
return data.albums
},
async genreTracks(genre, mediaKind) {
@ -78,7 +79,7 @@ export default {
expression: `genre is "${genre}" and media_kind is ${mediaKind}`,
type: 'tracks'
}
const data = await api.get('./api/search', { params })
const { data } = await api.get(SEARCH_URL, { params })
return data.tracks
},
async genres(mediaKind) {
@ -86,36 +87,35 @@ export default {
expression: `media_kind is ${mediaKind}`,
type: 'genres'
}
const data = await api.get('./api/search', { params })
const { data } = await api.get(SEARCH_URL, { params })
return data.genres
},
async newPodcastEpisodes() {
const params = {
expression:
'media_kind is podcast and play_count = 0 ORDER BY time_added DESC',
expression: 'media_kind is podcast and play_count = 0 ORDER BY time_added DESC',
type: 'tracks'
}
const data = await api.get('./api/search', { params })
const { data } = await api.get(SEARCH_URL, { params })
return data.tracks
},
playlist(id) {
return api.get(`./api/library/playlists/${id}`)
return api.get(`${BASE_URL}/playlists/${id}`)
},
playlistDelete(id) {
return api.delete(`./api/library/playlists/${id}`)
return api.delete(`${BASE_URL}/playlists/${id}`)
},
playlistFolder(id = 0) {
return api.get(`./api/library/playlists/${id}/playlists`)
return api.get(`${BASE_URL}/playlists/${id}/playlists`)
},
playlistTracks(id) {
return api.get(`./api/library/playlists/${id}/tracks`)
return api.get(`${BASE_URL}/playlists/${id}/tracks`)
},
async podcastEpisodes(id) {
const params = {
expression: `media_kind is podcast and songalbumid is "${id}" ORDER BY date_released DESC`,
type: 'tracks'
}
const data = await api.get('./api/search', { params })
const { data } = await api.get(SEARCH_URL, { params })
return data.tracks
},
async radioStreams() {
@ -124,40 +124,36 @@ export default {
media_kind: 'music',
type: 'tracks'
}
const data = await api.get('./api/search', { params })
const { data } = await api.get(SEARCH_URL, { params })
return data.tracks
},
rescan(scan_kind) {
return api.put('./api/rescan', null, { params: { scan_kind } })
},
rssCount() {
return api.get('./api/library/count', {
return api.get(`${BASE_URL}/count`, {
params: { expression: 'scan_kind is rss' }
})
},
search(params) {
return api.get('./api/search', { params })
return api.get(SEARCH_URL, { params })
},
state() {
return api.get('./api/library')
return api.get(BASE_URL)
},
track(id) {
return api.get(`./api/library/tracks/${id}`)
return api.get(`${BASE_URL}/tracks/${id}`)
},
trackPlaylists(id) {
return api.get(`./api/library/tracks/${id}/playlists`)
return api.get(`${BASE_URL}/tracks/${id}/playlists`)
},
update(scan_kind) {
return api.put('./api/update', null, { params: { scan_kind } })
},
updateAlbum(id, attributes) {
return api.put(`./api/library/albums/${id}/tracks`, null, {
params: attributes
})
return api.put(`${BASE_URL}/albums/${id}/tracks`, null, { params: attributes })
},
updateTrack(id, attributes = {}) {
return api.put(`./api/library/tracks/${id}`, null, {
params: attributes
})
return api.put(`${BASE_URL}/tracks/${id}`, null, { params: attributes })
}
}