initial commit

This commit is contained in:
2026-03-16 06:52:12 +01:00
parent b496d726d3
commit 251dc829b3
14 changed files with 465 additions and 0 deletions

24
domain/ports.py Normal file
View File

@@ -0,0 +1,24 @@
from abc import ABC, abstractmethod
from typing import Any
from domain.entities import ApiResponse
class RailwayApiPort(ABC):
"""Port (interfejs) do komunikacji z API kolejowym."""
@abstractmethod
def send_action(self, action: str, **params: Any) -> ApiResponse:
...
class EventBusPort(ABC):
"""Port do architektury opartej o zdarzenia (event-driven)."""
@abstractmethod
def emit(self, event: str, data: dict[str, Any]) -> None:
...
@abstractmethod
def on(self, event: str, callback: Any) -> None:
...