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

1.6 KiB

پایگاه داده — تسک ۱۲: تکمیل منشی

هیچ migration لازم نیست

جدول doctor_secretaries کامل است. فقط باید مطمئن شویم ستون permissions درست ذخیره می‌شود.

ستون موجود: permissions در doctor_secretaries

ستون نوع مقدار پیش‌فرض
permissions JSON DEFAULT_PERMISSIONS از DoctorSecretary entity

ساختار 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