179 lines
13 KiB
Python
179 lines
13 KiB
Python
from pydantic import BaseModel, Field, conint
|
|
from typing import Optional, List, Literal
|
|
|
|
# =================================================================================================================
|
|
# COURT SCHEMAS
|
|
# =================================================================================================================
|
|
|
|
class Court(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
typSuduFacetFilter: Optional[List[str]] = Field(None, description="Court type (facet filter)")
|
|
krajFacetFilter: Optional[List[str]] = Field(None, description="Region (facet filter)")
|
|
okresFacetFilter: Optional[List[str]] = Field(None, description="District (facet filter)")
|
|
zahrnutZaniknuteSudy: Optional[bool] = Field(None, description="Flag to filter defunct/inactive courts")
|
|
page: Optional[conint(ge=1)] = Field(None, description="Requested page number (starting from 1)")
|
|
size: Optional[conint(ge=1)] = Field(None, description="Number of results per page")
|
|
indexDatumOd: Optional[str] = Field(None, description="Index date from (format YYYY-MM-DD)")
|
|
indexDatumDo: Optional[str] = Field(None, description="Index date to (format YYYY-MM-DD)")
|
|
sortProperty: Optional[str] = Field(None, description="Field to sort the output by")
|
|
sortDirection: Literal["ASC", "DESC"] = Field("ASC", description="Sort direction (ASC or DESC)")
|
|
|
|
class CourtID(BaseModel):
|
|
id: str = Field(..., description="Court identifier (e. g., sud_175)")
|
|
|
|
class CourtAutocomplete(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
limit: Optional[conint(ge=1)] = Field(None, description="Limits the number of returned results (pagination)")
|
|
|
|
|
|
# =================================================================================================================
|
|
# JUDGE SCHEMAS
|
|
# =================================================================================================================
|
|
|
|
class Judge(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
funkciaFacetFilter: Optional[List[str]] = Field(None, description="Judge function (facet filter)")
|
|
typSuduFacetFilter: Optional[List[str]] = Field(None, description="Court type (facet filter)")
|
|
krajFacetFilter: Optional[List[str]] = Field(None, description="Region (facet filter)")
|
|
okresFacetFilter: Optional[List[str]] = Field(None, description="District (facet filter)")
|
|
stavZapisuFacetFilter: Optional[List[str]] = Field(None, description="Record status (facet filter)")
|
|
guidSud: Optional[str] = Field(None, description="Court identifier (e.g., sud_100)")
|
|
indexDatumOd: Optional[str] = Field(None, description="Index date from (format YYYY-MM-DD)")
|
|
indexDatumDo: Optional[str] = Field(None, description="Index date to (format YYYY-MM-DD)")
|
|
page: Optional[conint(ge=1)] = Field(None, description="Requested page number (starting from 1)")
|
|
size: Optional[conint(ge=1)] = Field(None, description="Number of results per page")
|
|
sortProperty: Optional[str] = Field(None, description="Field to sort the output by")
|
|
sortDirection: Literal["ASC", "DESC"] = Field("ASC", description="Sort direction (ASC or DESC)")
|
|
|
|
class JudgeID(BaseModel):
|
|
id: str = Field(..., description="Judge identifier (e. g., sudca_1)")
|
|
|
|
class JudgeAutocomplete(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
guidSud: Optional[str] = Field(None, description="Court identifier (e.g., sud_100)")
|
|
limit: Optional[conint(ge=1)] = Field(None, description="Limits the number of returned results (pagination)")
|
|
|
|
|
|
# =================================================================================================================
|
|
# CONTRACTS SCHEMAS
|
|
# =================================================================================================================
|
|
|
|
class Contracts(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
typDokumentuFacetFilter: Optional[List[str]] = Field(None, description="Contract's type (facet filter)")
|
|
odberatelFacetFilter: Optional[List[str]] = Field(None, description="Subscriber filter")
|
|
dodavatelFacetFilter: Optional[List[str]] = Field(None, description="Supplier filter")
|
|
hodnotaZmluvyFacetFilter: Optional[List[str]] = Field(None, description="Contract value in EUR filter")
|
|
datumZverejeneniaOd: Optional[str] = Field(None, description="Index date from (format YYYY-MM-DD)")
|
|
datumZverejeneniaDo: Optional[str] = Field(None, description="Index date to (format YYYY-MM-DD)")
|
|
guidSud: Optional[str] = Field(None, description="Court identifier (e.g., sud_100)")
|
|
indexDatumOd: Optional[str] = Field(None, description="Index date from (format YYYY-MM-DD)")
|
|
indexDatumDo: Optional[str] = Field(None, description="Index date to (format YYYY-MM-DD)")
|
|
sortProperty: Optional[str] = Field(None, description="Field to sort the output by")
|
|
sortDirection: Literal["ASC", "DESC"] = Field("ASC", description="Sort direction (ASC or DESC)")
|
|
page: Optional[conint(ge=1)] = Field(None, description="Requested page number (starting from 1)")
|
|
size: Optional[conint(ge=1)] = Field(None, description="Number of results per page")
|
|
|
|
class ContractID(BaseModel):
|
|
idZmluvy: str = Field(..., description="Contract identifier (e. g., 2156252)")
|
|
|
|
class ContractAutocomplete(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
guidSud: Optional[str] = Field(None, description="Court identifier (e.g., sud_100)")
|
|
limit: Optional[conint(ge=1)] = Field(None, description="Limits the number of returned results (pagination)")
|
|
|
|
|
|
# =================================================================================================================
|
|
# DECISION SCHEMAS
|
|
# =================================================================================================================
|
|
|
|
class Decision(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
typSuduFacetFilter: Optional[List[str]] = Field(None, description="Court type (facet filter)")
|
|
krajFacetFilter: Optional[List[str]] = Field(None, description="Region (facet filter)")
|
|
okresFacetFilter: Optional[List[str]] = Field(None, description="District (facet filter)")
|
|
odkazovanePredpisy: Optional[str] = Field(None, description="Referenced regulations")
|
|
oblastPravnejUpravyFacetFilter: Optional[List[str]] = Field(None, description="Area of legal regulation (facet filter)")
|
|
podOblastPravnejUpravyFacetFilter: Optional[List[str]] = Field(None, description="Sub-area of legal regulation (facet filter)")
|
|
formaRozhodnutiaFacetFilter: Optional[List[str]] = Field(None, description="Form of decision (facet filter)")
|
|
povahaRozhodnutiaFacetFilter: Optional[str] = Field(None, description="Nature of decision")
|
|
vydaniaOd: Optional[str] = Field(None, description="Issue date from")
|
|
vydaniaDo: Optional[str] = Field(None, description="Issue date to")
|
|
ecli: Optional[str] = Field(None, description="ECLI identifier")
|
|
spisovaZnacka: Optional[str] = Field(None, description="Case reference number")
|
|
cisloSpisu: Optional[str] = Field(None, description="File identification number")
|
|
guidSudca: Optional[str] = Field(None, description="Judge identifier (e.g., sudca_1)")
|
|
guidSud: Optional[str] = Field(None, description="Court identifier (e.g., sud_100)")
|
|
indexDatumOd: Optional[str] = Field(None, description="Index date from (format YYYY-MM-DD)")
|
|
indexDatumDo: Optional[str] = Field(None, description="Index date to (format YYYY-MM-DD)")
|
|
sortProperty: Optional[str] = Field(None, description="Field to sort the output by")
|
|
sortDirection: Literal["ASC", "DESC"] = Field("ASC", description="Sort direction (ASC or DESC)")
|
|
page: Optional[conint(ge=1)] = Field(None, description="Requested page number (starting from 1)")
|
|
size: Optional[conint(ge=1)] = Field(None, description="Number of results per page")
|
|
|
|
class DecisionID(BaseModel):
|
|
id: str = Field(..., description="Decision identifier (e.g., a3310194-e9ac-4e6b-bfbd-25c40f26938b:1097de02-3389-405b-98a4-df7abea3f9ec)")
|
|
|
|
class DecisionAutocomplete(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
guidSud: Optional[str] = Field(None, description="Court identifier (e.g., sud_100)")
|
|
limit: Optional[conint(ge=1)] = Field(None, description="Limits the number of returned results (pagination)")
|
|
|
|
|
|
# =================================================================================================================
|
|
# CIVIL PROCEEDINGS SCHEMAS
|
|
# =================================================================================================================
|
|
|
|
class CivilProceedings(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
typSuduFacetFilter: Optional[List[str]] = Field(None, description="Court type (facet filter)")
|
|
krajFacetFilter: Optional[List[str]] = Field(None, description="Region (facet filter)")
|
|
okresFacetFilter: Optional[List[str]] = Field(None, description="District (facet filter)")
|
|
usekFacetFilter: Optional[List[str]] = Field(None, description="List of sections (facet filter)")
|
|
formaUkonuFacetFilter: Optional[List[str]] = Field(None, description="List of action types (facet filter)")
|
|
pojednavaniaOd: Optional[str] = Field(None, description="Hearing date from (DD.MM.YYYY)")
|
|
pojednavaniaDo: Optional[str] = Field(None, description="Hearing date to (DD.MM.YYYY)")
|
|
guidSudca: Optional[str] = Field(None, description="Judge identifier (e.g., sudca_1)")
|
|
guidSud: Optional[str] = Field(None, description="Court identifier (e.g., sud_100)")
|
|
spisovaZnacka: Optional[str] = Field(None,description="Case reference number")
|
|
verejneVyhlasenie: Optional[bool] = Field(None,description="Flag indicating whether the announcement is public")
|
|
indexDatumOd: Optional[str] = Field(None, description="Index date from (format YYYY-MM-DD)")
|
|
indexDatumDo: Optional[str] = Field(None, description="Index date to (format YYYY-MM-DD)")
|
|
sortProperty: Optional[str] = Field(None, description="Field to sort the output by")
|
|
sortDirection: Literal["ASC", "DESC"] = Field("ASC", description="Sort direction (ASC or DESC)")
|
|
page: Optional[conint(ge=1)] = Field(None, description="Requested page number (starting from 1)")
|
|
size: Optional[conint(ge=1)] = Field(None, description="Number of results per page")
|
|
|
|
class CivilProceedingsID(BaseModel):
|
|
id: str = Field(..., description="Identifier (e.g., 121e4d31-695e-41e1-9191-7c9ad5d8d484)")
|
|
|
|
class CivilProceedingsAutocomplete(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
guidSud: Optional[str] = Field(None, description="Court identifier (e.g., sud_100)")
|
|
guidSudca: Optional[str] = Field(None, description="Judge identifier (e.g., sudca_1)")
|
|
verejneVyhlasenie: Optional[bool] = Field(None,description="Flag indicating whether the announcement is public")
|
|
limit: Optional[conint(ge=1)] = Field(None, description="Limits the number of returned results (pagination)")
|
|
|
|
|
|
# =================================================================================================================
|
|
# ADMINISTRATIVE PROCEEDINGS SCHEMAS
|
|
# =================================================================================================================
|
|
|
|
class AdministrativeProceedings(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
druhFacetFilter: Optional[List[str]] = Field(None, description="List of types (faceted filter)")
|
|
datumPravoplatnostiOd: Optional[str] = Field(None, description="Validity date from (DD.MM.YYYY)")
|
|
datumPravoplatnostiDo: Optional[str] = Field(None, description="Validity date to (DD.MM.YYYY)")
|
|
page: Optional[conint(ge=1)] = Field(None, description="Requested page number (starting from 1)")
|
|
size: Optional[conint(ge=1)] = Field(None, description="Number of results per page")
|
|
sortProperty: Optional[str] = Field(None, description="Field to sort the output by")
|
|
sortDirection: Literal["ASC", "DESC"] = Field("ASC", description="Sort direction (ASC or DESC)")
|
|
|
|
class AdministrativeProceedingsID(BaseModel):
|
|
id: str = Field(..., description="Identifier of administrative proceedings (e.g., spravneKonanie_103)")
|
|
|
|
class AdministrativeProceedingsAutocomplete(BaseModel):
|
|
query: Optional[str] = Field(None, description="Search term or phrase")
|
|
limit: Optional[conint(ge=1)] = Field(None, description="Limits the number of returned results (pagination)")
|
|
|