Discourse. Користувачі, Групи, Категорії

текст перекладу

Перші кроки для отримання інформації про користувачів, групи, категорії тощо після початкової інсталяції

# Усі групи  
Group.pluck(:name)  

[  
 "everyone",  
 "trust_level_2",  
 "trust_level_3",  
 "trust_level_4",  
 "admins",  
 "staff",  
 "moderators",  
 "trust_level_0",  
 "trust_level_1"  
]
# Видимість груп  
Group.visibility_levels  
=> {:public=>0, :logged_on_users=>1, :members=>2, :staff=>3, :owners=>4}
# Кількість користувачів у групі  
Group.all.each_with_object({}) do |group, result|  
 result[group.name] = group.users.count  
end  

{  
 "everyone"=>0,  
 "trust_level_2"=>2,  
 "trust_level_3"=>2,  
 "trust_level_4"=>2,  
 "admins"=>3,  
 "staff"=>3,  
 "moderators"=>2,  
 "trust_level_0"=>4,  
 "trust_level_1"=>4  
}
# Кількість користувачів у системі  
User.count  

# Останній користувач  
User.last.email  

=> "[email protected]"
# Групи користувача  
User.last.groups.pluck(:name)  
=> ["trust_level_0", "trust_level_1"]  

User.last.trust_level  
=> 1   

User.last.admin?  
=> false  

User.last.moderator?  
=> false  

User.last.active?  
=> true  

User.last.suspended?  
=> false  

User.last.last_seen_at  
=> Wed, 22 Jan 2025 12:57:39.190562000 UTC +00:00  

# доступ до категорій  
categories = User.last.groups.map(&:categories).flatten.uniq  
categories.map(&:name)  
=> []

Рівні довіри в Discourse:

  • Рівень довіри 0 (Новий користувач):
    Нещодавно зареєстрований. Обмежені дії (наприклад, обмежені посилання/зображення). Не може надсилати приватні повідомлення.
  • Рівень довіри 1 (Основний користувач):
    Доступ до основних функцій: створення тем, надсилання приватних повідомлень, завантаження зображень і вкладень.
  • Рівень довіри 2 (Член):
    Активний користувач. Може запрошувати інших до тем, ігнорувати користувачів і позначати теми як відвідані.
  • Рівень довіри 3 (Звичайний):
    Дуже активний. Може редагувати заголовки тем, переміщати теми між категоріями та тимчасово приховувати пости.
  • Рівень довіри 4 (Лідер):
    Найвищий рівень довіри, призначений вручну. Майже повні права модерації: редагувати будь-який пост, закривати/відкривати теми.

Категорії

pic

Category.count  
=> 4  

Category.pluck(:name)  
=> ["Site Feedback", "Uncategorized", "General", "Staff"]
Category.all.each do |category|  
 puts "Категорія: #{category.name}, Теми: #{category.topic_count}"  
end  

Категорія: Site Feedback, Теми: 0  
Категорія: Uncategorized, Теми: 0  
Категорія: General, Теми: 1  
Категорія: Staff, Теми: 2

Тепер я/ви знаєте про основні моделі в Discourse.
Успіхів у програмуванні!

Перекладено з: Discourse. Users, Groups, Categories

Leave a Reply

Your email address will not be published. Required fields are marked *