This commit is contained in:
2026-05-09 16:55:06 +03:30
parent 1679825ae2
commit cead7dafe2
51 changed files with 7514 additions and 1221 deletions
+8 -1
View File
@@ -83,6 +83,7 @@ class FarmDataUpsertView(APIView):
"`farm_uuid` باید از API ارسال شود و هرگز خودکار ساخته نمی‌شود. "
"مرز مزرعه را می‌گیرد، مرکز زمین را خودش محاسبه و در location_data ذخیره می‌کند. "
"رکورد آب‌وهوا هم از همان مرکز زمین به‌صورت خودکار پیدا می‌شود. "
"در این مرحله برای location_data هیچ ریکوئست خارجی برای بلوک‌ها زده نمی‌شود. "
'خوانش‌ها داخل `sensor_payload` مثل `{"sensor-7-1": {...}}` نگه‌داری می‌شوند.'
),
request=SensorDataUpdateSerializer,
@@ -121,6 +122,7 @@ class FarmDataUpsertView(APIView):
]
],
},
"block_count": 3,
"sensor_payload": {
"sensor-7-1": {
"soil_moisture": 45.2,
@@ -147,6 +149,7 @@ class FarmDataUpsertView(APIView):
{"lat": 35.7200, "lon": 51.3900},
]
},
"block_count": 2,
"sensor_payload": {
"sensor-7-1": {
"soil_moisture": 45.2,
@@ -172,11 +175,15 @@ class FarmDataUpsertView(APIView):
farm_uuid = serializer.validated_data["farm_uuid"]
farm_boundary = serializer.validated_data["farm_boundary"]
block_count = serializer.validated_data.get("block_count", 1)
plant_ids = serializer.validated_data.get("plant_ids")
irrigation_method_id = serializer.validated_data.get("irrigation_method_id")
sensor_payload = serializer.validated_data.get("sensor_payload", {})
try:
center_location = resolve_center_location_from_boundary(farm_boundary)
center_location = resolve_center_location_from_boundary(
farm_boundary,
block_count=block_count,
)
except ValueError as exc:
return Response(
{"code": 400, "msg": "داده نامعتبر.", "data": {"farm_boundary": [str(exc)]}},