Changeset 918474d in flexoentity
- Timestamp:
- 11/29/25 18:38:36 (7 weeks ago)
- Branches:
- master
- Children:
- 4f91fed
- Parents:
- df459f7
- Files:
-
- 1 added
- 4 edited
-
flexoentity/__init__.py (modified) (2 diffs)
-
flexoentity/domain_manager.py (modified) (4 diffs)
-
flexoentity/entity_registry.py (added)
-
flexoentity/flexo_collection.py (modified) (1 diff)
-
tests/conftest.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
flexoentity/__init__.py
rdf459f7 r918474d 17 17 from .domain_manager import DomainManager, DuplicateDomainError 18 18 from .flexo_signature import FlexoSignature, CertificateReference 19 from .entity_registry import EntityRegistry 19 20 from .signing_backends import get_signing_backend 20 21 … … 30 31 "FlexoCollection", 31 32 "FlexoSignature", 33 "EntityRegistry", 32 34 "CertificateReference", 33 35 "get_signing_backend", -
flexoentity/domain_manager.py
rdf459f7 r918474d 32 32 """ 33 33 34 def __init__(self, domains: Iterable[Domain] | None = None):34 def __init__(self, registry): 35 35 # store is a general-purpose collection 36 36 self._store = FlexoCollection() 37 38 if domains: 39 for dom in domains: 40 self.add(dom) 37 self._registry = registry 41 38 42 39 # --------------------------------------------------------------- … … 65 62 return result 66 63 67 def has(self, domain_id: str) -> bool: 68 """Check if a domain exists.""" 69 return self._store.has(domain_id) 64 def can_delete(self, domain_id): 65 return not any(self._registry.entities_by_domain(domain_id)) 66 67 def delete(self, domain_id): 68 if not self.can_delete(domain_id): 69 raise ValueError(f"Domain {domain_id} is still referenced.") 70 self.remove(domain_id) 70 71 71 72 def remove(self, domain_id: str) -> None: 72 73 """Remove a domain (rarely used, mostly for tests).""" 73 if not self._store.has(domain_id):74 if domain_id not in self._store: 74 75 raise DomainNotFoundError(domain_id) 75 76 self._store.remove(domain_id) … … 77 78 def all(self) -> list[Domain]: 78 79 """List of all domains.""" 79 return list(self._store.values()) 80 return self._store.entities() 81 82 def all_domain_ids(self): 83 return self._store.ids() 80 84 81 85 def clear(self): … … 108 112 109 113 def __contains__(self, domain_id: str) -> bool: 110 return self.has(domain_id)114 return domain_id in self._store 111 115 112 116 def __repr__(self) -> str: -
flexoentity/flexo_collection.py
rdf459f7 r918474d 82 82 # Additional public helpers (unchanged) 83 83 # ------------------------------------------------------------------ 84 85 84 def entities(self): 86 85 """Return all entities as a list.""" -
tests/conftest.py
rdf459f7 r918474d 3 3 from pathlib import Path 4 4 from datetime import datetime 5 from flexoentity import Domain, FlexoSignature, DomainManager 5 from flexoentity import Domain, FlexoSignature, DomainManager, EntityRegistry 6 6 from flexoentity import get_signing_backend, CertificateReference 7 7 … … 30 30 @pytest.fixture 31 31 def sample_domain_manager(): 32 return DomainManager( )32 return DomainManager(EntityRegistry()) 33 33 34 34 # ─────────────────────────────────────────────────────────────
Note:
See TracChangeset
for help on using the changeset viewer.
