refactor: Update response types to use common schemas across API endpoints
Some checks failed
Backend CI / test (push) Failing after 3m51s
Some checks failed
Backend CI / test (push) Failing after 3m51s
This commit is contained in:
@@ -10,7 +10,13 @@ from .auth import (
|
||||
UserRegisterRequest,
|
||||
UserResponse,
|
||||
)
|
||||
from .player import PlayerModeRequest, PlayerSeekRequest, PlayerVolumeRequest
|
||||
from .common import HealthResponse, MessageResponse, StatusResponse
|
||||
from .player import (
|
||||
PlayerModeRequest,
|
||||
PlayerSeekRequest,
|
||||
PlayerStateResponse,
|
||||
PlayerVolumeRequest,
|
||||
)
|
||||
from .playlist import (
|
||||
PlaylistAddSoundRequest,
|
||||
PlaylistCreateRequest,
|
||||
@@ -31,9 +37,14 @@ __all__ = [
|
||||
"UserLoginRequest",
|
||||
"UserRegisterRequest",
|
||||
"UserResponse",
|
||||
# Common schemas
|
||||
"HealthResponse",
|
||||
"MessageResponse",
|
||||
"StatusResponse",
|
||||
# Player schemas
|
||||
"PlayerModeRequest",
|
||||
"PlayerSeekRequest",
|
||||
"PlayerStateResponse",
|
||||
"PlayerVolumeRequest",
|
||||
# Playlist schemas
|
||||
"PlaylistAddSoundRequest",
|
||||
|
||||
21
app/schemas/common.py
Normal file
21
app/schemas/common.py
Normal file
@@ -0,0 +1,21 @@
|
||||
"""Common response schemas."""
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class MessageResponse(BaseModel):
|
||||
"""Generic message response."""
|
||||
|
||||
message: str = Field(description="Response message")
|
||||
|
||||
|
||||
class StatusResponse(BaseModel):
|
||||
"""Generic status response."""
|
||||
|
||||
status: str = Field(description="Status message")
|
||||
|
||||
|
||||
class HealthResponse(BaseModel):
|
||||
"""Health check response."""
|
||||
|
||||
status: str = Field(description="Health status")
|
||||
@@ -1,5 +1,7 @@
|
||||
"""Player schemas."""
|
||||
|
||||
from typing import Any
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from app.services.player import PlayerMode
|
||||
@@ -21,3 +23,24 @@ class PlayerModeRequest(BaseModel):
|
||||
"""Request model for mode change."""
|
||||
|
||||
mode: PlayerMode = Field(description="Playback mode")
|
||||
|
||||
|
||||
class PlayerStateResponse(BaseModel):
|
||||
"""Response model for player state."""
|
||||
|
||||
status: str = Field(description="Player status (playing, paused, stopped)")
|
||||
current_sound: dict[str, Any] | None = Field(
|
||||
None, description="Current sound information"
|
||||
)
|
||||
playlist: dict[str, Any] | None = Field(
|
||||
None, description="Current playlist information"
|
||||
)
|
||||
position_ms: int = Field(description="Current position in milliseconds")
|
||||
duration_ms: int | None = Field(
|
||||
None, description="Total duration in milliseconds",
|
||||
)
|
||||
volume: int = Field(description="Current volume (0-100)")
|
||||
mode: str = Field(description="Current playback mode")
|
||||
index: int | None = Field(
|
||||
None, description="Current track index in playlist",
|
||||
)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
"""Playlist schemas."""
|
||||
|
||||
from pydantic import BaseModel
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from app.models.playlist import Playlist
|
||||
from app.models.sound import Sound
|
||||
|
||||
Reference in New Issue
Block a user