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))