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

60 lines
1.6 KiB
Markdown

# پایگاه داده — تسک ۱۲: تکمیل منشی
## هیچ migration لازم نیست
جدول `doctor_secretaries` کامل است. فقط باید مطمئن شویم ستون `permissions` درست ذخیره می‌شود.
## ستون موجود: permissions در doctor_secretaries
| ستون | نوع | مقدار پیش‌فرض |
|------|-----|--------------|
| permissions | JSON | `DEFAULT_PERMISSIONS` از DoctorSecretary entity |
### ساختار JSON ذخیره‌شده:
```json
{
"version": 1,
"resources": {
"appointments": {
"view": true,
"create": true,
"cancel": false,
"update_status": true
},
"addresses": {
"view": true,
"create": false,
"update": false,
"delete": false
},
"clinic_info": {
"view": true,
"update": false
},
"insurances": {
"view": true,
"create": false,
"update": false,
"delete": false
}
}
}
```
### نکته `version`:
- `version: 1` — اگر در آینده ساختار permissions تغییر کرد، migration به version بعدی انجام می‌شود
- همیشه هنگام خواندن permissions، `version` بررسی شود و اگر قدیمی بود با DEFAULT_PERMISSIONS merge شود
## جدول doctor_secretaries (مرجع)
| ستون | نوع | توضیح |
|------|-----|-------|
| id | INT PK | |
| uuid | CHAR(36) UNIQUE | |
| doctor_id | INT FK→doctors.id | |
| secretary_id | INT FK→users.id | |
| permissions | JSON | ساختار بالا |
| active | TINYINT(1) DEFAULT 1 | |
| created_at | INT | |
| updated_at | INT | |