from pypos.core.base_model import BaseModel
from pypos.core.utils.db_helper import get_ppn_from_profile
from pypos.core.utils.path_utils import get_db_path
from pypos.modules.penjualan.config.penjualan_config import (
    get_ppn_mode,
    get_ppn_percent_default,
    get_ppn_percent_override,
)


class PenjualanConfigModel(BaseModel):
    def __init__(self, db_path=None):
        super().__init__()
        self.db_path = db_path or get_db_path()

    def get_ppn_percent(self, default=11):
        try:
            cfg_override = get_ppn_percent_override(default=default)
            if cfg_override is not None:
                return int(cfg_override)
            cfg_default = int(get_ppn_percent_default(default=default))
            return int(get_ppn_from_profile(self.db_path, default=cfg_default))
        except Exception:
            return int(default)

    # edited by glg
    def get_ppn_mode(self, default="include"):
        try:
            return str(get_ppn_mode(default=default) or "include")
        except Exception:
            return str(default or "include")
