- Added seed_realistic_data.php to clean existing data and populate the database with realistic entries for doctors, clinics, and secretaries. - Created a structured approach to generate 100 doctors per city with diverse specialties and services. - Implemented database cleanup routines to ensure a fresh start for data seeding. - Enhanced the DoctorSecretaryRepository with improved comments for clarity.
3.7 KiB
3.7 KiB
جریان کاربری — تسک ۱۲: تکمیل منشی
جریان افزودن منشی جدید با بررسی سقف پنل
دکتر روی «افزودن منشی» کلیک میکند → 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 داری)