Исходный код core.configs.url

"""Адреса конечных точек API портала."""

from urllib.parse import urljoin

from pydantic import BaseModel


[документация] class URLSettings(BaseModel): """Адреса конечных точек API портала.""" BASE: str = "https://sonik.space/api/" JOBS_PATH: str = "jobs/" OBSERVATIONS_PATH: str = "observations/" # Определения спутников. Всё новое живёт под ``v2/``: станция, которая о # нём не знает, обращается только к путям выше и сломаться не может. BUNDLES_PATH: str = "v2/bundles/" # Статус станции: режимы, которые она умеет. Под ``v2/`` по той же причине. STATIONS_PATH: str = "v2/stations/" @property def jobs_url(self) -> str: return urljoin(self.BASE, self.JOBS_PATH) @property def stations_url(self) -> str: return urljoin(self.BASE, self.STATIONS_PATH) @property def bundles_url(self) -> str: return urljoin(self.BASE, self.BUNDLES_PATH) @property def observations_url(self) -> str: return urljoin(self.BASE, self.OBSERVATIONS_PATH)