# edited by glg
import logging

from pypos.modules.penjualan.config.penjualan_config import (
    get_ppn_percent_for_view,
)
from pypos.modules.penjualan.services.ppn_server_settings_service import PpnServerSettingsService


LOGGER = logging.getLogger(__name__)


class PenjualanSettingsService:
    def __init__(self, ppn_server_settings_service=None):
        self.ppn_server_settings_service = ppn_server_settings_service or PpnServerSettingsService()

    def get_ppn_settings(self):
        endpoint_status = self.ppn_server_settings_service.get_endpoint_status()
        return {
            "mode": "include",
            "percent": int(get_ppn_percent_for_view(default=11)),
            "endpoint_ready": bool(endpoint_status.get("ready")),
            "endpoint_url": str(endpoint_status.get("url") or ""),
            "endpoint_reason": str(endpoint_status.get("reason") or ""),
        }

    def update_ppn_mode(self, new_mode, admin_username, admin_password):
        # edited by glg
        # Method dipertahankan untuk backward compatibility.
        # Runtime POS saat ini hanya mendukung mode include.
        return False, "Mode pajak dikunci ke Termasuk PPN.", {
            "changed": False,
            "mode": "include",
        }
