From 5cdb4c29ea9e736ea5a52483c2e62009c4c7d27e Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 2 Sep 2022 13:51:25 +0200 Subject: [proxy] allow packages to be frozen and unfrozen in the web UI This commit also makes some minor changes and fixes in other parts of the web UI. --- src/hydrilla/proxy/state.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'src/hydrilla/proxy/state.py') diff --git a/src/hydrilla/proxy/state.py b/src/hydrilla/proxy/state.py index f882b2d..03b6291 100644 --- a/src/hydrilla/proxy/state.py +++ b/src/hydrilla/proxy/state.py @@ -226,6 +226,10 @@ class MappingDisplayInfo(item_infos.CorrespondsToMappingDCMixin): frozen: t.Optional[FrozenStatus] active_version: t.Optional['MappingVersionDisplayInfo'] +@dc.dataclass(frozen=True) +class RichMappingDisplayInfo(MappingDisplayInfo): + all_versions: t.Sequence['MappingVersionDisplayInfo'] + @dc.dataclass(frozen=True) class MappingVersionDisplayInfo(item_infos.CorrespondsToMappingDCMixin): ref: 'MappingVersionRef' @@ -234,8 +238,6 @@ class MappingVersionDisplayInfo(item_infos.CorrespondsToMappingDCMixin): active: ActiveStatus is_orphan: bool is_local: bool - mapping_enabled: EnabledStatus - mapping_frozen: t.Optional[FrozenStatus] @dc.dataclass(frozen=True, unsafe_hash=True) # type: ignore[misc] class MappingRef(Ref, item_infos.CorrespondsToMappingDCMixin): @@ -249,8 +251,7 @@ class MappingRef(Ref, item_infos.CorrespondsToMappingDCMixin): ... @abstractmethod - def get_version_display_infos(self) \ - -> t.Sequence[MappingVersionDisplayInfo]: + def get_display_info(self) -> RichMappingDisplayInfo: ... @@ -278,8 +279,7 @@ class MappingVersionRef(Ref, item_infos.CorrespondsToMappingDCMixin): ... @abstractmethod - def get_all_version_display_infos(self) \ - -> t.Sequence[MappingVersionDisplayInfo]: + def get_item_display_info(self) -> RichMappingDisplayInfo: ... class MappingVersionStore(Store[MappingVersionRef]): @@ -291,6 +291,10 @@ class ResourceDisplayInfo(item_infos.CorrespondsToResourceDCMixin): ref: 'ResourceRef' identifier: str +@dc.dataclass(frozen=True) +class RichResourceDisplayInfo(ResourceDisplayInfo): + all_versions: t.Sequence['ResourceVersionDisplayInfo'] + @dc.dataclass(frozen=True) class ResourceVersionDisplayInfo(item_infos.CorrespondsToResourceDCMixin): ref: 'ResourceVersionRef' @@ -303,8 +307,7 @@ class ResourceVersionDisplayInfo(item_infos.CorrespondsToResourceDCMixin): @dc.dataclass(frozen=True, unsafe_hash=True) # type: ignore[misc] class ResourceRef(Ref, item_infos.CorrespondsToResourceDCMixin): @abstractmethod - def get_version_display_infos(self) \ - -> t.Sequence[ResourceVersionDisplayInfo]: + def get_display_info(self) -> RichResourceDisplayInfo: ... class ResourceStore(Store[ResourceRef]): @@ -324,8 +327,7 @@ class ResourceVersionRef(Ref, item_infos.CorrespondsToResourceDCMixin): ... @abstractmethod - def get_all_version_display_infos(self) \ - -> t.Sequence[ResourceVersionDisplayInfo]: + def get_item_display_info(self) -> RichResourceDisplayInfo: ... class ResourceVersionStore(Store[ResourceVersionRef]): -- cgit v1.2.3