chatwoot-develop/enterprise/app/controllers/api/v1/accounts/captain/inboxes_controller.rb
2026-01-14 10:23:50 -03:00

53 lines
1.3 KiB
Ruby
Executable File

class Api::V1::Accounts::Captain::InboxesController < Api::V1::Accounts::BaseController
before_action :current_account
before_action -> { check_authorization(Captain::Assistant) }
before_action :set_assistant
def index
@captain_inboxes = @assistant.captain_inboxes.includes(:inbox).order(created_at: :desc)
end
def create
inbox = Current.account.inboxes.find(assistant_params[:inbox_id])
@captain_inbox = @assistant.captain_inboxes.build(
inbox: inbox,
captain_unit_id: assistant_params[:captain_unit_id].presence
)
@captain_inbox.save!
end
def update
@captain_inbox = @assistant.captain_inboxes.find(permitted_params[:id])
@captain_inbox.update!(update_params)
end
def destroy
@captain_inbox = @assistant.captain_inboxes.find(permitted_params[:id])
@captain_inbox.destroy!
head :no_content
end
private
def set_assistant
@assistant = account_assistants.find(permitted_params[:assistant_id])
end
def account_assistants
@account_assistants ||= Current.account.captain_assistants
end
def permitted_params
params.permit(:assistant_id, :id, :account_id, :inbox_id)
end
def assistant_params
params.require(:inbox).permit(:inbox_id, :captain_unit_id)
end
def update_params
params.require(:inbox).permit(:always_use_reminder_tool, :captain_unit_id)
end
end