75 lines
2.0 KiB
Markdown
75 lines
2.0 KiB
Markdown
# Plant Names API
|
|
|
|
این API فقط لیست نام گیاهها را به همراه آیکون و مراحل رشد برمیگرداند.
|
|
|
|
## Endpoint
|
|
|
|
- `GET /api/plants/names/`
|
|
|
|
## کاربرد
|
|
|
|
- گرفتن لیست سبک برای dropdown یا selector فرانت
|
|
- نمایش نام گیاه
|
|
- نمایش `icon`
|
|
- نمایش مراحل رشد هر گیاه
|
|
|
|
## رفتار API
|
|
|
|
- فقط فیلدهای `name`، `icon` و `growth_stages` را برمیگرداند
|
|
- اگر `growth_stage` برای یک گیاه خالی باشد، API به صورت خودکار این مراحل پیشفرض را اضافه و در دیتابیس ذخیره میکند:
|
|
- `initial`
|
|
- `vegetative`
|
|
- `flowering`
|
|
- `fruiting`
|
|
- `maturity`
|
|
- اگر `icon` خالی باشد، مقدار پیشفرض `leaf` ذخیره و برگردانده میشود
|
|
- اگر در `growth_profile.stage_thresholds` مرحلهای وجود داشته باشد، آن مرحله هم در خروجی `growth_stages` لحاظ میشود
|
|
|
|
## نمونه درخواست
|
|
|
|
```bash
|
|
curl -X GET http://localhost:8000/api/plants/names/
|
|
```
|
|
|
|
## نمونه پاسخ
|
|
|
|
```json
|
|
{
|
|
"code": 200,
|
|
"msg": "success",
|
|
"data": [
|
|
{
|
|
"name": "Tomato",
|
|
"icon": "leaf",
|
|
"growth_stages": [
|
|
"vegetative",
|
|
"flowering",
|
|
"fruiting"
|
|
]
|
|
},
|
|
{
|
|
"name": "Pepper",
|
|
"icon": "leaf",
|
|
"growth_stages": [
|
|
"initial",
|
|
"vegetative",
|
|
"flowering",
|
|
"fruiting",
|
|
"maturity"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## فیلدهای خروجی
|
|
|
|
- `name`: نام گیاه
|
|
- `icon`: آیکون گیاه برای فرانت
|
|
- `growth_stages`: آرایهای از مراحل رشد گیاه
|
|
|
|
## نکته برای فرانت
|
|
|
|
- این endpoint برای لیست سبک طراحی شده و مناسب صفحههای انتخاب گیاه است
|
|
- اگر جزئیات کامل گیاه لازم دارید، از `GET /api/plants/` یا `GET /api/plants/{id}/` استفاده کنید
|