/ PyCrypCli / PyCrypCli / models / service / public_service.py
public_service.py
 1  from __future__ import annotations
 2  
 3  from typing import TYPE_CHECKING
 4  
 5  from pydantic import Field
 6  
 7  from ..model import Model
 8  
 9  if TYPE_CHECKING:
10      from ...client import Client
11  
12  
13  class PublicService(Model):
14      uuid: str
15      device_uuid: str = Field(alias="device")
16      name: str
17      running_port: int | None
18  
19      @staticmethod
20      def get_public_service(client: Client, device_uuid: str, service_uuid: str) -> PublicService:
21          return PublicService.parse(
22              client, client.ms("service", ["public_info"], device_uuid=device_uuid, service_uuid=service_uuid)
23          )
24  
25      def update(self) -> PublicService:
26          return self._update(PublicService.get_public_service(self._client, self.device_uuid, self.uuid))