Implemented with Repository Protocol pattern for offline fork support: - CollectionService with PostgresCollectionRepository - DeckService with PostgresDeckRepository - DeckValidator with DeckConfig + CardService injection - Starter deck definitions (5 types: grass, fire, water, psychic, lightning) - Pydantic schemas for collection and deck APIs - Unit tests for DeckValidator (32 tests passing) Architecture follows pure dependency injection - no service locator patterns. Added CLAUDE.md documenting DI requirements and patterns. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
63 lines
1.3 KiB
Python
63 lines
1.3 KiB
Python
"""Pydantic schemas for Mantimon TCG API.
|
|
|
|
This package contains request/response models for all API endpoints.
|
|
"""
|
|
|
|
from app.schemas.auth import (
|
|
OAuthState,
|
|
RefreshTokenRequest,
|
|
TokenPayload,
|
|
TokenResponse,
|
|
TokenType,
|
|
)
|
|
from app.schemas.collection import (
|
|
CollectionAddRequest,
|
|
CollectionCardResponse,
|
|
CollectionEntryResponse,
|
|
CollectionResponse,
|
|
)
|
|
from app.schemas.deck import (
|
|
DeckCreateRequest,
|
|
DeckListResponse,
|
|
DeckResponse,
|
|
DeckUpdateRequest,
|
|
DeckValidateRequest,
|
|
DeckValidationResponse,
|
|
StarterDeckSelectRequest,
|
|
StarterStatusResponse,
|
|
)
|
|
from app.schemas.user import (
|
|
OAuthUserInfo,
|
|
UserCreate,
|
|
UserResponse,
|
|
UserUpdate,
|
|
)
|
|
|
|
__all__ = [
|
|
# Auth schemas
|
|
"TokenType",
|
|
"TokenPayload",
|
|
"TokenResponse",
|
|
"RefreshTokenRequest",
|
|
"OAuthState",
|
|
# Collection schemas
|
|
"CollectionEntryResponse",
|
|
"CollectionResponse",
|
|
"CollectionAddRequest",
|
|
"CollectionCardResponse",
|
|
# Deck schemas
|
|
"DeckCreateRequest",
|
|
"DeckUpdateRequest",
|
|
"DeckResponse",
|
|
"DeckListResponse",
|
|
"DeckValidateRequest",
|
|
"DeckValidationResponse",
|
|
"StarterDeckSelectRequest",
|
|
"StarterStatusResponse",
|
|
# User schemas
|
|
"UserResponse",
|
|
"UserCreate",
|
|
"UserUpdate",
|
|
"OAuthUserInfo",
|
|
]
|