from domain.repository.store_repository import StoreRepository
from domain.store import Store
from infra.data.mysql.model.store_model import StoreModel


class StoreRepositoryImpl(StoreRepository):
    def save(self, store: Store) -> Store:
        store_model = StoreModel(store.id, store.store_name, store.money).save()
        store.id = store_model.id
        return store

    def find_store_by_store_id(self, store_id: int) -> Store:
        store_model = StoreModel.query.filter_by(id=store_id).first()
        return Store(store_model.id, store_model.store_name, store_model.money)
