from dataclasses import dataclass

from gateway_core.domain.SoftwareUpgrade import SoftwareUpgradeDto
from gateway_node_agent.application.ports.upgradeExecutorPort import UpgradeExecutorPort


@dataclass(frozen=True)
class RaucUpgradeAdapter(UpgradeExecutorPort):
    isArmed: bool = False

    async def execute(self, dto: SoftwareUpgradeDto) -> None:
        if not self.isArmed:
            return

        raise NotImplementedError("RAUC upgrade not implemented yet")
