56 lines
2.1 KiB
Python
56 lines
2.1 KiB
Python
from core.api.fetch_api_data import fetch_api_data
|
|
from core.api.schemas import (CivilProceedings,
|
|
CivilProceedingsID,
|
|
CivilProceedingsAutocomplete)
|
|
from agents import function_tool
|
|
|
|
BASE_URL = "https://obcan.justice.sk/pilot/api/ress-isu-service"
|
|
|
|
class CivilProceedingsAPI:
|
|
|
|
@function_tool
|
|
async def civil_proceedings(self, params: CivilProceedings) -> dict:
|
|
"""
|
|
Fetch a list of civil proceedings and publicly announced judgments
|
|
from the Justice API with optional filtering.
|
|
|
|
Args:
|
|
params (CivilProceedings): Filtering and pagination parameters.
|
|
|
|
Returns:
|
|
dict: A dictionary containing a list of civil proceedings and related metadata.
|
|
"""
|
|
url = f"{BASE_URL}/v1/obcianPojednavania"
|
|
|
|
return await fetch_api_data(icon="🖊️", url=url, params=params.model_dump(exclude_none=True))
|
|
|
|
@function_tool
|
|
async def civil_proceedings_id(self, params: CivilProceedingsID) -> dict:
|
|
"""
|
|
Fetch detailed information about a specific civil proceeding
|
|
and publicly announced judgment by its identifier.
|
|
|
|
Args:
|
|
params (CivilProceedingsID): Unique identifier of the civil proceeding.
|
|
|
|
Returns:
|
|
dict: Details of the specified civil proceeding and judgment.
|
|
"""
|
|
url = f"{BASE_URL}/v1/obcianPojednavania/{params.id}"
|
|
|
|
return await fetch_api_data(icon="🖊️", url=url, params=params.model_dump(exclude_none=True))
|
|
|
|
@function_tool
|
|
async def civil_proceedings_autocomplete(self, params: CivilProceedingsAutocomplete) -> dict:
|
|
"""
|
|
Fetch autocomplete suggestions for civil proceeding search terms.
|
|
|
|
Args:
|
|
params (CivilProceedingsAutocomplete): Parameters for autocomplete query (e.g., partial text).
|
|
|
|
Returns:
|
|
dict: Suggested values matching the input query.
|
|
"""
|
|
url = f"{BASE_URL}/v1/obcianPojednavania/autocomplete"
|
|
|
|
return await fetch_api_data(icon="🖊️", url=url, params=params.model_dump(exclude_none=True)) |