Files
clinicpro/docs/phase2_taskes/task-12-secretary-completion/user_flow.md
T

71 lines
3.7 KiB
Markdown

# جریان کاربری — تسک ۱۲: تکمیل منشی
## جریان افزودن منشی جدید با بررسی سقف پنل
```
دکتر روی «افزودن منشی» کلیک می‌کند → Modal باز می‌شود
POST /api/v1/secretary { phone, ... }
├─► 403 ERR_SECRETARY_LIMIT_REACHED:
│ ┌─────────────────────────────────────────┐
│ │ ⚠️ سقف منشی پنل شما تکمیل شده است │
│ │ پنل Free: حداکثر ۱ منشی │
│ │ │
│ │ [ارتقاء به Basic] [بستن] │
│ └─────────────────────────────────────────┘
└─► 201: منشی ایجاد شد → لیست refresh
```
## جریان ویرایش permissions منشی
```
دکتر روی آیکن تنظیمات کنار منشی کلیک می‌کند
GET /api/v1/secretary/{uuid}
→ بارگذاری permissions فعلی در Modal
┌─────────────────────────────────────────────────────────┐
│ دسترسی‌های علی رضایی │
├──────────────────┬──────────┬────────┬────────┬─────────┤
│ بخش │ مشاهده │ ایجاد │ ویرایش │ لغو/حذف│
├──────────────────┼──────────┼────────┼────────┼─────────┤
│ نوبت‌ها │ ✅ │ ✅ │ ✅ │ ☐ │
│ آدرس‌ها │ ✅ │ ☐ │ ☐ │ ☐ │
│ اطلاعات کلینیک │ ✅ │ - │ ☐ │ - │
│ بیمه‌ها │ ✅ │ ☐ │ ☐ │ ☐ │
└──────────────────┴──────────┴────────┴────────┴─────────┘
│ │
│ [لغو] [ذخیره دسترسی‌ها] │
└─────────────────────────────────────────────────────────┘
PATCH /api/v1/secretary/{uuid}
{ permissions: { version: 1, resources: { ... } } }
200: «دسترسی‌های منشی بروزرسانی شد» → Modal بسته می‌شود
```
## ترتیب سطوح سقف منشی
```
اشتراک → سقف → اگر افزودن فراتر رود
─────────────────────────────────────────
Free → 1 → 403
Basic → 2 → 403
Professional → 5 → 403
```
## نکته: منشی غیرفعال از سقف کم نمی‌شود
```
countActive() فقط منشیان active=true را می‌شمارد
یعنی: اگر 2 منشی داری و یکی را غیرفعال کنی → می‌توانی دوباره 1 منشی جدید اضافه کنی
(مادامی که در پنل Basic هستی و سقف 2 داری)
```