المخطط الكامل في backend/prisma/schema.prisma. هنا ملخّص الجداول الأهم وعلاقاتها.
جداول الأعمال (Domain)
| الجدول | الغرض |
|---|---|
User | حسابات المستخدمين (JWT auth) |
AgentProfile | 52 وكيل: اسم، نموذج، system prompt، أدوات |
PmClient | العملاء |
PmProject | المشاريع (FK → PmClient) |
PmTask | مهام Kanban (FK → PmProject) |
WhatsAppConversation | محادثات + AI mode + assigned agent |
WhatsAppMessage | كل رسالة (in/out) |
WaPendingReply | قائمة موافقة HYBRID mode |
Workflow | workflows الأتمتة |
WorkflowRun | تنفيذ workflow (حالة + logs + result) |
WorkflowSchedule | cron schedules مرتبطة بـ workflows |
HermesTask | مهمة في خطة تنفيذ راشد |
معلومة
كل جدول لو فيه FK لجدول آخر، نستخدم
onDelete: Cascade غالباً — يحمي من أيتام البيانات.الفهارس (Indexes)
كل جدول له فهارس على الحقول المُستعلَم عنها بكثرة. أمثلة:
WhatsAppConversation.phone— unique للبحث بالرقم.WorkflowRun.workflowId+status+startedAt— لقوائم الـ runs.PmTask.projectId, status, position— composite لـ Kanban.
Migrations
نستخدم npx prisma db push في التطوير. للإنتاج: prisma migrate deploy. كل تغيير على schema لازم يمرّ عبر prisma generate لتحديث TypeScript types.