zhzluke96
update
01e655b
raw
history blame
No virus
1.18 kB
from pydantic import BaseModel
from modules.speaker import speaker_mgr
from modules.data import styles_mgr
from modules.api import utils as api_utils
from modules.api.Api import APIManager
async def list_styles():
return {"message": "ok", "data": styles_mgr.list_items()}
async def list_speakers():
return {
"message": "ok",
"data": [spk.to_json() for spk in speaker_mgr.list_speakers()],
}
class CreateSpeaker(BaseModel):
seed: int
name: str = ""
async def create_speaker(request: CreateSpeaker):
speaker = speaker_mgr.create_speaker(request.seed, request.name)
return {"message": "ok", "data": speaker.to_json()}
async def refresh_speakers():
speaker_mgr.refresh_speakers()
return {"message": "ok"}
def setup(app: APIManager):
app.get("/v1/styles/list", response_model=api_utils.BaseResponse)(list_styles)
app.get("/v1/speakers/list", response_model=api_utils.BaseResponse)(list_speakers)
app.post("/v1/speaker/create", response_model=api_utils.BaseResponse)(
create_speaker
)
app.post("/v1/speaker/refresh", response_model=api_utils.BaseResponse)(
refresh_speakers
)