المجموعات والاجتماعات

عضوية المجموعة والأذونات المحددة

يتم تتبع الارتباط والقيادة داخل المجموعات على مستوى الاتصال الفردي عبر تقاطع 'أعضاء_المجموعة'.

عضوية المجموعة والأذونات المحددة

يتم تتبع الارتباط والقيادة داخل المجموعات على مستوى الاتصال الفردي عبر تقاطع “أعضاء_المجموعة”.


1. أدوار المجموعة (الدور)

يتم تعيين دور لكل عضو في المجموعة في “group_members” والذي يحدد قدراته وتعيين الدليل:

  • القائد: الخادم الرئيسي المسؤول عن المجموعة. لديه حق الوصول لإدارة القوائم وتحرير التفاصيل وتسجيل حضور الاجتماع.
  • co_leader: قائد مساعد يتمتع بصلاحية تشغيلية مماثلة لدعم أنشطة المجموعة.
  • العضو: المشارك العام المسجل في المجموعة.
  • المتطوع: مساعد أو خادم عرضي ملحق بالمجموعة.

2. أذونات RBAC على نطاق المجموعة

يدعم نظام RBAC الديناميكي الخاص بشركة Kononia منح إذن تحديد النطاق لكيانات محددة. يتم تعريف ذلك في public.user_church_roles باستخدام عمود group_id.

[جلسة المستخدم]

      ├─► الدور العام: (group_id = NULL) ──► الوصول الشامل (جميع المجموعات)

      └─► الدور المحدد: (group_id = 123) ──► الوصول المحدد (المجموعة 123 فقط)

الوصول إلى القيادة ضمن النطاق

  • إدارة القائمة والتفاصيل: المستخدم الذي يتمتع بدور “خادم المجموعة” الذي تم تحديد نطاقه لمعرف group_id محدد، يرث أذونات groups.view وgroups.manage فقط لهذه المجموعة.
  • عزل التحكم الإداري: يمكن للقادة ذوي النطاق إضافة أعضاء، وتحديث تفاصيل الاجتماع، ومراجعة التقارير للمجموعة المخصصة لهم، ولكنهم محظورون على تحرير المجموعات الأخرى في المؤسسة أو عرضها.
  • تحليل واجهة المستخدم: يقوم الخطاف usePermissions بتقييم النطاقات تلقائيًا عبر canForGroup(permissionKey, groupId)، مما يتيح عناصر التحكم بشكل انتقائي في صفحات تفاصيل المجموعة.