refactor(web): modele żądań w osobnych plikach
Jedenaście klas pydantic zadeklarowanych jednym blokiem na górze web.py rozdzielone na pliki zgodnie z zasadą jedna klasa = jeden plik. Każdy model dostaje docstring mówiący, do czego służy - z samych nazw pól (np. channel_id akceptujące pusty string jako reset) nie wynikało to w oczywisty sposób. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b2651bb957
commit
6e61892c04
13 files changed
+81
No files matched your search
@@ -0,0 +1 @@
|
|||||||
|
"""Panel webowy: FastAPI, WebSocket i modele żądań."""
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
"""Modele żądań przyjmowanych przez API - jeden model na plik."""
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class ConnectRequest(BaseModel):
|
||||||
|
"""Podłączenie bota do kanału głosowego."""
|
||||||
|
|
||||||
|
channel_id: str
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class DefaultPlaysRequest(BaseModel):
|
||||||
|
"""Domyślna liczba odtworzeń przypisywana nowym utworom."""
|
||||||
|
|
||||||
|
default_plays: int
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class JumpRequest(BaseModel):
|
||||||
|
"""Przeskok do wskazanej pozycji w kolejce."""
|
||||||
|
|
||||||
|
index: int
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class LoopRequest(BaseModel):
|
||||||
|
"""Włączenie lub wyłączenie zapętlania pojedynczego utworu."""
|
||||||
|
|
||||||
|
loop: bool
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class PlayFileRequest(BaseModel):
|
||||||
|
"""Dodanie do kolejki pliku z serwerowej bazy plików."""
|
||||||
|
|
||||||
|
filename: str
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class PlayRequest(BaseModel):
|
||||||
|
"""Dodanie utworu do kolejki na podstawie linku lub frazy wyszukiwania."""
|
||||||
|
|
||||||
|
query: str
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class RemoveRequest(BaseModel):
|
||||||
|
"""Usunięcie utworu z kolejki po jego identyfikatorze."""
|
||||||
|
|
||||||
|
id: str
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class ReorderRequest(BaseModel):
|
||||||
|
"""Nowa kolejność utworów wyrażona listą identyfikatorów."""
|
||||||
|
|
||||||
|
queue_ids: list[str]
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class TextChannelRequest(BaseModel):
|
||||||
|
"""Ustawienie kanału powiadomień; puste ``channel_id`` czyści ustawienie."""
|
||||||
|
|
||||||
|
channel_id: str
|
||||||
|
guild_id: str | None = None
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class TrackPlaysRequest(BaseModel):
|
||||||
|
"""Zmiana pozostałej liczby odtworzeń konkretnego utworu w kolejce."""
|
||||||
|
|
||||||
|
id: str
|
||||||
|
plays: int
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class VolumeRequest(BaseModel):
|
||||||
|
"""Zmiana głośności odtwarzacza w skali 0-100."""
|
||||||
|
|
||||||
|
volume: int
|
||||||
Reference in new issue
Block a user