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