60 lines
1.6 KiB
Markdown
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 | |
|