feat(resource): update permissions for resource access and enhance booking logic

This commit is contained in:
hamed
2026-08-04 11:05:11 +03:30
parent 429d7ed813
commit 2c7b86d917
5 changed files with 84 additions and 7 deletions
+10 -3
View File
@@ -3,6 +3,13 @@
> **Base:** `/api/v1` · **Auth:** JWT روی همهٔ اندپوینت‌ها
> **مجوز:** `appointment_settings` (`view` خواندن، `update` نوشتن) — همان مجوز تنظیمات
> نوبت‌دهی؛ مجوز تازه‌ای ساخته نشده.
>
> **استثنای خواندن برای نوبت‌دهی (2026-08):** چهار اندپوینتِ خواندنی که ورودیِ ثبت
> نوبت‌اند — `GET /resources`، `GET /resource/{uuid}/services`،
> `GET /resource/{uuid}/day-slots`، `GET /resource/{uuid}/service-slots` — با
> **`appointments.view` هم** باز می‌شوند. منشی یا پزشکِ عضوی که اجازهٔ ثبت نوبت دارد
> ولی تنظیمات نوبت‌دهی برایش بسته است، وگرنه نمی‌توانست همان نوبتی را که مجاز است
> ثبت کند. نوشتن همچنان فقط `appointment_settings.update`.
---
@@ -347,7 +354,7 @@
]
```
**دسترسی:** `appointment_settings.view`. **۴۰۴:** منبع محیط دیگر.
**دسترسی:** `appointment_settings.view` یا `appointments.view`. **۴۰۴:** منبع محیط دیگر.
### `PUT /api/v1/resource/{uuid}/services`
@@ -476,7 +483,7 @@
### `GET /api/v1/resource/{uuid}/day-slots` (2026-08)
مجوز: `appointment_settings.view`. پارامتر: `date=Y-m-d` (الزامی).
مجوز: `appointment_settings.view` یا `appointments.view`. پارامتر: `date=Y-m-d` (الزامی).
بازه‌های **کاری** منبع در یک روز — ورودیِ تایم‌لاینِ سرویسیِ صفحهٔ نوبت‌ها. معادلِ
`appointment-slots` پزشک، ولی از تقویم خودِ منبع: ساعت شعبه ∩ شیفت منبع − تعطیلات −
@@ -499,7 +506,7 @@
### `GET /api/v1/resource/{uuid}/service-slots` (2026-08)
مجوز: `appointment_settings.view`.
مجوز: `appointment_settings.view` یا `appointments.view`.
| پارامتر | توضیح |
|---|---|