from dataclasses import dataclass


GOLD_RELATIVE_PATH = "gold/orders_by_store_code_and_business_dt"


@dataclass(frozen=True)
class DatalakeConfig:
    bucket_name: str
    tenant: str
    app_name: str

    @property
    def gold_relative_path(self) -> str:
        return GOLD_RELATIVE_PATH

    @property
    def gold_root_path(self) -> str:
        return f"{self.tenant}/{GOLD_RELATIVE_PATH}"

    @property
    def outbox_root_path(self) -> str:
        return f"{self.gold_root_path}/outbox"

    @property
    def last_processed_path(self) -> str:
        return f"{self.gold_root_path}/{self.app_name}/lastProcessed.json"
