웹훅 사용자 이벤트가 누락되었습니다 - 의도된 것인지, 실수인지?

웹훅 user 이벤트를 생성할 것으로 기대(하고, 원)하는 동작들이 여러 가지 있지만, 실제로는 생성되지 않습니다. 버그 리포트를 제출하거나 PR을 올리기 전에, 그 이유가 무엇인지 좀 더 파악하고 싶습니다.

동작 예상되는 user 이벤트
관리자가 계정을 비활성화 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 이벤트 자체는 그룹과 사용자의 내부 숫자 ID만 포함하고 있어 큰 도움이 되지 않습니다. 반면, user 이벤트 발생 시 전송되는 "user" 레코드에는 사용자가 속한 모든 그룹에 대한 매우 유용한 정보(그룹 이름 및 사용자가 해당 그룹과의 관계에 대한 세부 정보 포함)가 포함되어 있습니다.
  • 사용자의 신뢰 수준이 증가하면 user_promoted 이벤트가 발생하며, 이는 user 이벤트와 매우 유사하지만 완전히 동일하지는 않은 데이터를 포함합니다. 사용자의 신뢰 수준이 감소하는 경우에는 유사한 이벤트가 전혀 발생하지 않습니다.
  • 모더레이터 또는 관리자 권한이 변경될 때 user 이벤트는 발생하지 않습니다. (부여 동작에 대해서는 group_user 이벤트를 통해 간접적으로 사용자 관련 증거를 얻을 수 있지만, 회수 동작에 대한 사용자 관련 증거는 없습니다.)
  • 사용자를 정지할 때는 user/user_logged_out 이벤트가 발생하지만("suspended_reason" 및 "suspended_till" 필드로 정지를 나타냄)… 사용자가 정지 해제될 때는 이벤트가 발생하지 않습니다. 사용자가 무음 설정 또는 해제될 때는 어떤 이벤트도 발생하지 않습니다.

이러한 누락 중 일부는 의도적인 것인가요?

제 일반적인 생각은 "user 이벤트의 "user" 레코드에 포함된 데이터가 변경되었다면, user 이벤트가 발생해야 한다"는 것입니다. 이는 현재 이벤트를 유발하지 않는 더 많은 상황을 포괄할 가능성이 있습니다. 그러나 위에서 표로 나열한 몇 가지 항목은 모두 사용자의 권한 상태 변경과 관련되어 있어 현재로서는 제가 가장 중요하게 생각하는 부분입니다.

5개의 좋아요