Files
Schemas/farm_parameter.py
T
2026-04-27 16:40:50 +03:30

42 lines
958 B
Python

from __future__ import annotations
from pydantic import Field
from .common import ApiEnvelope, JsonObject, RouteContract, SchemaModel
HTTP_METHOD = 'POST'
ROUTE_PATH = '/api/farm-data/parameters/'
class FarmParameterRequest(SchemaModel):
sensor_key: str = 'sensor-7-1'
code: str
name_fa: str
unit: str | None = ''
data_type: str | None = 'float'
metadata: JsonObject = Field(default_factory=dict)
class FarmParameterResponseData(SchemaModel):
id: int
sensor_key: str
code: str
name_fa: str
unit: str | None = None
data_type: str | None = None
metadata: JsonObject = Field(default_factory=dict)
created_at: str | None = None
action: str
class FarmParameterResponse(ApiEnvelope[FarmParameterResponseData]):
pass
CONTRACT = RouteContract(
method=HTTP_METHOD,
path=ROUTE_PATH,
request_model=FarmParameterRequest.__name__,
response_model=FarmParameterResponse.__name__,
)