discourse/plugins/automation/app/controllers/discourse_automation/admin_triggerables_controller.rb
Osama Sayegh 3d4faf3272
FEATURE: Merge discourse-automation (#26432)
Automation (previously known as discourse-automation) is now a core plugin.
2024-04-03 18:20:43 +03:00

31 lines
974 B
Ruby

# frozen_string_literal: true
module DiscourseAutomation
class AdminTriggerablesController < ::Admin::AdminController
requires_plugin DiscourseAutomation::PLUGIN_NAME
def index
if params[:automation_id].present?
automation = DiscourseAutomation::Automation.find(params[:automation_id])
scriptable = automation.scriptable
triggerables = scriptable.triggerables
else
triggerables = DiscourseAutomation::Triggerable.all
end
triggerables =
triggerables.map do |s|
id = s.to_s.gsub(/^__triggerable_/, "")
{
id: id,
name: I18n.t("discourse_automation.triggerables.#{id}.title"),
description: I18n.t("discourse_automation.triggerables.#{id}.description", default: ""),
doc: I18n.t("discourse_automation.triggerables.#{id}.doc", default: ""),
}
end
render_json_dump(triggerables: triggerables)
end
end
end