From a229474da7dbdadd16477e7de8ca2211c5b514e7 Mon Sep 17 00:00:00 2001 From: Alain Nussbaumer Date: Sun, 11 May 2025 20:31:08 +0200 Subject: [PATCH] [web] Simplify player API calls --- web-src/src/api/player.js | 40 +++++++++---------- web-src/src/components/ControlMainVolume.vue | 2 +- .../src/components/ControlOutputVolume.vue | 2 +- 3 files changed, 21 insertions(+), 23 deletions(-) diff --git a/web-src/src/api/player.js b/web-src/src/api/player.js index 5fac1e96..0336ed19 100644 --- a/web-src/src/api/player.js +++ b/web-src/src/api/player.js @@ -1,45 +1,43 @@ import api from '@/api' +const BASE_URL = './api/player' + export default { consume(state) { - return api.put(`./api/player/consume?state=${state}`) + return api.put(`${BASE_URL}/consume`, null, { params: { state } }) }, next() { - return api.put('./api/player/next') - }, - outputVolume(outputId, outputVolume) { - return api.put( - `./api/player/volume?volume=${outputVolume}&output_id=${outputId}` - ) + return api.put(`${BASE_URL}/next`) }, pause() { - return api.put('./api/player/pause') + return api.put(`${BASE_URL}/pause`) }, play(params = {}) { - return api.put('./api/player/play', null, { params }) + return api.put(`${BASE_URL}/play`, null, { params }) }, previous() { - return api.put('./api/player/previous') + return api.put(`${BASE_URL}/previous`) }, repeat(state) { - return api.put(`./api/player/repeat?state=${state}`) + return api.put(`${BASE_URL}/repeat`, null, { params: { state } }) }, - seek(seekMs) { - return api.put(`./api/player/seek?seek_ms=${seekMs}`) + seek(seek_ms) { + return api.put(`${BASE_URL}/seek`, null, { params: { seek_ms } }) }, - seekToPosition(position) { - return api.put(`./api/player/seek?position_ms=${position}`) + seekToPosition(position_ms) { + return api.put(`${BASE_URL}/seek`, null, { params: { position_ms } }) + }, + setVolume(volume, output_id = null) { + const params = { volume, ...(output_id !== null && { output_id }) } + return api.put(`${BASE_URL}/volume`, null, { params }) }, shuffle(state) { - return api.put(`./api/player/shuffle?state=${state}`) + return api.put(`${BASE_URL}/shuffle`, null, { params: { state } }) }, state() { - return api.get('./api/player') + return api.get(BASE_URL) }, stop() { - return api.put('./api/player/stop') - }, - volume(volume) { - return api.put(`./api/player/volume?volume=${volume}`) + return api.put(`${BASE_URL}/stop`) } } diff --git a/web-src/src/components/ControlMainVolume.vue b/web-src/src/components/ControlMainVolume.vue index d8edbad6..f4ab4094 100644 --- a/web-src/src/components/ControlMainVolume.vue +++ b/web-src/src/components/ControlMainVolume.vue @@ -48,7 +48,7 @@ export default { }, methods: { changeVolume() { - player.volume(this.player.volume) + player.setVolume(this.player.volume) }, toggle() { this.player.volume = this.player.volume > 0 ? 0 : this.volume diff --git a/web-src/src/components/ControlOutputVolume.vue b/web-src/src/components/ControlOutputVolume.vue index cc54cf1d..14ae01dc 100644 --- a/web-src/src/components/ControlOutputVolume.vue +++ b/web-src/src/components/ControlOutputVolume.vue @@ -64,7 +64,7 @@ export default { methods: { changeVolume() { - player.outputVolume(this.output.id, this.volume) + player.setVolume(this.volume, this.output.id) }, toggle() { outputs.update(this.output.id, { selected: !this.output.selected })