from typing import Any, Dict
from db.models.admin import (
    Assignment,
    Token,
    Profile,
    Permission,
    MailAccount,
    Mail,
)
from db.models.bookshelf import (
    ArticleAuthor,
    BookAuthor,
    BookshelfPublisher,
    Article,
    Book,
    Author,
)
from db.models.comic import (
    Issue,
    StoryArc,
    TradePaperback,
    Volume,
    ComicWork,
    IssueWork,
    Artist,
    Comic,
    Publisher,
    WorkType,
)
from db.models.media import (
    MediaFile,
    MediaActor,
    MediaActorFile,
    MediaArticle,
    MediaVideo,
)
from db.models.tysc import (
    Card,
    CardSet,
    Rooster,
    Team,
    FieldPosition,
    Player,
    Vendor,
    Sport,
)

registry: Dict[str, Any] = {
    Sport.__tablename__: Sport,
    Player.__tablename__: Player,
    Team.__tablename__: Team,
    FieldPosition.__tablename__: FieldPosition,
    Rooster.__tablename__: Rooster,
    Vendor.__tablename__: Vendor,
    CardSet.__tablename__: CardSet,
    Card.__tablename__: Card,
    Artist.__tablename__: Artist,
    Publisher.__tablename__: Publisher,
    WorkType.__tablename__: WorkType,
    Comic.__tablename__: Comic,
    Volume.__tablename__: Volume,
    StoryArc.__tablename__: StoryArc,
    Issue.__tablename__: Issue,
    TradePaperback.__tablename__: TradePaperback,
    ComicWork.__tablename__: ComicWork,
    IssueWork.__tablename__: IssueWork,
    Article.__tablename__: Article,
    BookshelfPublisher.__tablename__: BookshelfPublisher,
    Book.__tablename__: Book,
    Author.__tablename__: Author,
    ArticleAuthor.__tablename__: ArticleAuthor,
    BookAuthor.__tablename__: BookAuthor,
    MediaArticle.__tablename__: MediaArticle,
    MediaVideo.__tablename__: MediaVideo,
    MediaFile.__tablename__: MediaFile,
    MediaActor.__tablename__: MediaActor,
    MediaActorFile.__tablename__: MediaActorFile,
    Profile.__tablename__: Profile,
    Permission.__tablename__: Permission,
    Assignment.__tablename__: Assignment,
    Token.__tablename__: Token,
    MailAccount.__tablename__: MailAccount,
    Mail.__tablename__: Mail
}
