citygrid-policy-driven-fede.../citygrid/registry/registry.py

25 lines
781 B
Python

from __future__ import annotations
from dataclasses import dataclass
from typing import Dict, List
@dataclass
class GoCAdapterEntry:
adapter_id: str
domains: List[str]
contract_version: str
repo: str | None = None
class GoCRegistry:
def __init__(self) -> None:
self._registry: Dict[str, GoCAdapterEntry] = {}
def register_adapter(self, adapter_id: str, domains: List[str], contract_version: str, repo: str | None = None) -> None:
self._registry[adapter_id] = GoCAdapterEntry(adapter_id, domains, contract_version, repo)
def get_adapter(self, adapter_id: str) -> GoCAdapterEntry | None:
return self._registry.get(adapter_id)
def list_adapters(self) -> List[GoCAdapterEntry]:
return list(self._registry.values())