from __future__ import annotations

from db2_hj3415.common.types import MongoDoc
from db2_hj3415.universe.repo import list_latest_universe_codes
from pymongo.asynchronous.database import AsyncDatabase
from scraper2_hj3415.app.dart.ports.universe.stock_universe_port import (
    StockUniversePort,
)


class Krx300Provider(StockUniversePort):
    """
    기존 krx300 모듈을 감싸는 adapter.
    실제 import 경로는 현재 프로젝트 구조에 맞게 조정하면 된다.
    """

    _db: AsyncDatabase[MongoDoc]

    def __init__(self, db: AsyncDatabase[MongoDoc]) -> None:
        self._db = db

    async def get_codes(self) -> list[str]:
        return await list_latest_universe_codes(self._db, universe="krx300")
