mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 20:33:38 +08:00
DEV: fix chat:*:populate rake tasks (#29740)
This commit is contained in:
parent
b4156107df
commit
fea82d04ec
|
@ -5,20 +5,17 @@ require "faker"
|
|||
|
||||
module DiscourseDev
|
||||
class CategoryChannel < Record
|
||||
def initialize
|
||||
super(::Chat::CategoryChannel, 5)
|
||||
def initialize(ignore_current_count: true, count: 5, channel_id: nil)
|
||||
super(::Chat::CategoryChannel, count)
|
||||
end
|
||||
|
||||
def data
|
||||
chatable = Category.random
|
||||
description = Faker::Lorem.sentence
|
||||
name = Faker::Company.name
|
||||
created_at = Faker::Time.between(from: DiscourseDev.config.start_date, to: DateTime.now)
|
||||
|
||||
{
|
||||
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),
|
||||
}
|
||||
{ chatable:, description:, user_count: 1, name:, created_at: }
|
||||
end
|
||||
|
||||
def create!
|
||||
|
@ -30,14 +27,19 @@ module DiscourseDev
|
|||
if Faker::Boolean.boolean(true_ratio: 0.5)
|
||||
admin_username =
|
||||
begin
|
||||
DiscourseDev::Config.new.config[:admin][:username]
|
||||
DiscourseDev.config.admin[:username]
|
||||
rescue StandardError
|
||||
nil
|
||||
end
|
||||
admin_user = ::User.find_by(username: admin_username) if admin_username
|
||||
admin_user = ::User.find_by_username(admin_username) if admin_username
|
||||
end
|
||||
|
||||
user = admin_user || User.new(username: Faker::Internet.username(specifier: 10)).create!
|
||||
user =
|
||||
admin_user ||
|
||||
::User.create!(
|
||||
email: Faker::Internet.email,
|
||||
username: Faker::Internet.username(specifier: 10),
|
||||
)
|
||||
Chat::ChannelMembershipManager.new(channel).follow(user)
|
||||
users << user
|
||||
end
|
||||
|
@ -47,8 +49,10 @@ module DiscourseDev
|
|||
.times do
|
||||
Chat::CreateMessage.call(
|
||||
guardian: users.sample.guardian,
|
||||
chat_channel_id: channel.id,
|
||||
message: Faker::Lorem.paragraph,
|
||||
params: {
|
||||
chat_channel_id: channel.id,
|
||||
message: Faker::Lorem.sentence,
|
||||
},
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,24 +3,16 @@
|
|||
if Discourse.allow_dev_populate?
|
||||
desc "Generates sample messages in channels"
|
||||
task "chat:message:populate", %i[channel_id count] => ["db:load_config"] do |_, args|
|
||||
DiscourseDev::Message.populate!(
|
||||
ignore_current_count: true,
|
||||
channel_id: args[:channel_id],
|
||||
count: args[:count],
|
||||
)
|
||||
DiscourseDev::Message.populate!(channel_id: args[:channel_id], count: args[:count])
|
||||
end
|
||||
|
||||
desc "Generates random channels from categories"
|
||||
task "chat:category_channel:populate" => ["db:load_config"] do |_, args|
|
||||
DiscourseDev::CategoryChannel.populate!(ignore_current_count: true)
|
||||
DiscourseDev::CategoryChannel.populate!
|
||||
end
|
||||
|
||||
desc "Creates a thread with sample messages in a channel"
|
||||
task "chat:thread:populate", %i[channel_id message_count] => ["db:load_config"] do |_, args|
|
||||
DiscourseDev::Thread.populate!(
|
||||
ignore_current_count: true,
|
||||
channel_id: args[:channel_id],
|
||||
message_count: args[:message_count],
|
||||
)
|
||||
task "chat:thread:populate", %i[channel_id count] => ["db:load_config"] do |_, args|
|
||||
DiscourseDev::Thread.populate!(channel_id: args[:channel_id], count: args[:count])
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user