إزالة مستخدم من مجموعة مع تأثير مستوى الثقة لا يعيد حساب عضويات المجموعات التلقائية للمستخدمين

لقد قرأت الموضوع، Group trust level حيث يُقال،

بالإضافة إلى هذا الموضوع الأقدم، Should losing group membership unlock trust level?

حيث أن الوضع الموصوف إلى حد كبير يتوافق مع تجربتي،

ولكن، ما وجدته في نسخة Discourse الخاصة بي من الاختبار هو هذا…

مع جميع إعدادات مستوى الثقة الافتراضية، لدي حساب TL1 (U) ومجموعة تسمى tl3 تمنح Trust_Level_3.

  1. الظروف الأولية
    • مستوى الثقة: 1: مستخدم أساسي غير مقفل
    • المجموعات التلقائية: trust_level_0، trust_level_1
    • المجموعات المخصصة: لا شيء
  2. إضافة U إلى tl3
    • مستوى الثقة: 3: منتظم غير مقفل
    • المجموعات التلقائية: trust_level_0، trust_level_1، trust_level_2، trust_level_3
    • المجموعات المخصصة: tl3
  3. إزالة U من tl3
    • مستوى الثقة: 2: عضو غير مقفل
    • المجموعات التلقائية: trust_level_0، trust_level_1، trust_level_2، trust_level_3
    • المجموعات المخصصة: لا شيء
    • ملاحظة: على الرغم من أن مستوى الثقة هو 2، إلا أن المستخدم لا يزال في المجموعة التلقائية trust_level_3. مع فهم أنه لا يمكن خفض رتبة المستخدم إلى TL1 بدون مستوى ثقة مقفل، فإن النتيجة المتوقعة هنا هي أن المستخدم يجب أن يفقد فورًا عضويته في المجموعة التلقائية trust_level_2.
  4. قفل مستوى ثقة U
    • مستوى الثقة: 2: عضو مقفل
    • المجموعات التلقائية: trust_level_0، trust_level_1، trust_level_2، trust_level_3
    • المجموعات المخصصة: لا شيء
    • ملاحظة: على الرغم من أن مستوى الثقة هو 2: عضو، إلا أن المستخدم لا يزال في المجموعة التلقائية trust_level_3.
  5. إلغاء قفل مستوى ثقة U
    • مستوى الثقة: 1: أساسي غير مقفل
    • المجموعات التلقائية: trust_level_0، trust_level_1
    • المجموعات المخصصة: لا شيء

لذلك، عند إلغاء تسجيل مستخدم من مجموعة، تتم إعادة حساب مستوى الثقة تلقائيًا وفوريًا، ولكن لا تتم إعادة حساب عضوية المجموعة التلقائية إلا إذا شهد مستوى ثقة المستخدم حدث إلغاء قفل.

افتراضي هو أن عضويات المجموعات التلقائية يتم حسابها على مستوى النظام لجميع المستخدمين مرة واحدة يوميًا وسيتم تصحيح عضويات المجموعات التلقائية في ذلك الوقت. ولكن يبدو أن عضويات المجموعات التلقائية يجب أن يتم تشغيلها إما عند الإزالة من مجموعة ذات تأثير على مستوى الثقة أو يتم تشغيلها فورًا عند أي تغيير في مستوى الثقة، وليس فقط عند زيادة مستوى الثقة.

لذلك فإن استدعاء الواجهة الخلفية لـ،

POST {{site}}/admin/users/{{userId}}/groups

يحدّث عضويات المجموعات التلقائية، ولكن

DELETE {{site}}/admin/users/{{usedId}}/groups/{{groupId}}

لا يفعل ذلك، وهو ما يبدو خطأ، خاصة إذا كنت تستخدم مجموعات مستوى الثقة التلقائية للتحكم في الوصول.

وللإكمال، من الواضح أن الاستدعاءات لـ،

PUT {{site}}/admin/users/{{userId}}/trust_level

والتي يتم استدعاؤها عند تغيير مستوى ثقة المستخدم يدويًا في واجهة المسؤول، تعيد حساب عضويات المجموعات التلقائية فورًا كما هو متوقع.

إعجابَين (2)

نعم، الشيء الأساسي لتجربة المطور هنا هو أنه يجب علينا منع هذا العبث بالمجموعات التلقائية وإجبارك على استخدام PUT {{site}}/admin/users/{{userId}}/trust_level فقط لنقل الأشياء. إرجاع 422 أو شيء من هذا القبيل إذا حاول الأشخاص استخدام نقاط النهاية لإضافة أشخاص يدويًا إلى المجموعات أو إزالتهم.

يجب دائمًا إلغاء مستوى الثقة من هنا:

لأن هذا يدعم أيضًا القفل وهو أمر بالغ الأهمية.

أتفهم ذلك.
أريد فقط أن أكون واضحًا، تم تسجيل كل ما يتعلق بواجهة برمجة التطبيقات (API) عند إجراء إجراءات على عضويات المجموعات من خلال واجهة مستخدم عضويات المجموعات. أنا لا أقوم فعليًا بتنفيذ هذه كاستدعاءات لواجهة برمجة التطبيقات، بل هي مجرد استدعاءات لواجهة برمجة التطبيقات التي يتم إجراؤها عند استخدام واجهة المستخدم.

لذلك، أعتقد أنه إذا كانت هناك مجموعة ذات تأثير مستوى الثقة 3 (TL3)، فإن النقر على هذا الزر،

يجب أن يزيلهم فورًا من مجموعة trust_level_3 إذا لم يستوفوا بخلاف ذلك متطلبات مستوى الثقة 3 أو كان مستوى الثقة هذا مقفلاً.

حالة الاستخدام المتخيلة هنا هي السماح، على سبيل المثال، لمجموعة من مستخدمي مستوى الثقة 4 (TL4) بأن يتم تعيينهم كمالكين لمجموعة ذات تأثير مستوى الثقة 3 (TL3) حتى يتمكنوا من ترقية الأشخاص يدويًا إلى مستوى الثقة 3 (TL3).

جانب الترقية يعمل، ولكن نفس هؤلاء المستخدمين الذين يزيلون شخصًا ما من مجموعة تأثير مستوى الثقة 3 (TL3) لا يكون له تأثير فوري في إزالة المستخدم المتأثر من trust_level_3.

الفهم الكامل لهذا هو استخدام غير رسمي للميزة.

يبدو الأمر غير متسق أن يتمكن المستخدم من تغيير مستوى الثقة الخاص به من 3 إلى 2 والبقاء في مجموعة trust_level_3 حتى حدث إعادة الحساب التالي.

إعجابَين (2)