from abc import ABCMeta

from src.aws.aws_api_client import AWSAPIClient
from src.repositories.base_repository import BaseRepository


class BaseService(metaclass=ABCMeta):
    # 各サービスが依存するrepositoryクラスのマップ
    REPOSITORIES: dict[str, BaseRepository] = {}
    # 各サービスが依存するAWS APIクライアントクラスのマップ
    CLIENTS: dict[str, AWSAPIClient] = {}

    def __init__(self, repositories: dict[str, BaseRepository], clients: dict[str, AWSAPIClient]) -> None:
        pass
