Исходный код 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)