نموذج البيانات
الجداول التي يقوم عليها Portline ومن يستطيع القراءة من كل منها والكتابة فيه.
توجد كل الجداول في المخطط public ببادئة pl_، ويحمل كل صف workspace_id. يمر الأمان على مستوى الصفوف عبر دالتين مساعدتين: pl.role_in(workspace) تُرجع دورك، و pl.can(workspace, area, level) تجيب عن سؤال "هل يجوز لهذا المستخدم فعل هذا هنا"، بالتحقق من العضوية وميزات الخطة وحالة الاشتراك.
"العرض" و"التعديل" و"الاعتماد" أدناه تعني المستوى في قسم ذلك الجدول. و"+ fleet" تعني أن الخطة يجب أن تتضمن تلك الميزة أيضًا.
مساحة العمل والأشخاص
| الجدول | يحتوي على | القراءة | الكتابة |
|---|---|---|---|
pl_workspaces | الاسم، المعرّف النصي (slug)، المنطقة الزمنية | الأعضاء | المالك (الاسم والمنطقة الزمنية فقط) |
pl_subscriptions | الخطة، الحالة، المقاعد، نهاية الفترة | الأعضاء | دور الخدمة فقط |
pl_members | الدور، اسم العرض، المسمى الوظيفي، البريد الإلكتروني | الأعضاء | المالك والمسؤول، بحماية مشغّل |
pl_notifications | العنوان، النص، الرابط، وقت القراءة | الخاصة بك | read_at فقط |
pl_audit | من فعل ماذا، ومتى | الاعتماد | الإدراج باسمك فقط؛ لا يُحدَّث أبدًا |
الشحنات والحاويات
| الجدول | يحتوي على | القراءة | الكتابة |
|---|---|---|---|
pl_customers | اسم العميل وبلده | العرض | التعديل |
pl_ports | UN/LOCODE، الاسم، البلد، الموقع | كل من سجّل الدخول | دور الخدمة |
pl_shipments | الرمز، العميل، المسار، وسيلة النقل، الحالة، البضاعة، الوزن، الحاوية، السائق، incoterm، ETD/ETA | العرض | التعديل |
pl_shipment_stops | محطات المسار بالترتيب، مع الأوقات المخططة والفعلية | العرض | التعديل |
pl_shipment_events | الخط الزمني لـ"آخر التحديثات" | العرض | التعديل |
pl_documents | بوليصة الشحن، البيان الجمركي، الفواتير، مع حالة المراجعة | العرض | التعديل للرفع؛ الاعتماد للمراجعة |
pl_containers | رقم ISO 6346، النوع، نقطة ضبط الحاوية المبردة، الحالة، الموقع | العرض | التعديل |
pl_telemetry | قراءات حرارة الحاويات المبردة | العرض + telemetry | دور الخدمة (تغذية المستشعرات) |
الأسطول والمستودعات والأرصفة
| الجدول | يحتوي على | القراءة | الكتابة |
|---|---|---|---|
pl_assets | الشاحنات والسفن والطائرات المسيّرة مع الحالة والموقع | العرض + fleet | التعديل |
pl_drivers | الاسم، الهاتف، الناقل، الشاحنة، المقطورة، اللوحة | العرض + fleet | التعديل |
pl_warehouses | اسم الموقع، المدينة، السعة والمساحة المستخدمة بالـ m² | العرض + warehouses | التعديل |
pl_zones | المناطق لكل موقع مع نسبة الإشغال | العرض + warehouses | التعديل |
pl_stock | SKU، المنتج، موقع التخزين، الكمية المتوفرة، نقطة إعادة الطلب، ETA | العرض + warehouses | التعديل |
pl_dock_doors | الأبواب لكل مستودع ونوعها | العرض + docks | الاعتماد |
pl_dock_appointments | الشاحنة، الناقل، الاتجاه، الأوقات، الحالة، تسجيل الوصول والمغادرة | العرض + docks | التعديل؛ تسجيل المغادرة يتطلب تسجيل الوصول |
الرسائل
| الجدول | يحتوي على | القراءة | الكتابة |
|---|---|---|---|
pl_threads | الموضوع، الشحنة أو السائق المرتبط | العرض | التعديل |
pl_messages | الكاتب، النص، الوقت | العرض | التعديل، باسمك ككاتب |
pl_thread_reads | آخر موضع قرأ فيه كل عضو سلسلة الرسائل | الخاصة بك | الخاصة بك |
ميزات الخطة
pl.plan_features تعكس كتالوج الخطط في @portline/pricing، بحيث تتفق قاعدة البيانات والتطبيق على أي خطة تتضمن أي ميزة.
معرّفات العرض التوضيحي
يُنشئ مولّد العرض التوضيحي معرّفات بصيغة UUID من مفاتيح ثابتة. وتستخدم التعبئة المحلية المولّد نفسه، لذا يكون للشحنة المعرّف والرمز نفسيهما في وضع العرض التوضيحي وفي الوضع المحلي.