This commit is contained in:
2026-04-27 16:40:50 +03:30
parent 78acb5510d
commit 993066a19f
11 changed files with 801 additions and 23 deletions
+41
View File
@@ -0,0 +1,41 @@
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__,
)