Class: Decidim::Blogs::PublishPostJob

Inherits:
ApplicationJob show all
Defined in:
decidim-blogs/app/jobs/decidim/blogs/publish_post_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(post_id, current_user, published_date) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'decidim-blogs/app/jobs/decidim/blogs/publish_post_job.rb', line 8

def perform(post_id, current_user, published_date)
  resource = Decidim::Blogs::Post.find(post_id)

  return unless resource.published?
  return unless resource.published_at == published_date

  Decidim.traceability.perform_action!(:publish, resource, current_user, visibility: "all") do
    resource
  end

  Decidim::EventsManager.publish(
    event: "decidim.events.blogs.post_created",
    event_class: Decidim::Blogs::CreatePostEvent,
    resource:,
    followers: resource.participatory_space.followers
  )
end