chatwoot-develop/enterprise/app/controllers/api/v1/accounts/captain/units_controller.rb

55 lines
1.6 KiB
Ruby

module Api
module V1
module Accounts
module Captain
class UnitsController < Api::V1::Accounts::BaseController
before_action :current_account
before_action -> { check_authorization(::Captain::Assistant) }
def index
@units = if params[:all]
Current.account.captain_units
else
Current.account.captain_units.active.select(:id, :name)
end
render json: @units
end
def create
@unit = Current.account.captain_units.new(unit_params)
if @unit.save
render json: @unit
else
render json: { error: @unit.errors.full_messages.join(', ') }, status: :unprocessable_entity
end
end
def update
@unit = Current.account.captain_units.find(params[:id])
if @unit.update(unit_params)
render json: @unit
else
render json: { error: @unit.errors.full_messages.join(', ') }, status: :unprocessable_entity
end
end
private
def unit_params
params.require(:unit).permit(
:name, :status, :captain_brand_id,
:reservations_sync_enabled,
:plug_play_id, :plug_play_token,
:inter_client_id, :inter_client_secret,
:inter_pix_key, :inter_cert_path,
:inter_key_path, :inter_account_number,
:webhook_url, :inbox_id, :leader_whatsapp, :reservation_source_tag
)
end
end
end
end
end
end