هناك مجموعة من الإجراءات التي أتوقع (وأود) أن تولد أحداث ويب هوك للمستخدم، لكنها لا تفعل ذلك. قبل أن أقدم تقارير عن الأخطاء (أو أقدم طلبات سحب)، أود الحصول على فكرة أفضل عن سبب ذلك.
| الإجراء | حدث المستخدم المتوقع |
|---|---|
| تم إلغاء تنشيط الحساب بواسطة المسؤول | user_logged_out |
| تم إخفاء هوية الحساب بواسطة المسؤول | user_logged_out |
| قام المستخدم بتسجيل الخروج بنفسه عبر زر “تسجيل الخروج من جميع الجلسات” | user_logged_out |
| — | — |
| تمت الإضافة إلى مجموعة | user_updated |
| تمت الإزالة من مجموعة | user_updated |
| تم زيادة/تقليل مستوى الثقة | user_updated |
| تم منح/إلغاء صلاحيات الإشراف | user_updated |
| تم منح/إلغاء صلاحيات المسؤول | user_updated |
| تم إلغاء تعليق الحساب | user_updated |
| تم إسكات/إلغاء إسكات المستخدم | user_updated |
- المجموعة الأولى المكونة من ثلاثة إجراءات هي كلها إجراءات تؤدي إلى تسجيل خروج عالمي لجميع الجلسات للمستخدم - ولكن على عكس الإجراءات المماثلة الأخرى (مثل، قام المسؤول بتسجيل خروج المستخدم)، هذه الإجراءات الثلاثة لا تولد حدث user/user_logged_out (أو أي حدث آخر).
- الإضافة/الإزالة من مجموعة تولد حدث group_user، ولكن ليس حدث user. أحداث group_user ليست مفيدة جدًا بحد ذاتها، لأنها تحتوي فقط على المعرفات الرقمية الداخلية للمجموعات والمستخدمين. من ناحية أخرى، يحتوي سجل
"user"الذي يتم إرساله عند حدوث حدث user على معلومات مفيدة جدًا لجميع المجموعات التي ينتمي إليها المستخدم، بما في ذلك أسماء المجموعات وتفاصيل حول علاقات المستخدم مع المجموعات. - عندما يتم زيادة مستوى ثقة المستخدم، يتم إصدار حدث user_promoted، والذي يحتوي على بيانات مشابهة جدًا، ولكنها ليست متطابقة تمامًا، لحدث user. عندما يتم تقليل مستوى ثقة المستخدم، لا يتم إصدار أي حدث مشابه على الإطلاق.
- لا يتم إصدار أي أحداث user عند تغيير حالة المشرف أو المسؤول. (هناك دليل غير مباشر خاص بالمستخدم على إجراءات المنح عبر أحداث group_user؛ لا يوجد دليل خاص بالمستخدم على إجراءات الإلغاء.)
- تعليق المستخدم يصدر حدث user/user_logged_out (مع حقول
"suspended_reason"و"suspended_till"تشير إلى التعليق)… ولكن لا يوجد حدث عند إلغاء تعليق المستخدم. لا يتم إصدار أي أحداث على الإطلاق عند إسكات المستخدم أو إلغاء إسكاته.
هل أي من هذه الإغفالات مقصودة؟
تفكيري العام هو “إذا تغيرت البيانات في سجل "user" لحدث user، فيجب إصدار حدث user”. من المحتمل أن يشمل ذلك المزيد من المواقف التي لا تستدعي حاليًا أحداثًا. ومع ذلك، فإن القليل الذي قمت بتفصيله في الجدول أعلاه هي الأكثر أهمية بالنسبة لي في الوقت الحالي لأنها كلها تتضمن تغييرات في حالة تفويض المستخدم.