33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
"""MazeNET topology repository methods.
|
|
|
|
The full domain spans ~700 lines of methods across topologies, LANs,
|
|
deckies, edges, the status-event log, and the live reconciler mutation
|
|
queue. Each concern lives in its own submixin; ``TopologyMixin``
|
|
composes them.
|
|
|
|
The optimistic-locking helpers (``_assert_pending``,
|
|
``_check_and_bump_version``) live on ``TopologyCoreMixin`` and are
|
|
reached from sibling submixins via ``self.`` — Python's MRO resolves
|
|
them to the core mixin no matter which submixin holds the caller.
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
from decnet.web.db.sqlmodel_repo.topology._core import TopologyCoreMixin
|
|
from decnet.web.db.sqlmodel_repo.topology.deckies import TopologyDeckiesMixin
|
|
from decnet.web.db.sqlmodel_repo.topology.edges import TopologyEdgesMixin
|
|
from decnet.web.db.sqlmodel_repo.topology.lans import LansMixin
|
|
from decnet.web.db.sqlmodel_repo.topology.mutations import TopologyMutationsMixin
|
|
|
|
|
|
class TopologyMixin(
|
|
TopologyDeckiesMixin,
|
|
TopologyEdgesMixin,
|
|
LansMixin,
|
|
TopologyMutationsMixin,
|
|
TopologyCoreMixin,
|
|
):
|
|
"""Composed topology mixin — see submixins for the actual methods."""
|
|
|
|
|
|
__all__ = ["TopologyMixin"]
|