fix: ruff lint + format fixes in tests, ESLint fixes in frontend

This commit is contained in:
2026-07-17 21:28:58 +02:00
parent 341d0c6f38
commit fbb1b39b57
56 changed files with 1399 additions and 721 deletions
+10
View File
@@ -9,12 +9,14 @@ from pydantic import BaseModel, ConfigDict, EmailStr, Field
class LoginRequest(BaseModel):
"""POST /api/v1/auth/login request body."""
email: EmailStr
password: str = Field(..., min_length=1)
class TokenResponse(BaseModel):
"""JWT token pair returned after login or refresh."""
access_token: str
refresh_token: str
token_type: str = "bearer"
@@ -23,11 +25,13 @@ class TokenResponse(BaseModel):
class RefreshRequest(BaseModel):
"""POST /api/v1/auth/refresh request body."""
refresh_token: str
class UserBase(BaseModel):
"""Base user fields shared across schemas."""
email: EmailStr
full_name: str = Field(..., min_length=1, max_length=200)
role: Literal["admin", "verkaeufer", "buchhaltung"] = "verkaeufer"
@@ -36,11 +40,13 @@ class UserBase(BaseModel):
class UserCreate(UserBase):
"""POST /api/v1/users request body."""
password: str = Field(..., min_length=8, max_length=128)
class UserUpdate(BaseModel):
"""PUT /api/v1/users/:id request body (all fields optional)."""
email: Optional[EmailStr] = None
full_name: Optional[str] = Field(None, min_length=1, max_length=200)
role: Optional[Literal["admin", "verkaeufer", "buchhaltung"]] = None
@@ -50,6 +56,7 @@ class UserUpdate(BaseModel):
class UserResponse(BaseModel):
"""User response schema (never exposes password_hash)."""
model_config = ConfigDict(from_attributes=True)
id: uuid.UUID
@@ -64,6 +71,7 @@ class UserResponse(BaseModel):
class UserListResponse(BaseModel):
"""Paginated user list response."""
items: list[UserResponse]
total: int
page: int
@@ -72,9 +80,11 @@ class UserListResponse(BaseModel):
class ErrorResponse(BaseModel):
"""Standard error response format."""
error: dict
class HealthResponse(BaseModel):
"""Health check response."""
status: str = "ok"