update bus mode PATCH endpoint

accepting {mode: value} is a little redundant but I prefer it to modifying the bus endpoint.

added bus mode PATCH example to README

patch bump
This commit is contained in:
onyx-and-iris 2026-04-05 02:26:26 +01:00
parent 6d01b8d2d3
commit 58e01cbdd0
4 changed files with 16 additions and 4 deletions

View File

@ -66,6 +66,18 @@ curl -X 'GET' \
-H 'accept: application/json'
```
*Set Bus 2 Mode*
```console
curl -X 'PATCH' \
'http://127.0.0.1:8000/bus/2/mode' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"mode": "Composite"
}'
```
*Healthcheck*
```console

View File

@ -1,6 +1,6 @@
[project]
name = "vmr-http"
version = "0.3.2"
version = "0.3.3"
description = "HTTP API for controlling Voicemeeter"
readme = "README.md"
authors = [{ name = "onyx-and-iris", email = "code@onyxandiris.online" }]

View File

@ -1,6 +1,6 @@
"""module for bus mode related endpoints."""
from fastapi import APIRouter, Depends, HTTPException
from fastapi import APIRouter, Body, Depends, HTTPException
from vmr_http.dependencies import get_voicemeeter_client
@ -25,7 +25,7 @@ _reversed_busmodes = {v: k for k, v in _readable_busmodes.items()}
@router.patch('/{index}/mode')
@router.put('/{index}/mode')
async def update_bus_mode(index: int, mode: str, voicemeeter=Depends(get_voicemeeter_client)):
async def update_bus_mode(index: int, mode: str = Body(..., embed=True), voicemeeter=Depends(get_voicemeeter_client)):
"""Update the bus mode for the specified bus index."""
if mode not in _reversed_busmodes:
raise HTTPException(

2
uv.lock generated
View File

@ -1151,7 +1151,7 @@ wheels = [
[[package]]
name = "vmr-http"
version = "0.3.2"
version = "0.3.3"
source = { editable = "." }
dependencies = [
{ name = "fastapi" },