"""PostgreSQL repository implementations for Mantimon TCG.

This package contains PostgreSQL-specific implementations of the repository
protocols. These implementations use SQLAlchemy async sessions for database
access.

Usage:
    from app.repositories.postgres import (
        PostgresCollectionRepository,
        PostgresDeckRepository,
        PostgresLinkedAccountRepository,
        PostgresUserRepository,
    )

    # Create repository with database session
    collection_repo = PostgresCollectionRepository(db_session)
    deck_repo = PostgresDeckRepository(db_session)
    user_repo = PostgresUserRepository(db_session)
    linked_repo = PostgresLinkedAccountRepository(db_session)

    # Use via service layer
    service = CollectionService(collection_repo)
"""

from app.repositories.postgres.collection import PostgresCollectionRepository
from app.repositories.postgres.deck import PostgresDeckRepository
from app.repositories.postgres.linked_account import PostgresLinkedAccountRepository
from app.repositories.postgres.user import PostgresUserRepository

__all__ = [
    "PostgresCollectionRepository",
    "PostgresDeckRepository",
    "PostgresLinkedAccountRepository",
    "PostgresUserRepository",
]
