반응(Reactions)을 이용해 배지 부여하기

도와주셔서 감사합니다! 우리가 원래 주제에서 벗어나고 있으니, 이 내용은 새 주제로 옮기는 것이 좋을 것 같습니다. 하지만 ChatGPT의 도움을 받아 작성한 쿼리를 공유합니다. 이 쿼리는 특정 반응을 주거나 받은 사용자, 반응 횟수, 반응 날짜, 그리고 해당 게시물로 가는 URL을 반환합니다. 다만, 게시물 URL을 클릭 가능한 링크로 만드는 것만은 해결하지 못했는데, 이는 주제 URL에만 적용되는 것 같습니다.

WITH reaction_pairs AS (
    SELECT 
      p.user_id AS received_reaction_user_id, 
      dru.user_id AS gave_reaction_user_id, 
      dr.post_id,
      t.id AS topic_id,
      t.slug AS topic_slug,
      p.post_number,
      dru.created_at AS reaction_date
    FROM 
      discourse_reactions_reactions dr
      JOIN discourse_reactions_reaction_users dru ON dr.id = dru.reaction_id
      JOIN posts p ON dr.post_id = p.id
      JOIN topics t ON p.topic_id = t.id
    WHERE 
      dr.reaction_value = 'Your_Specific_Reaction_Here'
)
SELECT 
  ur1.id AS user_id, 
  ur2.username AS "반응을 준 사용자",
  'Your_Community_URL' || 't/' || rp.topic_slug || '/' || rp.topic_id || '/' || rp.post_number AS "게시물 URL",
  rp.reaction_date AS "반응 날짜",
  COUNT(*) AS "반응 수"
FROM 
  reaction_pairs rp
  JOIN users ur1 ON rp.received_reaction_user_id = ur1.id
  JOIN users ur2 ON rp.gave_reaction_user_id = ur2.id
GROUP BY 
  ur1.id, 
  ur2.username, 
  rp.topic_slug, 
  rp.topic_id, 
  rp.post_number, 
  rp.reaction_date
ORDER BY 
  "반응 수" DESC, "반응 날짜" DESC