32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
from motor.motor_asyncio import AsyncIOMotorClient
|
|
|
|
from repos.assets_repo import AssetsRepo
|
|
from repos.char_repo import CharacterRepo
|
|
from repos.generation_repo import GenerationRepo
|
|
from repos.user_repo import UsersRepo
|
|
from repos.albums_repo import AlbumsRepo
|
|
from repos.project_repo import ProjectRepo
|
|
from repos.idea_repo import IdeaRepo
|
|
from repos.post_repo import PostRepo
|
|
from repos.environment_repo import EnvironmentRepo
|
|
from repos.inspiration_repo import InspirationRepo
|
|
from repos.settings_repo import SettingsRepo
|
|
|
|
|
|
from typing import Optional
|
|
from adapters.s3_adapter import S3Adapter
|
|
|
|
class DAO:
|
|
def __init__(self, client: AsyncIOMotorClient, s3_adapter: Optional[S3Adapter] = None, db_name="bot_db"):
|
|
self.chars = CharacterRepo(client, db_name)
|
|
self.assets = AssetsRepo(client, s3_adapter, db_name)
|
|
self.generations = GenerationRepo(client, db_name)
|
|
self.albums = AlbumsRepo(client, db_name)
|
|
self.projects = ProjectRepo(client, db_name)
|
|
self.users = UsersRepo(client, db_name)
|
|
self.ideas = IdeaRepo(client, db_name)
|
|
self.posts = PostRepo(client, db_name)
|
|
self.environments = EnvironmentRepo(client, db_name)
|
|
self.inspirations = InspirationRepo(client, db_name)
|
|
self.settings = SettingsRepo(client, db_name)
|