# frozen_string_literal: true require "discourse_dev/record" require "faker" module DiscourseDev class PublicChannel < Record def initialize super(::CategoryChannel, 5) end def data chatable = Category.random { chatable: chatable, description: Faker::Lorem.paragraph, user_count: 1, name: Faker::Company.name, created_at: Faker::Time.between(from: DiscourseDev.config.start_date, to: DateTime.now), } end def create! super do |channel| Faker::Number .between(from: 5, to: 10) .times do if Faker::Boolean.boolean(true_ratio: 0.5) admin_username = begin DiscourseDev::Config.new.config[:admin][:username] rescue StandardError nil end admin_user = ::User.find_by(username: admin_username) if admin_username end Chat::ChatChannelMembershipManager.new(channel).follow(admin_user || User.new.create!) end end end end end