Class: CollavreSlack::SlackMessagesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/collavre_slack/slack_messages_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



5
6
7
8
9
10
11
12
13
14
15
16
# File 'app/controllers/collavre_slack/slack_messages_controller.rb', line 5

def create
  unless @creative.has_permission?(Current.user, :feedback)
    render json: { error: I18n.t("collavre_slack.errors.forbidden") }, status: :forbidden
    return
  end

  channel_link = SlackChannelLink.find_by!(creative: @creative)
  dispatcher = SlackMessageDispatcher.new(channel_link: channel_link)
  log = dispatcher.enqueue(message: params[:message], sender: Current.user)

  render json: { status: "queued", message_log_id: log.id }, status: :accepted
end