mirror of
https://github.com/openziti/zrok.git
synced 2025-06-24 19:51:32 +02:00
refactor overview class implementation to leverage existing EnvironmentAndResources model
This commit is contained in:
parent
e16ae7f43e
commit
32611af5f4
@ -4,20 +4,16 @@ from typing import List
|
|||||||
|
|
||||||
import urllib3
|
import urllib3
|
||||||
from zrok.environment.root import Root
|
from zrok.environment.root import Root
|
||||||
|
|
||||||
from zrok_api.models.environment import Environment
|
from zrok_api.models.environment import Environment
|
||||||
|
from zrok_api.models.environment_and_resources import EnvironmentAndResources
|
||||||
|
from zrok_api.models.frontends import Frontends
|
||||||
from zrok_api.models.share import Share
|
from zrok_api.models.share import Share
|
||||||
|
from zrok_api.models.shares import Shares
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class EnvironmentAndShares:
|
|
||||||
environment: Environment
|
|
||||||
shares: List[Share] = field(default_factory=list)
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class Overview:
|
class Overview:
|
||||||
environments: List[EnvironmentAndShares] = field(default_factory=list)
|
environments: List[EnvironmentAndResources] = field(default_factory=list)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(cls, root: Root) -> 'Overview':
|
def create(cls, root: Root) -> 'Overview':
|
||||||
@ -52,8 +48,9 @@ class Overview:
|
|||||||
created_at=env_dict.get('createdAt'),
|
created_at=env_dict.get('createdAt'),
|
||||||
updated_at=env_dict.get('updatedAt')
|
updated_at=env_dict.get('updatedAt')
|
||||||
)
|
)
|
||||||
# Map the JSON keys to the Share class parameters
|
|
||||||
shares = []
|
# Create Shares object from share data
|
||||||
|
share_list = []
|
||||||
for share_data in env_data.get('shares', []):
|
for share_data in env_data.get('shares', []):
|
||||||
share = Share(
|
share = Share(
|
||||||
token=share_data.get('token'),
|
token=share_data.get('token'),
|
||||||
@ -69,7 +66,14 @@ class Overview:
|
|||||||
created_at=share_data.get('createdAt'),
|
created_at=share_data.get('createdAt'),
|
||||||
updated_at=share_data.get('updatedAt')
|
updated_at=share_data.get('updatedAt')
|
||||||
)
|
)
|
||||||
shares.append(share)
|
share_list.append(share)
|
||||||
overview.environments.append(EnvironmentAndShares(environment=environment, shares=shares))
|
|
||||||
|
# Create EnvironmentAndResources object
|
||||||
|
env_resources = EnvironmentAndResources(
|
||||||
|
environment=environment,
|
||||||
|
shares=share_list,
|
||||||
|
frontends=Frontends() # Empty frontends for now as it's not in the input data
|
||||||
|
)
|
||||||
|
overview.environments.append(env_resources)
|
||||||
|
|
||||||
return overview
|
return overview
|
||||||
|
Loading…
x
Reference in New Issue
Block a user