Skip to Content

المفاهيم الأساسية

التسلسل: المؤسسة ← المدرسة ← الصف

بنية أمل المستأجِرة شجرة من ثلاثة مستويات:

  • المؤسسة تملك عدّة مدارس (دعم السلاسل).
  • المدرسة تتبع مؤسسة واحدة بالضبط.
  • الصف يتبع مدرسة واحدة بالضبط، وله grade (1-4 في الموجة الأولى)، وacademicYear (YYYY-YYYY)، واسم عرض name.

معرّفات المؤسسة والمدرسة والصف هي نصوص cuid (^c[a-z0-9]{24}$).

العزل المستأجِر

organizationId هو مفتاح العزل المعتمد. يُخزَّن مكرّرًا على كل صفّ ضمن نطاق المستأجِر، وتُرشِّح الوسيطة كل استعلام به تلقائيًا. ويفرض نمطا استجابة الخصوصيةَ:

الحالةالاستجابةالسبب
مورد في مؤسسة أخرى404لا يُكشف الوجود أبدًا عبر حدود المؤسسات
مورد في مؤسستك لكن دورك لا يصله403المورد موجود؛ لكن صلاحياتك لا تصله

404 لا تعني «غير موجود». عبر المؤسسات، يُبلَّغ عن مورد حقيقي بـ 404 عمدًا. وداخل مؤسستك، المورد خارج المتناول يكون 403. ابنِ معالجة الأخطاء حول هذا النمط المزدوج.

لا teacherId على الصف

ليس للصف مفتاح أجنبي للمعلّم. علاقة المعلّم بالصف كثير-إلى-كثير عبر وصلة ClassTeacher. يمكن للمعلّم أن يدرّس عدّة صفوف، والتفويض يسأل دائمًا «هل يوجد صفّ ClassTeacher فعّال؟» لا «هل يطابق teacherId الصف؟». انظر إدارة الصفوف والقوائم.

الأدوار الستة

لتعداد PersonaKey ست قيم:

الدورالمستوىالوظيفة
STUDENT—يتدرّب، يجيب على التشخيصات؛ يدخل بالرمز السريع
TEACHERالصفيقرّر في كل توصية؛ يدرّس صفًّا أو أكثر
PARENT—يرى نموّ طفله
PRINCIPALالمدرسةيقود مدرسة واحدة بالضبط؛ يراجع صحة المدرسة
MANAGERالمؤسسةدور على مستوى المؤسسة، مقيَّد بمدارس محدّدة (أو على مستوى المؤسسة)
ADMINالمشغِّليزوّد المؤسسات والمدارس والصفوف والمستخدمين

التحكم بالصلاحيات: الصلاحيات تحكم نقاط النهاية، لا الأدوار

المصادقة (من أنت) منفصلة عن التفويض (ما يمكنك فعله). الهوية من requireAuth؛ والقدرة من requirePermission(code). رموز الصلاحيات تعداد مغلق من 25 قيمة. أكثرها صلةً بالمطوّر:

الصلاحيةتتيح
VIEW_ORGقراءة مؤسسة وتجميعها
MANAGE_ORGإنشاء/تحديث المؤسسات
MANAGE_SCHOOLSإنشاء/تحديث المدارس والصفوف
MANAGE_TEACHERSإسناد المعلّمين للصفوف (ClassTeacher)
MANAGE_PRINCIPALSإنشاء/إسناد المدراء
MANAGE_MANAGERSإنشاء/إسناد المنسقين
MANAGE_CLASS_STUDENTSإدارة قوائم الصفوف
SUPER_ADMINقدرة مشغِّل عبر المؤسسات (يملكها المسؤول الأول)

يسرد مرجع الواجهة البرمجية متطلّب security الدقيق لكل عملية.

بوّابات الموافقة

تتطلّب بعض الإجراءات الحسّاسة دور موافقة (قواعد APP_*). في الموجة الأولى، موافقة تفعيل المستوى الثالث للمسؤول (APPROVE_TIER_3_ACTIVATION)، ودور أخصائي القراءة يُسنَد للمسؤول عبر علامة specialistRole. هذا داخلي للمنتج غالبًا؛ ويُذكر هنا لتلمس أن المنصّة تحمل نموذج موافقة حقيقيًا.