feat(subscription): implement resource quota management based on subscription plans
This commit is contained in:
@@ -193,6 +193,28 @@
|
||||
| `attributes` | object | — | حداکثر ۲۰ کلید · کلید `[a-z_]{1,40}` · مقدار فقط اسکالر |
|
||||
| `active` | bool | — | پیشفرض `true` |
|
||||
|
||||
### سقف منابع بر اساس پلن اشتراک (2026-08)
|
||||
|
||||
ساخت منبع به سقفِ پلنِ **مؤثرِ** محیط محدود است — `subscription_plans.max_resources`:
|
||||
|
||||
| پلن | سقف |
|
||||
|---|---|
|
||||
| بدون اشتراک فعال (`free`) | ۱ منبع |
|
||||
| `basic` — شامل دورهٔ آزمایشی | ۳ منبع |
|
||||
| `professional` | نامحدود (`-1`) |
|
||||
|
||||
- شمارش روی **همهٔ** منابع همان جفتِ محیط است: فعال و غیرفعال، و منابعِ پلِ پزشک/پرسنل
|
||||
هم شمرده میشوند. غیرفعالکردن جای خالی نمیسازد؛ فقط حذف میسازد.
|
||||
- سقف پیش از هر اعتبارسنجی دیگری سنجیده میشود، پس بدنهٔ ناقص هم همین خطا را میگیرد.
|
||||
- سقف فقط روی همین اندپوینت است. پلِ خودکارِ منبع برای پزشک/پرسنل مسدود نمیشود، ولی
|
||||
در شمارش میآید.
|
||||
- **۴۲۲ `ERR_RESOURCE_LIMIT_001`:** «پلن فعلی حداکثر N منبع را پشتیبانی میکند؛ برای
|
||||
افزودن، پنل را ارتقا دهید».
|
||||
|
||||
سقف در `GET /api/v1/subscription/my` زیر `effective_plan.max_resources` میآید؛ پنل با
|
||||
همان و شمارشِ `GET /api/v1/resources` دکمهٔ افزودن را میبندد. تست:
|
||||
`tests/Resource/ResourceQuotaTest.php`.
|
||||
|
||||
### شعبه از منابع حذف شد (2026-08)
|
||||
|
||||
منابع دامنهٔ «شعبه» ندارند: دستگاه و اتاق مالِ خودِ کلینیکاند، و آن انتخابگر همیشه یک
|
||||
|
||||
Reference in New Issue
Block a user