Source code for LOGS.Interfaces.IHierarchicalEntity

from dataclasses import dataclass
from typing import TYPE_CHECKING, List, Optional

from LOGS.Auxiliary.MinimalModelGenerator import MinimalModelGenerator
from LOGS.Interfaces.IEntityInterface import IEntityInterface

if TYPE_CHECKING:
    from LOGS.Entities.InventoryItemMinimal import InventoryItemMinimal


[docs] @dataclass class IHierarchicalEntityRequest: childrenOfParentIds: Optional[List[int]] = None descendantsOfIds: Optional[List[int]] = None excludeHierarchyChildren: Optional[bool] = None isHierarchyRoot: Optional[bool] = None
[docs] class IHierarchicalEntity(IEntityInterface): _ancestors: Optional[List["InventoryItemMinimal"]] = None _parent: Optional["InventoryItemMinimal"] = None @property def ancestors(self) -> Optional[List["InventoryItemMinimal"]]: return self._ancestors @ancestors.setter def ancestors(self, value): self._ancestors = MinimalModelGenerator.MinimalFromList( value, "InventoryItemMinimal", "ancestors", self._getEntityConnection() ) @property def parent(self) -> Optional["InventoryItemMinimal"]: return self._parent @parent.setter def parent(self, value): self._parent = MinimalModelGenerator.MinimalFromSingle( value, "InventoryItemMinimal", "parent", self._getEntityConnection() )