Observadores da categoria

Assistentes de categoria:

Veja o nível de notificação dos usuários de uma categoria (ou de todas as categorias, por padrão).

Justificativa: usamos categorias para “grupos de trabalho” aos quais todos podem “aderir” (acompanhar ou observar). Portanto, um membro de um grupo de trabalho é alguém que tem um nível de notificação definido para essa categoria, e esta consulta lista os membros.

-- [params]
-- null int :category 

select category_id, cu.user_id,
CASE notification_level 
  WHEN 1 THEN 'regular'
  WHEN 2 THEN 'tracking'
  WHEN 3 THEN 'watching'
  WHEN 4 THEN 'watching_first_post'
END as level

from category_users cu
join categories on category_id=categories.id
where (:category is null OR category_id= :category)
order by category_id, notification_level desc
5 curtidas