غياب أحداث المستخدم في الـ webhook - عن قصد أم سهو؟

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

الإجراء حدث المستخدم المتوقع
تم إلغاء تنشيط الحساب بواسطة المسؤول 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”. من المحتمل أن يشمل ذلك المزيد من المواقف التي لا تستدعي حاليًا أحداثًا. ومع ذلك، فإن القليل الذي قمت بتفصيله في الجدول أعلاه هي الأكثر أهمية بالنسبة لي في الوقت الحالي لأنها كلها تتضمن تغييرات في حالة تفويض المستخدم.

5 إعجابات